aboutsummaryrefslogtreecommitdiff
path: root/tests/manifest/machine-header.testscript
blob: c9ea898a26e2b49d176e5d2704946586b0a8c5f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# file      : tests/manifest/machine-header.testscript
# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

test.options += -m

: valid
:
: Roundtrip the machine header manifest.
:
{
  $* <<EOF >>EOF
  : 1
  id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  name: windows_10-msvc_14
  summary: Windows 10 build 1607 with VC 14 update 3
  EOF
}

: multiple
:
$* <<EOI 2>'stdin:5:1: error: single machine header manifest expected' == 1
: 1
id: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
name: windows_10-msvc_14
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

  : 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
}

: unknown-name
:
$* <<EOI 2>"stdin:2:1: error: unknown name 'x' in machine header manifest" == 1
: 1
x:
EOI

: missed
:
{
  : id
  :
  $* <<EOI 2>'stdin:4:1: error: no machine id specified' == 1
  : 1
  name: windows
  summary: Windows
  EOI

  : name
  :
  $* <<EOI 2>'stdin:4:1: error: no machine name specified' == 1
  : 1
  id: 123
  summary: Windows
  EOI

  : summary
  :
  $* <<EOI 2>'stdin:4:1: error: no machine summary specified' == 1
  : 1
  id: 123
  name: windows
  EOI
}