aboutsummaryrefslogtreecommitdiff
path: root/unit-tests/machine-manifest/testscript
diff options
context:
space:
mode:
Diffstat (limited to 'unit-tests/machine-manifest/testscript')
-rw-r--r--unit-tests/machine-manifest/testscript252
1 files changed, 252 insertions, 0 deletions
diff --git a/unit-tests/machine-manifest/testscript b/unit-tests/machine-manifest/testscript
new file mode 100644
index 0000000..66dedc6
--- /dev/null
+++ b/unit-tests/machine-manifest/testscript
@@ -0,0 +1,252 @@
+# file : unit-tests/machine-manifest/testscript
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : TBC; see accompanying LICENSE file
+
+: machine-manifest
+:
+{
+ test.options += -m
+
+ : valid
+ :
+ {
+ : all-values
+ :
+ $* <<EOF >>EOF
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ type: kvm
+ mac: de:ad:be:ef:de:ad
+ options: -device "virtio-scsi-pci,id=scsi" -device "scsi-hd,drive=disk0"
+ EOF
+
+ : no-options
+ :
+ $* <<EOF >>EOF
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ type: nspawn
+ mac: de:ad:be:ef:de:ad
+ EOF
+ }
+
+ : redefinition
+ :
+ {
+ : type
+ :
+ $* <<EOI 2>'stdin:6:1: error: machine type redefinition' == 1
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ type: nspawn
+ type: kvm
+ EOI
+
+ : mac
+ :
+ $* <<EOI 2>'stdin:6:1: error: machine mac redefinition' == 1
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ mac: de:ad:be:ef:de:ad
+ mac: de:ad:be:ef:de:ad
+ EOI
+
+ : options
+ :
+ $* <<EOI 2>'stdin:6:1: error: machine options redefinition' == 1
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ options: -device "virtio-scsi-pci,id=scsi" -device "scsi-hd,drive=disk0"
+ options:
+ EOI
+ }
+
+ : invalid
+ :
+ {
+ : type
+ :
+ $* <<EOI 2>'stdin:5:7: error: invalid machine type' == 1
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ type: vmware
+ EOI
+
+ : options
+ :
+ {
+ : empty
+ :
+ $* <<EOI 2>'stdin:5:9: error: empty machine options' == 1
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ options:
+ EOI
+
+ : unquoted
+ :
+ $* <<EOI 2>'stdin:5:42: error: invalid machine options: unterminated quoted string' == 1
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ options: -device "virtio-scsi-pci,id=scsi
+ EOI
+ }
+ }
+
+ : missed
+ :
+ {
+ : type
+ :
+ $* <<EOI 2>'stdin:5:1: error: no machine type specified' == 1
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ EOI
+ }
+
+ : unknown-name
+ :
+ $* <<EOI 2>"stdin:5:1: error: unknown name 'x' in machine manifest" == 1
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ x:
+ EOI
+}
+
+: toolchain-manifest
+:
+{
+ test.options += -t
+
+ : valid
+ :
+ $* <<EOF >>EOF
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ EOF
+
+ : no-id
+ :
+ $* <<EOI 2>'stdin:2:1: error: no toolchain id specified' == 1
+ : 1
+ EOI
+
+ : dup-id
+ :
+ $* <<EOI 2>'stdin:3:1: error: toolchain id redefinition' == 1
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ EOI
+
+ : empty-id
+ :
+ $* <<EOI 2>'stdin:2:4: error: empty toolchain id' == 1
+ : 1
+ id:
+ EOI
+
+ : unknown
+ :
+ $* <<EOI 2>"stdin:2:1: error: unknown name 'x' in toolchain manifest" == 1
+ : 1
+ x: y
+ EOI
+}
+
+: bootstrapped-machine-manifest
+:
+{
+ test.options += -bm
+
+ : valid
+ :
+ {
+ : all-values
+ :
+ $* <<EOF >>EOF
+ : 1
+ :
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ type: kvm
+ mac: de:ad:be:ef:de:ad
+ :
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ :
+ bbot-version: 1.1.2
+ libbbot-version: 1.1.1
+ EOF
+ }
+
+ : unknown
+ :
+ $* <<EOI 2>"stdin:2:1: error: unknown name 'x' in bootstrapped machine manifest" == 1
+ : 1
+ x: y
+ EOI
+
+ : no-machine
+ :
+ $* <<EOI 2>'stdin:2:1: error: machine manifest expected' == 1
+ : 1
+ EOI
+
+ : no-machine-mac
+ :
+ $* <<EOI 2>'stdin:2:1: error: mac address must be present in machine manifest' == 1
+ : 1
+ :
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ type: kvm
+ EOI
+
+ : no-toolchain
+ :
+ $* <<EOI 2>'stdin:8:1: error: toolchain manifest expected' == 1
+ : 1
+ :
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ type: kvm
+ mac: de:ad:be:ef:de:ad
+ EOI
+
+ : no-bootstrap
+ :
+ $* <<EOI 2>'stdin:10:1: error: bootstrap manifest expected' == 1
+ : 1
+ :
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ summary: Windows 10 build 1607 with VC 14 update 3
+ type: kvm
+ mac: de:ad:be:ef:de:ad
+ :
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ EOI
+}