Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
annotate tests/farray-misc.t @ 731:cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 07 Oct 2024 13:26:25 +0200 |
| parents | ce29bad1fd3b |
| children | c14c7b5b5fea |
| rev | line source |
|---|---|
|
588
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
1 Basic tests of farray.sh's internal helper functions |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
2 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
3 Shell is /bin/sh. |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
4 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
5 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
6 Setup |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
7 ===== |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
8 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
9 $ set -u |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
10 $ . "${TESTDIR}/testsetup.sh" |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
11 $ _p_datadir="${TESTDIR}/../share/local-bsdtools" |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
12 $ . "${_p_datadir}/farray.sh" |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
13 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
14 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
15 Plain Decimal Number Checks |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
16 =========================== |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
17 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
18 Valid |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
19 ----- |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
20 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
21 $ _farr_is_decimal_number 0 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
22 $ _farr_is_decimal_number 12345678901234567890 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
23 $ _farr_is_decimal_number -12345678901234567890 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
24 $ _farr_is_decimal_number +12345678901234567890 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
25 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
26 Octal |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
27 |
|
731
cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
Franz Glasner <fzglas.hg@dom66.de>
parents:
590
diff
changeset
|
28 $ _farr_is_decimal_number 01234567012345670 |
|
cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
Franz Glasner <fzglas.hg@dom66.de>
parents:
590
diff
changeset
|
29 $ _farr_is_decimal_number -01234567012345670 |
|
cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
Franz Glasner <fzglas.hg@dom66.de>
parents:
590
diff
changeset
|
30 $ _farr_is_decimal_number +01234567012345670 |
|
cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
Franz Glasner <fzglas.hg@dom66.de>
parents:
590
diff
changeset
|
31 |
|
588
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
32 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
33 Invalid |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
34 ------- |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
35 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
36 $ _farr_is_decimal_number x |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
37 [1] |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
38 $ _farr_is_decimal_number '' |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
39 [1] |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
40 $ _farr_is_decimal_number '+' |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
41 [1] |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
42 $ _farr_is_decimal_number '-' |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
43 [1] |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
44 $ _farr_is_decimal_number '0x1' |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
45 [1] |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
46 $ _farr_is_decimal_number *12345678901234567890 |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
47 [1] |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
48 $ _farr_is_decimal_number 0x0123456789abcdef |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
49 [1] |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
50 $ _farr_is_decimal_number 0123456789abcdef |
|
fb7e5cd69494
farray.sh: implement _farr_is_decimal_number() to prepare for more thorough index checks
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
51 [1] |
|
731
cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
Franz Glasner <fzglas.hg@dom66.de>
parents:
590
diff
changeset
|
52 $ _farr_is_decimal_number 01234567890 |
|
cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
Franz Glasner <fzglas.hg@dom66.de>
parents:
590
diff
changeset
|
53 [1] |
|
cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
Franz Glasner <fzglas.hg@dom66.de>
parents:
590
diff
changeset
|
54 $ _farr_is_decimal_number -01234567890 |
|
cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
Franz Glasner <fzglas.hg@dom66.de>
parents:
590
diff
changeset
|
55 [1] |
|
cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
Franz Glasner <fzglas.hg@dom66.de>
parents:
590
diff
changeset
|
56 $ _farr_is_decimal_number +01234567890 |
|
cf0f18d3d41b
farray.sh: more thorough checks when numbers are octal
Franz Glasner <fzglas.hg@dom66.de>
parents:
590
diff
changeset
|
57 [1] |
|
590
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
58 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
59 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
60 Index Checks |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
61 ============ |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
62 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
63 $ _farr_make_index _res 5 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
64 $ echo $_res |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
65 5 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
66 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
67 $ _farr_make_index _res "" 123 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
68 $ echo $_res |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
69 124 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
70 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
71 $ _farr_make_index _res 0 123 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
72 $ echo $_res |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
73 123 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
74 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
75 $ _farr_make_index _res -122 123 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
76 $ echo $_res |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
77 1 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
78 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
79 $ _farr_make_index _res -123 123 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
80 $ echo $_res |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
81 0 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
82 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
83 $ _farr_make_index _res 124 123 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
84 $ echo $_res |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
85 124 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
86 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
87 $ _farr_make_index _res 125 123 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
88 $ echo $_res |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
89 125 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
90 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
91 $ ( _farr_make_index _res 0 ) |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
92 ERROR: cannot compute effective index because no length is given |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
93 [70] |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
94 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
95 $ ( _farr_make_index _res "" ) |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
96 ERROR: length not given: cannot autocompute index |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
97 [70] |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
98 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
99 $ ( _farr_make_index _res 0x1 ) |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
100 ERROR: given index is not a valid decimal number |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
101 [70] |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
102 |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
103 $ ( _farr_make_index _res 0 0x1 ) |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
104 ERROR: given length is not a valid decimal number |
|
ce29bad1fd3b
farray.sh: Implement _farr_make_index().
Franz Glasner <fzglas.hg@dom66.de>
parents:
588
diff
changeset
|
105 [70] |
