summaryrefslogtreecommitdiff
path: root/t/tap-numbers-leading-zero.sh
blob: 02ba854e3294fc54f9a5f8389380d8c0b9b2098f (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
#! /bin/sh
# Copyright (C) 2011-2018 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

# TAP support:
#  - how does TAP result numbers with leading zero fares?

. test-init.sh

. tap-setup.sh

do_checks ()
{
  run_make -O -e FAIL check
  count_test_results "$@"
  # Allow some normalization of leading zeros, without forcing it.
  LC_ALL=C sed -n 's/: all\.test 0*\([0-9]\)/: all.test \1/p' stdout > got
  cat exp
  cat got
  diff exp got
}

cat > all.test <<END
1..15

ok 01
ok 0002

not ok 03
not ok 0004

ok 05 # SKIP
ok 0006 # SKIP

not ok 07 # TODO
not ok 0008 # TODO

ok 009
ok 010

ok 00000011
not ok 0012
ok 00000013 # SKIP
not ok 0014 # TODO
ok 00000015 # TODO
END

cat > exp <<END
PASS: all.test 1
PASS: all.test 2
FAIL: all.test 3
FAIL: all.test 4
SKIP: all.test 5 # SKIP
SKIP: all.test 6 # SKIP
XFAIL: all.test 7 # TODO
XFAIL: all.test 8 # TODO
PASS: all.test 9
PASS: all.test 10
PASS: all.test 11
FAIL: all.test 12
SKIP: all.test 13 # SKIP
XFAIL: all.test 14 # TODO
XPASS: all.test 15 # TODO
END

do_checks total=15 pass=5 fail=3 xpass=1 xfail=3 skip=3 error=0

cat > all.test <<END
1..8

ok 010
not ok 003
ok 0001 # SKIP
not ok 010 # TODO
ok 00100 # TODO

ok 06
ok 00007
ok 8
END

cat > exp <<END
ERROR: all.test 10 # OUT-OF-ORDER (expecting 1)
ERROR: all.test 3 # OUT-OF-ORDER (expecting 2)
ERROR: all.test 1 # OUT-OF-ORDER (expecting 3)
ERROR: all.test 10 # OUT-OF-ORDER (expecting 4)
ERROR: all.test 100 # OUT-OF-ORDER (expecting 5)
PASS: all.test 6
PASS: all.test 7
PASS: all.test 8
END

do_checks total=8 pass=3 fail=0 xpass=0 xfail=0 skip=0 error=5

: