File: natest.sh

package info (click to toggle)
libapache2-mod-auth-gssapi 1.6.4-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 912 kB
  • sloc: ansic: 9,927; python: 1,114; yacc: 163; sh: 147; makefile: 132; lex: 25
file content (80 lines) | stat: -rwxr-xr-x 2,382 bytes parent folder | download | duplicates (3)
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
#!/bin/bash -xe
cmd=./natest

echo "Single match and wildcard"
  $cmd 'a=1' 'a=1'
  $cmd '(a=1)' 'a=1'
  $cmd 'a=*' 'a=1'
  $cmd 'a=*' 'a=2'
! $cmd 'a=1' 'a=2'
! $cmd 'a=1' 'b=1'
! $cmd 'a=*' 'b=1'

echo "Single OR"
  $cmd 'a=1 or b=1' 'a=1'
  $cmd 'a=1 or b=1' 'b=1'
  $cmd '(a=1 or b=1)' 'a=1'
  $cmd '(a=1) or (b=1)' 'b=1'
! $cmd 'a=1 or b=1' 'c=1'
! $cmd 'a=1 or b=1' 'b=2'

echo "Hex string byte comparison"
  $cmd 'a=1 or b=[414243]' 'b=ABC'
! $cmd 'a=1 or b=[414243]' 'b=ABZ'
! $cmd 'a=1 or b=[41424]' 'b=ABC'

echo "Multiple OR"
  $cmd 'a=1 or b=1 or b=2' 'a=1'
  $cmd 'a=1 or b=1 or b=2' 'b=1'
  $cmd 'a=1 or b=1 or b=2' 'b=2'
! $cmd 'a=1 or b=1 or b=2' 'a=2' 'b=3'

echo "Single AND and wildcard"
  $cmd 'a=1 and b=1' 'a=1' 'b=1'
  $cmd 'a=1 and b=*' 'a=1' 'b=1'
  $cmd 'a=1 and b=*' 'a=1' 'b=2'
! $cmd 'a=1 and b=1' 'a=1'
! $cmd 'a=1 and b=1' 'b=1'

echo "Multiple AND with some arbitrary nesting"
  $cmd 'a=1 and b=1 and c=1' 'a=1' 'b=1' 'c=1'
  $cmd '(a=1 and (b=1 and c=1))' 'a=1' 'b=1' 'c=1'
! $cmd 'a=1 and b=1 and c=1' 'b=1' 'c=1'

echo "Combinations"
  $cmd 'a=1 and b=1 or b=2' 'a=1' 'b=1'
  $cmd 'a=1 and b=1 or b=2' 'a=1' 'b=2'
  $cmd '(a=1 and b=1) or b=2' 'b=2'
  $cmd '(a=1 and b=1) or b=2' 'a=1' 'b=1'
! $cmd 'a=1 and b=1 or b=2' 'b=2'
! $cmd 'a=1 and b=1 or b=2' 'a=1' 'b=3'
! $cmd '(a=1 and b=1) or b=2' 'b=1'
! $cmd '(a=1 and b=1) or b=2' 'a=2' 'b=1'

  $cmd 'a=1 or b=1 and c=1' 'a=1'
  $cmd 'a=1 or (b=1 and c=1)' 'a=1'
  $cmd 'a=1 or b=1 and c=1' 'b=1' 'c=1'
  $cmd 'a=1 or (b=1 and c=1)' 'b=1' 'c=1'
! $cmd 'a=1 or b=1 and c=1' 'a=2' 'b=1' 'c=2'
! $cmd 'a=1 or b=1 and c=1' 'b=1' 'c=2'

  $cmd '(a=1 or b=1) and c=1' 'a=1' 'c=1'
  $cmd '(a=1 or b=1) and c=1' 'b=1' 'c=1'
! $cmd '(a=1 or b=1) and c=1' 'a=1'
! $cmd '(a=1 or b=1) and c=1' 'b=1'
! $cmd '(a=1 or b=1) and c=1' 'c=1'

  $cmd '((a=1 or a=2) and (b=1 or (b=2 and c=1)))' 'a=1' 'b=1'
  $cmd '((a=1 or a=2) and (b=1 or (b=2 and c=1)))' 'a=2' 'b=1'
  $cmd '((a=1 or a=2) and (b=1 or (b=2 and c=1)))' 'a=1' 'b=2' 'c=1'
  $cmd '((a=1 or a=2) and (b=1 or (b=2 and c=1)))' 'a=2' 'b=2' 'c=1'
! $cmd '((a=1 or a=2) and (b=1 or (b=2 and c=1)))' 'a=2' 'b=3' 'c=1'
! $cmd '((a=1 or a=2) and (b=1 or (b=2 and c=1)))' 'a=2' 'b=2' 'c=2'

echo "Parse errors"
! $cmd '(a=)' 'a=1'
! $cmd '(a=1 b=1)' 'a=1'
! $cmd '((a=1 or b=1)' 'a=1'
! $cmd 'a=1 or' 'a=1'
! $cmd 'a or b' 'a=1'
! $cmd '((a=1)or b=1)' 'a=1'