summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--regress/Makefile3
-rw-r--r--regress/ignore-tools/Makefile17
-rw-r--r--regress/ignore-tools/spec39
3 files changed, 58 insertions, 1 deletions
diff --git a/regress/Makefile b/regress/Makefile
index 12ec47ff1cd..fd987c1689f 100644
--- a/regress/Makefile
+++ b/regress/Makefile
@@ -1,10 +1,11 @@
-# $NetBSD: Makefile,v 1.6 2004/09/08 15:04:45 jmmv Exp $
+# $NetBSD: Makefile,v 1.7 2005/02/12 14:45:53 gavan Exp $
COMMENT= Regression tests for pkgsrc infrastructure
SUBDIR+= buildlink-libtool
SUBDIR+= buildlink-transform
SUBDIR+= buildlink-unwrap
+SUBDIR+= ignore-tools
SUBDIR+= pkgfail
SUBDIR+= print-plist
diff --git a/regress/ignore-tools/Makefile b/regress/ignore-tools/Makefile
new file mode 100644
index 00000000000..2ccf41a389e
--- /dev/null
+++ b/regress/ignore-tools/Makefile
@@ -0,0 +1,17 @@
+# $NetBSD: Makefile,v 1.1 2005/02/12 14:45:53 gavan Exp $
+#
+
+DISTNAME= regress-ignore-tools-0.0
+CATEGORIES= regress
+DISTFILES= #empty
+
+MAINTAINER= gavan@NetBSD.org
+COMMENT= Test circular dependency avoidance logic in tools.mk
+
+USE_GNU_TOOLS+= lex
+
+# Force dependencies
+_TOOLS_OPSYS_INCOMPAT.lex+= *-*-*
+_TOOLS_OPSYS_INCOMPAT.yacc+= *-*-*
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/regress/ignore-tools/spec b/regress/ignore-tools/spec
new file mode 100644
index 00000000000..e9027d4c131
--- /dev/null
+++ b/regress/ignore-tools/spec
@@ -0,0 +1,39 @@
+# $NetBSD: spec,v 1.1 2005/02/12 14:45:53 gavan Exp $
+
+# Trigger the circular dependency detection logic to fail the package build before
+# actually wasting time building anything.
+
+_PKGSRC_DEPS=`cd ../../devel/bison && make show-var VARNAME=PKGNAME`
+MAKEARGS_TEST="install _PKGSRC_DEPS=${_PKGSRC_DEPS}"
+MAKEARGS_CLEAN="clean clean-depends"
+
+# This test doesn't work if flex or bison are installed.
+
+if pkg_info -qe flex
+then
+ MAKEARGS_TEST="PKG_FAIL_REASON=flex-must-be-deinstalled"
+fi
+
+if pkg_info -qe bison
+then
+ MAKEARGS_TEST="PKG_FAIL_REASON=bison-must-be-deinstalled"
+fi
+
+check_result()
+{
+
+# This test should fail with a circular dependency error
+
+exit_status 1
+
+output_require "Required package bison"
+output_require "Circular dependency detected"
+
+# This test should not start configuring anything
+
+output_prohibit "Configuring for"
+output_prohibit "bison-must-be-deinstalled"
+output_prohibit "flex-must-be-deinstalled"
+
+}
+