aboutsummaryrefslogtreecommitdiff
path: root/testdir/T.int-expr
blob: de775323ff9f2ee4a67d84aa1788a7bc65178df3 (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
117
118
119
120
121
122
123
124
echo T.int-expr: test interval expressions

awk=${awk-../a.out}

rm -f foo

cat << \EOF > prog
NF == 0		{ next }
$1 == "pat"	{ pattern = $2; next }
{
	check = ($1 ~ pattern)
	printf("%s ~ /%s/ -> should be %d, is %d\n", $1, pattern, $2, check)
}
EOF

cat << \EOF > foo.in
pat	ab{0}c
ac	1
abc	0

pat	a(b{0})c
ac	1
abc	0

pat	ab{0}*c
ac	1
abc	0

pat	a(b{0})*c
ac	1
abc	0

pat	ab{0,}c
ac	1
abc	1

pat	a(b{0,})c
ac	1
abc	1

pat	ab{0,}*c
ac	1
abc	1

pat	a(b{0,})*c
ac	1
abc	1

pat	ab{1}c
ac	0
abc	1
abbc	0

pat	ab{1,}c
ac	0
abc	1
abbc	1
abbbc	1
abbbbc	1

pat	ab{0,1}c
ac	1
abc	1
abbc	0

pat	ab{0,3}c
ac	1
abc	1
abbc	1
abbbc	1
abbbbc	0

pat	ab{1,3}c
ac	0
abc	1
abbc	1
abbbc	1
abbbbc	0
EOF

cat << \EOF > foo1
ac ~ /ab{0}c/ -> should be 1, is 1
abc ~ /ab{0}c/ -> should be 0, is 0
ac ~ /a(b{0})c/ -> should be 1, is 1
abc ~ /a(b{0})c/ -> should be 0, is 0
ac ~ /ab{0}*c/ -> should be 1, is 1
abc ~ /ab{0}*c/ -> should be 0, is 0
ac ~ /a(b{0})*c/ -> should be 1, is 1
abc ~ /a(b{0})*c/ -> should be 0, is 0
ac ~ /ab{0,}c/ -> should be 1, is 1
abc ~ /ab{0,}c/ -> should be 1, is 1
ac ~ /a(b{0,})c/ -> should be 1, is 1
abc ~ /a(b{0,})c/ -> should be 1, is 1
ac ~ /ab{0,}*c/ -> should be 1, is 1
abc ~ /ab{0,}*c/ -> should be 1, is 1
ac ~ /a(b{0,})*c/ -> should be 1, is 1
abc ~ /a(b{0,})*c/ -> should be 1, is 1
ac ~ /ab{1}c/ -> should be 0, is 0
abc ~ /ab{1}c/ -> should be 1, is 1
abbc ~ /ab{1}c/ -> should be 0, is 0
ac ~ /ab{1,}c/ -> should be 0, is 0
abc ~ /ab{1,}c/ -> should be 1, is 1
abbc ~ /ab{1,}c/ -> should be 1, is 1
abbbc ~ /ab{1,}c/ -> should be 1, is 1
abbbbc ~ /ab{1,}c/ -> should be 1, is 1
ac ~ /ab{0,1}c/ -> should be 1, is 1
abc ~ /ab{0,1}c/ -> should be 1, is 1
abbc ~ /ab{0,1}c/ -> should be 0, is 0
ac ~ /ab{0,3}c/ -> should be 1, is 1
abc ~ /ab{0,3}c/ -> should be 1, is 1
abbc ~ /ab{0,3}c/ -> should be 1, is 1
abbbc ~ /ab{0,3}c/ -> should be 1, is 1
abbbbc ~ /ab{0,3}c/ -> should be 0, is 0
ac ~ /ab{1,3}c/ -> should be 0, is 0
abc ~ /ab{1,3}c/ -> should be 1, is 1
abbc ~ /ab{1,3}c/ -> should be 1, is 1
abbbc ~ /ab{1,3}c/ -> should be 1, is 1
abbbbc ~ /ab{1,3}c/ -> should be 0, is 0
EOF


$awk -f prog foo.in > foo2
diff foo1 foo2 || echo 'BAD: T.int-expr (1)'
rm -f prog