blob: 1d7cab86aaa6284b47890ab5313e43c5a482b677 (
plain) (
blame)
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
#!/bin/sh
set -eu
. tests/lib.sh
test_unsupported_flags() {
testing 'unsupported flags'
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
./uuid.bin -x 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 2
assert_empty_stdout
assert_grep_stderr '^Usage:$'
rm "$OUT" "$ERR"
test_ok
}
test_flag_without_required_arguments() {
testing 'flag without required arguments'
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
./uuid.bin -v 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 2
assert_empty_stdout
assert_grep_stderr '^Usage:$'
rm "$OUT" "$ERR"
test_ok
}
test_flag_with_bad_argument_value() {
testing 'flag without required arguments'
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
./uuid.bin -v 1 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 2
assert_empty_stdout
assert_grep_stderr '^Usage:$'
rm "$OUT" "$ERR"
test_ok
}
test_generates_uuid_with_custom_version() {
testing 'UUID with custom version'
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
./uuid.bin -v 4 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 0
assert_grep_stdout '^.{,14}4'
assert_empty_stderr
rm "$OUT" "$ERR"
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
./uuid.bin -v 7 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 0
assert_grep_stdout '^.{,14}7'
assert_empty_stderr
rm "$OUT" "$ERR"
test_ok
}
test_generates_uuid_with_0_args() {
testing 'generates UUID with 0 arguments'
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
./uuid.bin 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 0
assert_empty_stderr
rm "$OUT" "$ERR"
test_ok
}
test_checks_string_with_1_arg() {
testing 'checks string with 1 arg'
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
ID='cac94e13-41fa-40c4-bd46-5b7b3b46c09e'
./uuid.bin "$ID" 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 0
assert_empty_stdout
assert_empty_stderr
rm "$OUT" "$ERR"
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
./uuid.bin 'bad-uuid-string' 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 3
assert_empty_stdout
assert_stderr "uuid: str isn't of the correct length"
rm "$OUT" "$ERR"
test_ok
}
test_checks_string_with_1_arg_ignores_options() {
testing 'checks string with 1 arg ignores options'
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
ID='cac94e13-41fa-40c4-bd46-5b7b3b46c09e'
ID='76600ea2-0282-4b38-9bc9-dd69125445f3'
./uuid.bin -v 4 "$ID" 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 0
assert_empty_stdout
assert_empty_stderr
rm "$OUT" "$ERR"
test_ok
}
test_unsupported_flags
test_flag_without_required_arguments
test_generates_uuid_with_0_args
test_flag_with_bad_argument_value
test_generates_uuid_with_custom_version
test_checks_string_with_1_arg
test_checks_string_with_1_arg_ignores_options
|