aboutsummaryrefslogtreecommitdiff
path: root/tests/cfg-create.test
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2017-02-22 00:58:53 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2017-03-15 19:15:55 +0300
commita791b1ce0fa2bc9859474fb6f7a9c0ff8cbd1d4a (patch)
tree3c9823a54e6e28a8c8f9fb281d82ad2a67c117ba /tests/cfg-create.test
parent755a99a7ebf24e00675e2f2e0f5184825ad74c4a (diff)
Port test.sh to testscript
Diffstat (limited to 'tests/cfg-create.test')
-rw-r--r--tests/cfg-create.test75
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/cfg-create.test b/tests/cfg-create.test
new file mode 100644
index 0000000..65fe2f9
--- /dev/null
+++ b/tests/cfg-create.test
@@ -0,0 +1,75 @@
+# file : tests/cfg-create.test
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+.include common.test
+
+pkg_status += -d cfg
+
+: non-empty
+:
+$* 2>>/~%EOE% != 0
+error: directory ./ is not empty
+ info: use --wipe to clean it up but be careful
+EOE
+
+: dir
+:
+{
+ test.arguments += -d cfg
+ test.cleanups += &cfg/***
+
+ : no-vars-mods
+ :
+ {
+ $* 2>>/~%EOE%;
+ %created new configuration in .+/cfg/%
+ EOE
+
+ $pkg_status libfoo >'unknown'
+ }
+
+ : conf-var
+ :
+ {
+ $* "config.install.root=$~/opt" 2>>/~%EOE%;
+ %created new configuration in .+/cfg/%
+ EOE
+
+ $pkg_status libfoo >'unknown';
+
+ cat cfg/build/config.build >>/~"%EOO%"
+ %.+
+ %config.install.root = '?.+/opt/'?%
+ %.+
+ EOO
+ }
+
+ : module
+ :
+ {
+ $* cxx "config.cxx=$config.cxx" 2>>/~%EOE%;
+ %created new configuration in .+/cfg/%
+ EOE
+
+ $pkg_status libfoo >'unknown';
+
+ cat cfg/build/config.build >>/~"%EOO%"
+ %.+
+ %config.cxx = .+%
+ %.+
+ EOO
+ }
+
+ : wipe
+ :
+ {
+ mkdir -p cfg/foo/bar &!cfg/ &!cfg/foo/ &!cfg/foo/bar/;
+
+ $* --wipe 2>>/~%EOE%;
+ %created new configuration in .+/cfg/%
+ EOE
+
+ $pkg_status libfoo >'unknown'
+ }
+}