blob: ec5e2ef95a61af01b7043d0fd2c6e0c4c0d7cf1c [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001From 04da9478887e705ea38e4f097492da20e651686c Mon Sep 17 00:00:00 2001
2From: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
3Date: Wed, 13 Sep 2017 15:48:42 +0800
4Subject: [PATCH] commands/ar01: Fix for test in deterministic mode
5
6If binutils was configured with --enable-deterministic-archives,
7ar will run in deterministic mode by default, and use zero for
8timestamps and uids/gids, which makes the test case abnormal.
9
10Fix this by add the "U" modifier when deterministic mode is default.
11
12Signed-off-by: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
13Signed-off-by: Fei Jie <feij.fnst@cn.fujitsu.com>
14
15Upstream-Status: Backport
16[http://lists.linux.it/pipermail/ltp/2017-September/005668.html]
17
18Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
19---
20 testcases/commands/ar/ar01 | 92 ++++++++++++++++++++++++++--------------------
21 1 file changed, 52 insertions(+), 40 deletions(-)
22
23diff --git a/testcases/commands/ar/ar01 b/testcases/commands/ar/ar01
Brad Bishop19323692019-04-05 15:28:33 -040024index be105f6da..813a51d9c 100644
Brad Bishop316dfdd2018-06-25 12:45:53 -040025--- a/testcases/commands/ar/ar01
26+++ b/testcases/commands/ar/ar01
Brad Bishop19323692019-04-05 15:28:33 -040027@@ -24,16 +24,28 @@
Brad Bishop316dfdd2018-06-25 12:45:53 -040028 #
Brad Bishop19323692019-04-05 15:28:33 -040029 AR="${AR:=ar}"
Brad Bishop316dfdd2018-06-25 12:45:53 -040030 TST_CNT=17
31+TST_SETUP=setup
32 TST_TESTFUNC=test
33 TST_NEEDS_TMPDIR=1
Brad Bishop19323692019-04-05 15:28:33 -040034 TST_NEEDS_CMDS="$AR"
35
Brad Bishop316dfdd2018-06-25 12:45:53 -040036 . 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 Bishop19323692019-04-05 15:28:33 -040058@@ -50,9 +62,9 @@ test1()
Brad Bishop316dfdd2018-06-25 12:45:53 -040059
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 Bishop19323692019-04-05 15:28:33 -040071@@ -69,8 +81,8 @@ test2()
Brad Bishop316dfdd2018-06-25 12:45:53 -040072
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 Bishop19323692019-04-05 15:28:33 -040082@@ -87,9 +99,9 @@ test3()
Brad Bishop316dfdd2018-06-25 12:45:53 -040083
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 Bishop19323692019-04-05 15:28:33 -040095@@ -106,7 +118,7 @@ test4()
Brad Bishop316dfdd2018-06-25 12:45:53 -040096
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 Bishop19323692019-04-05 15:28:33 -0400104@@ -120,7 +132,7 @@ test5()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400105
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 Bishop19323692019-04-05 15:28:33 -0400113@@ -134,9 +146,9 @@ test6()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400114
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 Bishop19323692019-04-05 15:28:33 -0400126@@ -153,9 +165,9 @@ test7()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400127
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 Bishop19323692019-04-05 15:28:33 -0400139@@ -172,8 +184,8 @@ test8()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400140
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 Bishop19323692019-04-05 15:28:33 -0400150@@ -190,9 +202,9 @@ test9()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400151
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 Bishop19323692019-04-05 15:28:33 -0400163@@ -209,9 +221,9 @@ test10()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400164
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 Bishop19323692019-04-05 15:28:33 -0400176@@ -228,9 +240,9 @@ test11()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400177
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 Bishop19323692019-04-05 15:28:33 -0400189@@ -247,9 +259,9 @@ test12()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400190 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 Bishop19323692019-04-05 15:28:33 -0400202@@ -267,14 +279,14 @@ test13()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400203 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 Bishop19323692019-04-05 15:28:33 -0400219@@ -296,7 +308,7 @@ test14()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400220
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 Bishop19323692019-04-05 15:28:33 -0400228@@ -311,9 +323,9 @@ test15()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400229
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 Bishop19323692019-04-05 15:28:33 -0400241@@ -335,8 +347,8 @@ test16()
Brad Bishop316dfdd2018-06-25 12:45:53 -0400242
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 Bishop19323692019-04-05 15:28:33 -04002532.19.0.rc2
Brad Bishop316dfdd2018-06-25 12:45:53 -0400254