Sat Jun 11 10:48:28 2016 UTC ()
Added regression test for portability checks.


(rillig)
diff -r1.17 -r1.18 pkgsrc/regress/Makefile
diff -r0 -r1.1 pkgsrc/regress/check-portability/Makefile
diff -r0 -r1.1 pkgsrc/regress/check-portability/spec
diff -r0 -r1.1 pkgsrc/regress/check-portability/files/portability-ok
diff -r0 -r1.1 pkgsrc/regress/check-portability/files/portability-test-eqeq

cvs diff -r1.17 -r1.18 pkgsrc/regress/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/regress/Attic/Makefile 2007/08/13 08:12:48 1.17
+++ pkgsrc/regress/Attic/Makefile 2016/06/11 10:48:28 1.18
@@ -1,21 +1,22 @@ @@ -1,21 +1,22 @@
1# $NetBSD: Makefile,v 1.17 2007/08/13 08:12:48 rillig Exp $ 1# $NetBSD: Makefile,v 1.18 2016/06/11 10:48:28 rillig Exp $
2# 2#
3 3
4COMMENT= Regression tests for pkgsrc infrastructure 4COMMENT= Regression tests for pkgsrc infrastructure
5 5
6SUBDIR+= barrier 6SUBDIR+= barrier
7SUBDIR+= bootstrap-install-sh 7SUBDIR+= bootstrap-install-sh
8SUBDIR+= buildlink-libtool 8SUBDIR+= buildlink-libtool
9SUBDIR+= buildlink-transform 9SUBDIR+= buildlink-transform
10SUBDIR+= buildlink-unwrap 10SUBDIR+= buildlink-unwrap
 11SUBDIR+= check-portability
11SUBDIR+= compiler 12SUBDIR+= compiler
12SUBDIR+= ignore-tools 13SUBDIR+= ignore-tools
13SUBDIR+= make-env-phases 14SUBDIR+= make-env-phases
14SUBDIR+= make-quoting 15SUBDIR+= make-quoting
15SUBDIR+= pkg-options 16SUBDIR+= pkg-options
16SUBDIR+= pkgfail 17SUBDIR+= pkgfail
17SUBDIR+= print-plist 18SUBDIR+= print-plist
18SUBDIR+= subst 19SUBDIR+= subst
19SUBDIR+= tools 20SUBDIR+= tools
20 21
21.include "../mk/misc/category.mk" 22.include "../mk/misc/category.mk"

File Added: pkgsrc/regress/check-portability/Attic/Makefile
# $NetBSD: Makefile,v 1.1 2016/06/11 10:48:28 rillig Exp $

DISTNAME=	check-portability-1.0
CATEGORIES=	regress
MASTER_SITES=	# none
DISTFILES=	# none

MAINTAINER=	pkgsrc-users@NetBSD.org
COMMENT=	Tests whether the portability check works as expected
LICENSE=	2-clause-bsd

PLIST_SRC=	# none
NO_CHECKSUM=	yes

.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/regress/check-portability/spec
#! /bin/sh
# $NetBSD: spec,v 1.1 2016/06/11 10:48:28 rillig Exp $
set -eu

check_portability() {
	env	CK_FNAME="$1" \
		CK_PROGNAME="check-portability.awk" \
		awk	-f "$PKGSRCDIR/mk/check/check-subr.awk" \
			-f "$PKGSRCDIR/mk/check/check-portability.awk" \
			"$@"

	# See http://stackoverflow.com/q/4072984
	echo "result $? for $1"
}

do_test() {
	check_portability "files/portability-ok"
	check_portability "files/portability-test-eqeq"
} >$TEST_OUTFILE 2>&1

check_result() {
	output_require "0 for files/portability-ok"
	output_require "files/portability-test-eqeq: if \["
	output_require "files/portability-test-eqeq: elif test"
	output_require "result 1 for files/portability-test-eqeq"
}

File Added: pkgsrc/regress/check-portability/files/portability-ok
# $NetBSD: portability-ok,v 1.1 2016/06/11 10:48:28 rillig Exp $

if [ "$var" = value ]; then
  ...
elif test "$var" = value ]; then
  ...
fi

File Added: pkgsrc/regress/check-portability/files/portability-test-eqeq
# $NetBSD: portability-test-eqeq,v 1.1 2016/06/11 10:48:28 rillig Exp $

if [ $HAVE_STDIO_H == yes ]; then
  ...
elif test $HAVE_STDLIB_H == yes ]; then
  ...
fi