aboutsummaryrefslogtreecommitdiff
path: root/tests/hooks
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-04-27 12:01:09 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-04-27 12:01:09 +0200
commit3813b05824fa2616b8ab9c18ed158c0c02265337 (patch)
tree35dc74b54ae0b6096e93fd76471faba140facb46 /tests/hooks
parentbff415fd8a787a63bcda2d9f95c8e086e40c1368 (diff)
Add support for build hooks
The following buildfiles are loaded (if present) at appropriate times from the out_root subdirectories of a project: build/bootstrap/pre-*.build # before loading bootstrap.build build/bootstrap/post-*.build # after loading bootstrap.build build/root/pre-*.build # before loading root.build build/root/post-*.build # after loading root.build
Diffstat (limited to 'tests/hooks')
-rw-r--r--tests/hooks/buildfile5
-rw-r--r--tests/hooks/testscript30
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/hooks/buildfile b/tests/hooks/buildfile
new file mode 100644
index 0000000..c951d56
--- /dev/null
+++ b/tests/hooks/buildfile
@@ -0,0 +1,5 @@
+# file : tests/hooks/buildfile
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+./: test{testscript} $b
diff --git a/tests/hooks/testscript b/tests/hooks/testscript
new file mode 100644
index 0000000..7ad8028
--- /dev/null
+++ b/tests/hooks/testscript
@@ -0,0 +1,30 @@
+# file : tests/hooks/testscript
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+.include ../common.test
+
++cat <'print bootstrap' >+build/bootstrap.build
++cat <'print root' >=build/root.build
+
++mkdir build/bootstrap
++cat <'print pre-bootstrap' >=build/bootstrap/pre-bootstrap.build
++cat <'print post-bootstrap' >=build/bootstrap/post-bootstrap.build
+
++mkdir build/root
++cat <'print pre-root' >=build/root/pre-root.build
++cat <'print post-root' >=build/root/post-root.build
+
+: basics
+:
+$* <<EOI >>EOO
+print buildfile
+EOI
+pre-bootstrap
+bootstrap
+post-bootstrap
+pre-root
+root
+post-root
+buildfile
+EOO