aboutsummaryrefslogtreecommitdiff
path: root/tests/manifest/machine.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manifest/machine.test')
-rw-r--r--tests/manifest/machine.test157
1 files changed, 157 insertions, 0 deletions
diff --git a/tests/manifest/machine.test b/tests/manifest/machine.test
new file mode 100644
index 0000000..b775a79
--- /dev/null
+++ b/tests/manifest/machine.test
@@ -0,0 +1,157 @@
+# file : tests/manifest/machine.test
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+test.options += -m
+
+: valid
+:
+: Roundtrip the machine manifest.
+:
+{
+ : vm
+ :
+ $* <<EOF >>EOF
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ type: vm
+ summary: Windows 10 build 1607 with VC 14 update 3
+ EOF
+
+ : container
+ :
+ $* <<EOF >>EOF
+ : 1
+ id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+ name: windows_10-msvc_14
+ type: container
+ summary: Windows 10 build 1607 with VC 14 update 3
+ EOF
+}
+
+: multiple
+:
+$* <<EOI 2>'stdin:6:1: error: single machine manifest expected' == 1
+: 1
+id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+name: windows_10-msvc_14
+type: vm
+summary: Windows 10 build 1607 with VC 14 update 3
+:
+EOI
+
+: redefinition
+:
+{
+ : id
+ :
+ $* <<EOI 2>'stdin:3:1: error: machine id redefinition' == 1
+ : 1
+ id: 123
+ id: 123
+ EOI
+
+ : name
+ :
+ $* <<EOI 2>'stdin:3:1: error: machine name redefinition' == 1
+ : 1
+ name: windows
+ name: windows
+ EOI
+
+ : type
+ :
+ $* <<EOI 2>'stdin:3:1: error: machine type redefinition' == 1
+ : 1
+ type: vm
+ type: vm
+ EOI
+
+ : summary
+ :
+ $* <<EOI 2>'stdin:3:1: error: machine summary redefinition' == 1
+ : 1
+ summary: Windows
+ summary: Windows
+ EOI
+}
+
+: empty
+:
+{
+ : id
+ :
+ $* <<EOI 2>'stdin:2:4: error: empty machine id' == 1
+ : 1
+ id:
+ EOI
+
+ : name
+ :
+ $* <<EOI 2>'stdin:2:6: error: empty machine name' == 1
+ : 1
+ name:
+ EOI
+
+ : summary
+ :
+ $* <<EOI 2>'stdin:2:9: error: empty machine summary' == 1
+ : 1
+ summary:
+ EOI
+}
+
+: invalid-type
+:
+$* <<EOI 2>'stdin:2:7: error: invalid machine type' == 1
+: 1
+type: unknown
+EOI
+
+: unknown-name
+:
+$* <<EOI 2>"stdin:2:1: error: unknown name 'x' in machine manifest" == 1
+: 1
+x:
+EOI
+
+: missed
+:
+{
+ : id
+ :
+ $* <<EOI 2>'stdin:5:1: error: no machine id specified' == 1
+ : 1
+ name: windows
+ type: vm
+ summary: Windows
+ EOI
+
+ : name
+ :
+ $* <<EOI 2>'stdin:5:1: error: no machine name specified' == 1
+ : 1
+ id: 123
+ type: vm
+ summary: Windows
+ EOI
+
+ : type
+ :
+ $* <<EOI 2>'stdin:5:1: error: no machine type specified' == 1
+ : 1
+ id: 123
+ name: windows
+ summary: Windows
+ EOI
+
+ : summary
+ :
+ $* <<EOI 2>'stdin:5:1: error: no machine summary specified' == 1
+ : 1
+ id: 123
+ name: windows
+ type: vm
+ EOI
+}