aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/cpio/cpio-2.11/0001-fix-testcase-of-symlink-bad-length.patch
blob: 642f557ac816181d408bf7fe716fa91d7c4b049c (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
Upstream-Status: Backport

Subject: fix testcase of symlink-bad-length

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 tests/symlink-bad-length.at | 24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/tests/symlink-bad-length.at b/tests/symlink-bad-length.at
index 74208ce..11fc6ce 100644
--- a/tests/symlink-bad-length.at
+++ b/tests/symlink-bad-length.at
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite.  -*- Autotest -*-
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 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
@@ -35,14 +35,30 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
 ])
 
+# The exact error message and exit status depend on the host architecture,
+# therefore strderr is filtered out and error code is not checked.
+
+# So far the only case when cpio would exit with code 0 is when it skips
+# several bytes and encounters a valid record header.  Perhaps it should
+# exit with code 2 (non-critical error), if at least one byte was skipped,
+# but that could hurt backward compatibility.
+
 AT_CHECK([
 base64 -d ARCHIVE.base64 > ARCHIVE || AT_SKIP_TEST
-cpio -ntv < ARCHIVE
-test $? -eq 2
+TZ=UTC cpio -ntv < ARCHIVE 2>stderr 
+cat stderr | grep -v \
+    -e 'stored filename length is out of range' \
+    -e 'premature end of file' \
+    -e 'archive header has reverse byte-order' \
+    -e 'memory exhausted' \
+    -e 'skipped [[0-9][0-9]*] bytes of junk' \
+    -e '[[0-9][0-9]*] block' \
+    >&2
+echo >&2 STDERR
 ],
 [0],
 [-rw-rw-r--   1 10029    10031          13 Nov 25  2014 FILE
-],[cpio: premature end of file
+],[STDERR
 ])
 
 AT_CLEANUP
-- 
1.9.1