aboutsummaryrefslogtreecommitdiff
path: root/tests/worker/build.test
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-04-18 13:29:50 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-04-18 13:29:50 +0200
commit0e2f76b6f0ecb4b4c00a4c8001843b3c54bc08ad (patch)
tree3f0735a7b7e0be27823b23e24806fe9650548dc6 /tests/worker/build.test
parent1804e3e8cf3b8f1bb14e197dada1697c40bed144 (diff)
Finish agent and worker logic
Diffstat (limited to 'tests/worker/build.test')
-rw-r--r--tests/worker/build.test133
1 files changed, 133 insertions, 0 deletions
diff --git a/tests/worker/build.test b/tests/worker/build.test
new file mode 100644
index 0000000..adedccc
--- /dev/null
+++ b/tests/worker/build.test
@@ -0,0 +1,133 @@
+# file : tests/worker/build.test
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : TBC; see accompanying LICENSE file
+
+# Note: requires TFTP server (see buildfile).
+
+tftp = 127.0.0.1:55123/test
+
+pkg = hello
+ver = 1.0.0
+
+#rep = /home/boris/work/build2/hello/repository/1/stable
+rep = https://build2.org/pkg/1/stage/stable
+#rep = https://build2.org/pkg/1/hello/stable
+
+rfp = FF:DF:7D:38:67:4E:C3:82:65:7E:EE:1F:D4:80:EC:56:C4:33:5B:65:3F:9B:29:9A:30:56:B9:77:B9:F2:01:94
+
+: pass
+:
+cat <<"EOI" >=manifest;
+ : 1
+ name: $pkg
+ version: $ver
+ repository: $rep
+ trust: $rfp
+ machine: linux-gcc
+ target: x86_64-linux-gnu
+ config: config.cc.coptions=-O3
+ EOI
+$* --verbose 3 --tftp-host "$tftp/$@" cc &build/*** 2>>"EOE";
+ trace: build: bpkg -v create -d build --wipe config.cc.coptions=-O3 cc
+ trace: build: bpkg -v add $rep
+ trace: build: bpkg -v fetch --trust $rfp --trust-no
+ trace: build: bpkg -v build --configure-only --yes $pkg/$ver
+ trace: build: bpkg -v update $pkg
+ trace: build: bpkg -v test $pkg
+ trace: build: curl -s -S --upload-file - --max-time 10 tftp://$tftp/$@/manifest
+ EOE
+cat manifest >>~"%EOO%"
+ : 1
+ name: $pkg
+ version: $ver
+ status: success
+ configure-status: success
+ update-status: success
+ test-status: success
+ configure-log: \\
+ %.*%+
+ \\
+ update-log: \\
+ %.*%+
+ \\
+ test-log: \\
+ %.*%+
+ \\
+ EOO
+
+
+: fail-abnormal
+:
+cat <<"EOI" >=manifest;
+ : 1
+ foo: bar
+ EOI
+$* --verbose 3 --tftp-host "$tftp/$@" cc 2>>"EOE" != 0
+ error: invalid task manifest: manifest:3:1: no task package name specified
+ EOE
+
+
+: fail-configure
+:
+cat <<"EOI" >=manifest;
+ : 1
+ name: bogus
+ version: 1.2.3
+ repository: $rep
+ trust: $rfp
+ machine: linux-gcc
+ target: x86_64-linux-gnu
+ EOI
+$* --verbose 3 --tftp-host "$tftp/$@" cc &build/*** 2>>"EOE";
+ trace: build: bpkg -v create -d build --wipe cc
+ trace: build: bpkg -v add $rep
+ trace: build: bpkg -v fetch --trust $rfp --trust-no
+ trace: build: bpkg -v build --configure-only --yes bogus/1.2.3
+ trace: build: curl -s -S --upload-file - --max-time 10 tftp://$tftp/$@/manifest
+ EOE
+cat manifest >>~"%EOO%"
+ : 1
+ name: bogus
+ version: 1.2.3
+ status: error
+ configure-status: error
+ configure-log: \\
+ %.*%+
+ \\
+ EOO
+
+
+: fail-update
+:
+cat <<"EOI" >=manifest;
+ : 1
+ name: $pkg
+ version: $ver
+ repository: $rep
+ trust: $rfp
+ machine: linux-gcc
+ target: x86_64-linux-gnu
+ config: config.cc.loptions=-lbogus
+ EOI
+$* --verbose 3 --tftp-host "$tftp/$@" cc &build/*** 2>>"EOE";
+ trace: build: bpkg -v create -d build --wipe config.cc.loptions=-lbogus cc
+ trace: build: bpkg -v add $rep
+ trace: build: bpkg -v fetch --trust $rfp --trust-no
+ trace: build: bpkg -v build --configure-only --yes $pkg/$ver
+ trace: build: bpkg -v update $pkg
+ trace: build: curl -s -S --upload-file - --max-time 10 tftp://$tftp/$@/manifest
+ EOE
+cat manifest >>~"%EOO%"
+ : 1
+ name: $pkg
+ version: $ver
+ status: error
+ configure-status: success
+ update-status: error
+ configure-log: \\
+ %.*%+
+ \\
+ update-log: \\
+ %.*%+
+ \\
+ EOO