Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 1 | From 04da9478887e705ea38e4f097492da20e651686c Mon Sep 17 00:00:00 2001 |
| 2 | From: Guangwen Feng <fenggw-fnst@cn.fujitsu.com> |
| 3 | Date: Wed, 13 Sep 2017 15:48:42 +0800 |
| 4 | Subject: [PATCH] commands/ar01: Fix for test in deterministic mode |
| 5 | |
| 6 | If binutils was configured with --enable-deterministic-archives, |
| 7 | ar will run in deterministic mode by default, and use zero for |
| 8 | timestamps and uids/gids, which makes the test case abnormal. |
| 9 | |
| 10 | Fix this by add the "U" modifier when deterministic mode is default. |
| 11 | |
| 12 | Signed-off-by: Guangwen Feng <fenggw-fnst@cn.fujitsu.com> |
| 13 | Signed-off-by: Fei Jie <feij.fnst@cn.fujitsu.com> |
| 14 | |
| 15 | Upstream-Status: Backport |
| 16 | [http://lists.linux.it/pipermail/ltp/2017-September/005668.html] |
| 17 | |
| 18 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> |
| 19 | --- |
| 20 | testcases/commands/ar/ar01 | 92 ++++++++++++++++++++++++++-------------------- |
| 21 | 1 file changed, 52 insertions(+), 40 deletions(-) |
| 22 | |
| 23 | diff --git a/testcases/commands/ar/ar01 b/testcases/commands/ar/ar01 |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 24 | index be105f6da..813a51d9c 100644 |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 25 | --- a/testcases/commands/ar/ar01 |
| 26 | +++ b/testcases/commands/ar/ar01 |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 27 | @@ -24,16 +24,28 @@ |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 28 | # |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 29 | AR="${AR:=ar}" |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 30 | TST_CNT=17 |
| 31 | +TST_SETUP=setup |
| 32 | TST_TESTFUNC=test |
| 33 | TST_NEEDS_TMPDIR=1 |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 34 | TST_NEEDS_CMDS="$AR" |
| 35 | |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 36 | . tst_test.sh |
| 37 | |
| 38 | +setup() |
| 39 | +{ |
| 40 | + ar --help | grep "use zero for timestamps and uids/gids (default)" \ |
| 41 | + >/dev/null |
| 42 | + if [ $? -eq 0 ]; then |
| 43 | + MOD="U" |
| 44 | + else |
| 45 | + MOD="" |
| 46 | + fi |
| 47 | +} |
| 48 | + |
| 49 | test1() |
| 50 | { |
| 51 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in |
| 52 | - ROD ar -ra file1.in lib.a $TST_DATAROOT/file2.in |
| 53 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in |
| 54 | + ROD ar -ra"$MOD" file1.in lib.a $TST_DATAROOT/file2.in |
| 55 | ROD ar -t lib.a \> ar.out |
| 56 | |
| 57 | printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 58 | @@ -50,9 +62,9 @@ test1() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 59 | |
| 60 | test2() |
| 61 | { |
| 62 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 63 | - $TST_DATAROOT/file3.in $TST_DATAROOT/file4.in |
| 64 | - ROD ar -ma file1.in lib.a file4.in |
| 65 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 66 | + $TST_DATAROOT/file3.in $TST_DATAROOT/file4.in |
| 67 | + ROD ar -ma"$MOD" file1.in lib.a file4.in |
| 68 | ROD ar -t lib.a \> ar.out |
| 69 | |
| 70 | printf "file1.in\nfile4.in\nfile2.in\nfile3.in\n" > ar.exp |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 71 | @@ -69,8 +81,8 @@ test2() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 72 | |
| 73 | test3() |
| 74 | { |
| 75 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in |
| 76 | - ROD ar -rb file3.in lib.a $TST_DATAROOT/file2.in |
| 77 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in |
| 78 | + ROD ar -rb"$MOD" file3.in lib.a $TST_DATAROOT/file2.in |
| 79 | ROD ar -t lib.a \> ar.out |
| 80 | |
| 81 | printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 82 | @@ -87,9 +99,9 @@ test3() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 83 | |
| 84 | test4() |
| 85 | { |
| 86 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \ |
| 87 | - $TST_DATAROOT/file2.in |
| 88 | - ROD ar -mb file3.in lib.a file2.in |
| 89 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \ |
| 90 | + $TST_DATAROOT/file2.in |
| 91 | + ROD ar -mb"$MOD" file3.in lib.a file2.in |
| 92 | ROD ar -t lib.a \> ar.out |
| 93 | |
| 94 | printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 95 | @@ -106,7 +118,7 @@ test4() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 96 | |
| 97 | test5() |
| 98 | { |
| 99 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in \> ar.out |
| 100 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in \> ar.out |
| 101 | |
| 102 | if [ -s ar.out ]; then |
| 103 | tst_res TFAIL "ar produced output unexpectedly (-c)" |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 104 | @@ -120,7 +132,7 @@ test5() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 105 | |
| 106 | test6() |
| 107 | { |
| 108 | - ROD ar -qc lib.a $TST_DATAROOT/file1.in \> ar.out |
| 109 | + ROD ar -qc"$MOD" lib.a $TST_DATAROOT/file1.in \> ar.out |
| 110 | |
| 111 | if [ -s ar.out ]; then |
| 112 | tst_res TFAIL "ar produced output unexpectedly (-qc)" |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 113 | @@ -134,9 +146,9 @@ test6() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 114 | |
| 115 | test7() |
| 116 | { |
| 117 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 118 | - $TST_DATAROOT/file3.in |
| 119 | - ROD ar -d lib.a file1.in file2.in |
| 120 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 121 | + $TST_DATAROOT/file3.in |
| 122 | + ROD ar -d"$MOD" lib.a file1.in file2.in |
| 123 | ROD ar -t lib.a \> ar.out |
| 124 | |
| 125 | printf "file3.in\n" > ar.exp |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 126 | @@ -153,9 +165,9 @@ test7() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 127 | |
| 128 | test8() |
| 129 | { |
| 130 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 131 | - $TST_DATAROOT/file3.in |
| 132 | - ROD ar -d lib.a |
| 133 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 134 | + $TST_DATAROOT/file3.in |
| 135 | + ROD ar -d"$MOD" lib.a |
| 136 | ROD ar -t lib.a \> ar.out |
| 137 | |
| 138 | printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 139 | @@ -172,8 +184,8 @@ test8() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 140 | |
| 141 | test9() |
| 142 | { |
| 143 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in |
| 144 | - ROD ar -ri file3.in lib.a $TST_DATAROOT/file2.in |
| 145 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in |
| 146 | + ROD ar -ri"$MOD" file3.in lib.a $TST_DATAROOT/file2.in |
| 147 | ROD ar -t lib.a \> ar.out |
| 148 | |
| 149 | printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 150 | @@ -190,9 +202,9 @@ test9() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 151 | |
| 152 | test10() |
| 153 | { |
| 154 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \ |
| 155 | - $TST_DATAROOT/file2.in |
| 156 | - ROD ar -mi file3.in lib.a file2.in |
| 157 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \ |
| 158 | + $TST_DATAROOT/file2.in |
| 159 | + ROD ar -mi"$MOD" file3.in lib.a file2.in |
| 160 | ROD ar -t lib.a \> ar.out |
| 161 | |
| 162 | printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 163 | @@ -209,9 +221,9 @@ test10() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 164 | |
| 165 | test11() |
| 166 | { |
| 167 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \ |
| 168 | - $TST_DATAROOT/file2.in |
| 169 | - ROD ar -m lib.a file3.in |
| 170 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \ |
| 171 | + $TST_DATAROOT/file2.in |
| 172 | + ROD ar -m"$MOD" lib.a file3.in |
| 173 | ROD ar -t lib.a \> ar.out |
| 174 | |
| 175 | printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 176 | @@ -228,9 +240,9 @@ test11() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 177 | |
| 178 | test12() |
| 179 | { |
| 180 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 181 | - $TST_DATAROOT/file3.in |
| 182 | - ROD ar -p lib.a \> ar.out |
| 183 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 184 | + $TST_DATAROOT/file3.in |
| 185 | + ROD ar -p"$MOD" lib.a \> ar.out |
| 186 | |
| 187 | printf "This is file one\nThis is file two\nThis is file three\n" > ar.exp |
| 188 | |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 189 | @@ -247,9 +259,9 @@ test12() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 190 | test13() |
| 191 | { |
| 192 | |
| 193 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 194 | - $TST_DATAROOT/file3.in |
| 195 | - ROD ar -q lib.a $TST_DATAROOT/file4.in |
| 196 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 197 | + $TST_DATAROOT/file3.in |
| 198 | + ROD ar -q"$MOD" lib.a $TST_DATAROOT/file4.in |
| 199 | ROD ar -t lib.a \> ar.out |
| 200 | |
| 201 | printf "file1.in\nfile2.in\nfile3.in\nfile4.in\n" > ar.exp |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 202 | @@ -267,14 +279,14 @@ test13() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 203 | test14() |
| 204 | { |
| 205 | ROD touch file0.in |
| 206 | - ROD ar -cr lib.a file0.in $TST_DATAROOT/file1.in |
| 207 | + ROD ar -cr"$MOD" lib.a file0.in $TST_DATAROOT/file1.in |
| 208 | |
| 209 | file0_mtime1=$(ar -tv lib.a | grep file0.in) |
| 210 | file1_mtime1=$(ar -tv lib.a | grep file1.in) |
| 211 | |
| 212 | touch -c -t $(date --date='next day' +"%Y%m%d%H%M") file0.in |
| 213 | |
| 214 | - ROD ar -ru lib.a file0.in $TST_DATAROOT/file1.in |
| 215 | + ROD ar -ru"$MOD" lib.a file0.in $TST_DATAROOT/file1.in |
| 216 | |
| 217 | file0_mtime2=$(ar -tv lib.a | grep file0.in) |
| 218 | file1_mtime2=$(ar -tv lib.a | grep file1.in) |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 219 | @@ -296,7 +308,7 @@ test14() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 220 | |
| 221 | test15() |
| 222 | { |
| 223 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in |
| 224 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in |
| 225 | ROD ar -tv lib.a \> ar.out |
| 226 | |
| 227 | if grep -q '[rwx-]\{9\} [0-9].*/[0-9].*\s*[0-9].*.*file1.in' ar.out; then |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 228 | @@ -311,9 +323,9 @@ test15() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 229 | |
| 230 | test16() |
| 231 | { |
| 232 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 233 | - $TST_DATAROOT/file3.in |
| 234 | - ROD ar -xv lib.a \> ar.out |
| 235 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \ |
| 236 | + $TST_DATAROOT/file3.in |
| 237 | + ROD ar -xv"$MOD" lib.a \> ar.out |
| 238 | |
| 239 | printf "x - file1.in\nx - file2.in\nx - file3.in\n" > ar.exp |
| 240 | |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 241 | @@ -335,8 +347,8 @@ test16() |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 242 | |
| 243 | test17() |
| 244 | { |
| 245 | - ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in |
| 246 | - ROD ar -xv lib.a file2.in \> ar.out |
| 247 | + ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in |
| 248 | + ROD ar -xv"$MOD" lib.a file2.in \> ar.out |
| 249 | |
| 250 | printf "x - file2.in\n" > ar.exp |
| 251 | |
| 252 | -- |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 253 | 2.19.0.rc2 |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 254 | |