diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2017-05-10 18:06:25 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2017-05-11 13:06:42 +0300 |
commit | b8232e40e605b60234dae7ef92f257bab5c47723 (patch) | |
tree | 10325ce36b124a7cff8c46af27129806548517aa /unit-tests/machine-manifest/testscript | |
parent | 463e3454bd8553c8ee26c813a83386beeecb9837 (diff) |
Add machine manifest unit test
Diffstat (limited to 'unit-tests/machine-manifest/testscript')
-rw-r--r-- | unit-tests/machine-manifest/testscript | 252 |
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 +} |