aboutsummaryrefslogtreecommitdiff
path: root/tests/fetch.testscript
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fetch.testscript')
-rw-r--r--tests/fetch.testscript54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/fetch.testscript b/tests/fetch.testscript
new file mode 100644
index 0000000..2564470
--- /dev/null
+++ b/tests/fetch.testscript
@@ -0,0 +1,54 @@
+# file : tests/fetch.testscript
+# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+.include common.testscript project.testscript
+
+cxx = cc config.cxx="$recall($cxx.path)"
+
+new += 2>!
+init += $cxx -d prj 2>!
+status += --all -d prj
+deinit += -d prj
+
+: dependency
+:
+{
+ $clone_prj;
+ $init -C @cfg &prj-cfg/***;
+
+ $new -t lib libbar &libbar/*** 2>!;
+ $new -t lib libfoo &libfoo/*** 2>!;
+
+ cat <<EOI >+prj/repositories.manifest;
+ :
+ role: prerequisite
+ location: ../libfoo
+ type: dir
+ :
+ role: complement
+ location: ../libbar
+ type: dir
+ EOI
+
+ cat <<EOI >+prj/manifest;
+ depends: libfoo
+ depends: libbar
+ EOI
+
+ $* 2>>/"EOE";
+ fetching dir:$~/libbar \(complements dir:$~/prj\)
+ fetching dir:$~/libfoo \(prerequisite of dir:$~/prj\)
+ EOE
+
+ $status libfoo libbar >>~%EOO%;
+ %libfoo available \[.+\]%
+ %libbar available .+%
+ EOO
+
+ $deinit 2>>/"EOE"
+ deinitializing in project $~/prj/
+ synchronizing:
+ drop prj
+ EOE
+}