diff options
Diffstat (limited to 'tests/cfg-create.test')
-rw-r--r-- | tests/cfg-create.test | 75 |
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' + } +} |