summaryrefslogtreecommitdiff
path: root/regress/ignore-tools
diff options
context:
space:
mode:
authorgavan <gavan@pkgsrc.org>2005-02-12 14:45:53 +0000
committergavan <gavan@pkgsrc.org>2005-02-12 14:45:53 +0000
commit669081be1d04f1c59003a7a3f9a8e8e3ad8ab440 (patch)
tree3763fd6e7f9d63166c3a0e8ec2b542436ecf9348 /regress/ignore-tools
parent3d47b94c7f63f42bb59b61dbfcccc8220e56558b (diff)
downloadpkgsrc-669081be1d04f1c59003a7a3f9a8e8e3ad8ab440.tar.gz
New test to verify that the USE_GNU_TOOLS mechanism works while building
a different GNU tool. For now, this test fails if flex or bison are already installed. This is suboptimal, but the alternatives (choosing a different PKG_DBDIR and LOCALBASE) are difficult to implement at the individual test level.
Diffstat (limited to 'regress/ignore-tools')
-rw-r--r--regress/ignore-tools/Makefile17
-rw-r--r--regress/ignore-tools/spec39
2 files changed, 56 insertions, 0 deletions
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"
+
+}
+