Contents of /tags/mkinitrd-6_1_5/busybox/scripts/randomtest
Parent Directory | Revision Log
Revision 899 -
(show annotations)
(download)
Wed Aug 5 17:52:52 2009 UTC (15 years, 1 month ago) by niro
File size: 2266 byte(s)
Wed Aug 5 17:52:52 2009 UTC (15 years, 1 month ago) by niro
File size: 2266 byte(s)
tagged 'mkinitrd-6_1_5'
1 | #!/bin/sh |
2 | |
3 | # Select which libc to build against |
4 | libc="glibc" # assumed native |
5 | # static, cross-compilation |
6 | libc="uclibc" |
7 | # x86 32-bit: |
8 | uclibc_cross="i486-linux-uclibc-" |
9 | # My system has strange prefix for x86 64-bit uclibc: |
10 | #uclibc_cross="x86_64-pc-linux-gnu-" |
11 | |
12 | test -d tree || exit 1 |
13 | |
14 | dir=test.$$ |
15 | while test -e "$dir" -o -e failed."$dir"; do |
16 | dir=test."$RANDOM" |
17 | done |
18 | |
19 | cp -dpr tree "$dir" || exit 1 |
20 | cd "$dir" || exit 1 |
21 | |
22 | echo "Running randconfig test in $dir..." >&2 |
23 | |
24 | make randconfig >/dev/null || exit 1 |
25 | |
26 | cat .config \ |
27 | | grep -v ^CONFIG_DEBUG_PESSIMIZE= \ |
28 | | grep -v CONFIG_WERROR \ |
29 | | cat >.config.new |
30 | mv .config.new .config |
31 | echo CONFIG_WERROR=y >>.config |
32 | |
33 | test "$libc" = glibc && { |
34 | cat .config \ |
35 | | grep -v ^CONFIG_SELINUX= \ |
36 | | grep -v ^CONFIG_EFENCE= \ |
37 | | grep -v ^CONFIG_DMALLOC= \ |
38 | | cat >.config.new |
39 | mv .config.new .config |
40 | } |
41 | |
42 | test "$libc" = uclibc && { |
43 | cat .config \ |
44 | | grep -v ^CONFIG_SELINUX= \ |
45 | | grep -v ^CONFIG_EFENCE= \ |
46 | | grep -v ^CONFIG_DMALLOC= \ |
47 | | grep -v ^CONFIG_BUILD_LIBBUSYBOX= \ |
48 | | grep -v ^CONFIG_PAM= \ |
49 | | grep -v ^CONFIG_TASKSET= \ |
50 | | grep -v ^CONFIG_FEATURE_ASSUME_UNICODE= \ |
51 | | grep -v ^CONFIG_PIE= \ |
52 | | grep -v CONFIG_STATIC \ |
53 | | grep -v CONFIG_CROSS_COMPILER_PREFIX \ |
54 | | cat >.config.new |
55 | mv .config.new .config |
56 | echo 'CONFIG_CROSS_COMPILER_PREFIX="'"$uclibc_cross"'"' >>.config |
57 | echo 'CONFIG_STATIC=y' >>.config |
58 | } |
59 | |
60 | # If NOMMU, remove some things |
61 | grep -q ^CONFIG_NOMMU= .config && { |
62 | cat .config \ |
63 | | grep -v ^CONFIG_ASH= \ |
64 | | grep -v ^CONFIG_FEATURE_SH_IS_ASH= \ |
65 | | cat >.config.new |
66 | mv .config.new .config |
67 | } |
68 | |
69 | # If STATIC, remove some things |
70 | # PAM with static linking is probably pointless |
71 | # (but I need to try - now I don't have libpam.a on my system, only libpam.so) |
72 | grep -q ^CONFIG_STATIC= .config && { |
73 | cat .config \ |
74 | | grep -v ^CONFIG_PAM= \ |
75 | | cat >.config.new |
76 | mv .config.new .config |
77 | } |
78 | |
79 | # CONFIG_NOMMU + CONFIG_HUSH + CONFIG_WERROR don't mix |
80 | # (produces warning) |
81 | grep -q ^CONFIG_NOMMU= .config && \ |
82 | grep -q ^CONFIG_HUSH= .config && \ |
83 | { |
84 | cat .config \ |
85 | | grep -v ^CONFIG_WERROR= \ |
86 | | cat >.config.new |
87 | mv .config.new .config |
88 | } |
89 | |
90 | # Regenerate .config with default answers for yanked-off options |
91 | { yes "" | make oldconfig >/dev/null; } || exit 1 |
92 | |
93 | nice -n 10 make |
94 | |
95 | test -x busybox && { |
96 | cd .. |
97 | rm -rf "$dir" |
98 | exit 0 |
99 | } |
100 | |
101 | cd .. |
102 | mv "$dir" failed."$dir" |
103 | exit 1 |