pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/pkgtools/url2pkg/files pkgtools/url2pkg: add a few mor...
details: https://anonhg.NetBSD.org/pkgsrc/rev/6ed15c8077b0
branches: trunk
changeset: 399916:6ed15c8077b0
user: rillig <rillig%pkgsrc.org@localhost>
date: Sun Aug 18 18:02:48 2019 +0000
description:
pkgtools/url2pkg: add a few more tests
diffstat:
pkgtools/url2pkg/files/url2pkg.pl | 18 ++++++------
pkgtools/url2pkg/files/url2pkg.t | 58 ++++++++++++++++++++++++++++++++++++--
2 files changed, 64 insertions(+), 12 deletions(-)
diffs (121 lines):
diff -r da47a0a2782d -r 6ed15c8077b0 pkgtools/url2pkg/files/url2pkg.pl
--- a/pkgtools/url2pkg/files/url2pkg.pl Sun Aug 18 17:57:55 2019 +0000
+++ b/pkgtools/url2pkg/files/url2pkg.pl Sun Aug 18 18:02:48 2019 +0000
@@ -1,5 +1,5 @@
#! @PERL5@
-# $NetBSD: url2pkg.pl,v 1.61 2019/08/18 17:34:13 rillig Exp $
+# $NetBSD: url2pkg.pl,v 1.62 2019/08/18 18:02:48 rillig Exp $
#
# Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -647,15 +647,15 @@
my $pkgbase1 = substr($pkgbase, 0, 1);
my $pkgversion_norev = $old{"DISTNAME"} =~ s/^v//r;
- my @tx_lines = @$lines;
- if (lines_remove(\@tx_lines, "GITHUB_PROJECT")
- && lines_set(\@tx_lines, "DISTNAME", "$pkgbase-$pkgversion_norev")
- && lines_set(\@tx_lines, "PKGNAME", "\${PYPKGPREFIX}-\${DISTNAME}")
- && lines_set(\@tx_lines, "MASTER_SITES", "\${MASTER_SITE_PYPI:=$pkgbase1/$pkgbase/}")
- && lines_remove(\@tx_lines, "DIST_SUBDIR")
- && (lines_remove_if(\@tx_lines, "EXTRACT_SUFX", ".zip") || true)) {
+ my @lines = @$lines;
+ if (lines_remove(\@lines, "GITHUB_PROJECT")
+ && lines_set(\@lines, "DISTNAME", "$pkgbase-$pkgversion_norev")
+ && lines_set(\@lines, "PKGNAME", "\${PYPKGPREFIX}-\${DISTNAME}")
+ && lines_set(\@lines, "MASTER_SITES", "\${MASTER_SITE_PYPI:=$pkgbase1/$pkgbase/}")
+ && lines_remove(\@lines, "DIST_SUBDIR")
+ && (lines_remove_if(\@lines, "EXTRACT_SUFX", ".zip") || true)) {
- @$lines = @tx_lines;
+ @$lines = @lines;
$regenerate_distinfo = true
}
}
diff -r da47a0a2782d -r 6ed15c8077b0 pkgtools/url2pkg/files/url2pkg.t
--- a/pkgtools/url2pkg/files/url2pkg.t Sun Aug 18 17:57:55 2019 +0000
+++ b/pkgtools/url2pkg/files/url2pkg.t Sun Aug 18 18:02:48 2019 +0000
@@ -1,5 +1,5 @@
# -*- perl -*-
-# $NetBSD: url2pkg.t,v 1.5 2019/08/18 17:34:13 rillig Exp $
+# $NetBSD: url2pkg.t,v 1.6 2019/08/18 18:02:48 rillig Exp $
require "url2pkg.pl";
@@ -83,7 +83,7 @@
is_deeply($lines, ["VARNAME+=\tvalue appended"]);
}
-sub test_generate_initial_package_Makefile_lines__GitHub() {
+sub test_generate_initial_package_Makefile_lines__GitHub_archive() {
my $url = "https://github.com/org/proj/archive/v1.0.0.tar.gz";
my @lines = generate_initial_package_Makefile_lines($url);
@@ -107,6 +107,56 @@
]);
}
+sub test_generate_initial_package_Makefile_lines__GitHub_release_containing_project_name() {
+ my $url = "https://github.com/org/proj/releases/download/1.0.0/proj.zip";
+
+ my @lines = generate_initial_package_Makefile_lines($url);
+
+ is_deeply(\@lines, [
+ "# \$" . "NetBSD\$",
+ "",
+ "DISTNAME=\tproj",
+ "CATEGORIES=\tpkgtools",
+ "MASTER_SITES=\t\${MASTER_SITE_GITHUB:=org/}",
+ "GITHUB_RELEASE=\t1.0.0",
+ "EXTRACT_SUFX=\t.zip",
+ "",
+ "MAINTAINER=\tINSERT_YOUR_MAIL_ADDRESS_HERE",
+ "HOMEPAGE=\thttps://github.com/org/proj/",
+ "COMMENT=\tTODO: Short description of the package",
+ "#LICENSE=\t# TODO: (see mk/license.mk)",
+ "",
+ "# url2pkg-marker (please do not remove this line.)",
+ ".include \"../../mk/bsd.pkg.mk\""
+ ]);
+}
+
+sub test_generate_initial_package_Makefile_lines__GitHub_release_not_containing_project_name() {
+ my $url = "https://github.com/org/proj/releases/download/1.0.0/data.zip";
+
+ my @lines = generate_initial_package_Makefile_lines($url);
+
+ is_deeply(\@lines, [
+ "# \$" . "NetBSD\$",
+ "",
+ "GITHUB_PROJECT=\tproj",
+ "DISTNAME=\tdata",
+ "CATEGORIES=\tpkgtools",
+ "MASTER_SITES=\t\${MASTER_SITE_GITHUB:=org/}",
+ "GITHUB_RELEASE=\t1.0.0",
+ "EXTRACT_SUFX=\t.zip",
+ "DIST_SUBDIR=\t\${GITHUB_PROJECT}",
+ "",
+ "MAINTAINER=\tINSERT_YOUR_MAIL_ADDRESS_HERE",
+ "HOMEPAGE=\thttps://github.com/org/proj/",
+ "COMMENT=\tTODO: Short description of the package",
+ "#LICENSE=\t# TODO: (see mk/license.mk)",
+ "",
+ "# url2pkg-marker (please do not remove this line.)",
+ ".include \"../../mk/bsd.pkg.mk\""
+ ]);
+}
+
sub test_all() {
my $pkgsrcdir = $ENV{"PKGSRCDIR"} or die;
chdir("$pkgsrcdir/pkgtools/url2pkg") or die;
@@ -118,7 +168,9 @@
test_lines_append__only_comment();
test_lines_append__value_with_comment();
test_lines_append__value_without_comment();
- test_generate_initial_package_Makefile_lines__GitHub();
+ test_generate_initial_package_Makefile_lines__GitHub_archive();
+ test_generate_initial_package_Makefile_lines__GitHub_release_containing_project_name();
+ test_generate_initial_package_Makefile_lines__GitHub_release_not_containing_project_name();
done_testing();
}
Home |
Main Index |
Thread Index |
Old Index