blob: e45d7d1bccdc734ac13b2da785dd5824f110f4aa (
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
|
"morph print-architecture" tests
================================
This is short and simple. Morph can print the name for the current
architecture, and we verify not that it is correct, but that exactly
one line is printed to the standard output. The reason we're not
checking it's correct is because that would require the test code
to duplicate the architecture name list that is in the code already,
and that wouldn't help with tests. However, verifying there's exactly
one line in stdout (and nothing in stderr) means the plugin does at
least something sensible.
Oh, and the one line should contain no spaces, either.
SCENARIO morph print-architecture prints out a single word
WHEN morph print-architecture is run
THEN stdout contains a single line
AND stdout contains no spaces
AND stderr is empty
IMPLEMENTS WHEN morph print-architecture is run
run_morph print-architecture > "$DATADIR/stdout" 2> "$DATADIR/stderr"
IMPLEMENTS THEN stdout contains a single line
n=$(wc -l < "$DATADIR/stdout")
if [ "$n" != 1 ]
then
die "stdout contains $n lines, not 1"
fi
IMPLEMENTS THEN stdout contains no spaces
n=$(tr < "$DATADIR/stdout" -cd ' ' | wc -c)
if [ "$n" != 0 ]
then
die "stdout contains spaces"
fi
IMPLEMENTS THEN stderr is empty
if [ -s "$DATADIR/stderr" ]
then
die "stderr is not empty"
fi
|