aboutsummaryrefslogtreecommitdiff
path: root/unit-tests/test/script/parser/scope.test
blob: 4e358f35d0d26ec804c9d32b9e5749b8d778e81e (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
$* testscript <'cmd $@' >"cmd 1"     # id-testscript
$* foo.test   <'cmd $@' >"cmd foo/1" # id

wd = [dir_path] $~;
wd += test-driver;
wd += 1;
$* testscript <'cmd $~' >"cmd $wd"   # wd-testscript

wd = [dir_path] $~;
wd += test-driver;
wd += foo;
wd += 1;
$* foo.test   <'cmd $~' >"cmd $wd"   # wd

$* -s <<EOI >>EOO                    # compound-2
cmd1;
cmd2
EOI
{
  {
    cmd1
    cmd2
  }
}
EOO

$* -s <<EOI >>EOO                    # compound-3
cmd1;
cmd2;
cmd3
EOI
{
  {
    cmd1
    cmd2
    cmd3
  }
}
EOO

$* -s <<EOI >>EOO                    # compound-var
cmd1;
x = abc;
cmd2 \$x
EOI
{
  {
    cmd1
    cmd2 abc
  }
}
EOO

$* -s <<EOI >>EOO                    # compound-var-first
x = abc;
cmd \$x
EOI
{
  {
    cmd abc
  }
}
EOO

$* -s <<EOI >>EOO                    # var-setup-tdown
x = abc
cmd \$x
y = 123
EOI
{
  {
    cmd abc
  }
}
EOO

$* <<EOI 2>>EOE != 0                 # test-after-tdown
cmd1
x = abc
cmd2
EOI
testscript:3:1: error: test after teardown
  testscript:2:1: info: last teardown line appears here
EOE

$* <<EOI 2>>EOE != 0                 # expected-line
cmd;
EOI
testscript:2:1: error: expected another line after semicolon
EOE

$* <<:EOI 2>>EOE != 0                # expected-newline-cmd
cmd;
EOI
testscript:1:5: error: expected newline instead of <end of file>
EOE

$* <:"x = abc;" 2>>EOE != 0          # expected-newline-var
testscript:1:9: error: expected newline instead of <end of file>
EOE