blob: 28225c1a0439528ccee6bb424c66cf3ca284dc50 (
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
|
# file : tests/variable/override/testscript
# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
.include ../../common.testscript
: cache-invalidation
:
{
: value-version
:
$* x+=01 y+=01 <<EOI >>EOO
x = [string] 0
print $x
x = [uint64] 1
print $x
y = 0
print $y
[uint64] y = [null]
print $y
EOI
001
2
0 01
1
EOO
: value-position
:
$* x+=01 <<EOI >>EOO
x = [string] 0
print $x
dir/
{
print $x
}
dir/ x = [uint64] 1
print $x
dir/
{
print $x
}
EOI
001
001
001
2
EOO
}
: override-cached
:
: Test overriding cached target type/pattern-specific prepend/append
:
{
$* x+=X <<EOI >>EOO
x = 0
file{*}: x += a
print $(file{foo}:x)
x = 1 # Should invalidate both caches.
print $(file{foo}:x)
file{*}: x += b # Should invalidate both caches.
print $(file{foo}:x)
EOI
0 a X
1 a X
1 a b X
EOO
}
: order
:
{
: after
:
$* x=1 x+=2 x=+0 <<EOI >>EOO
print $x
EOI
0 1 2
EOO
: before
:
$* x+=2 x=+0 x=1 <<EOI >>EOO
print $x
EOI
1
EOO
: both
:
$* x=+0 x=1 x+=2 <<EOI >>EOO
print $x
EOI
1 2
EOO
}
|