File: run_tests.sh

package info (click to toggle)
chromium-browser 41.0.2272.118-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 2,189,132 kB
  • sloc: cpp: 9,691,462; ansic: 3,341,451; python: 712,689; asm: 518,779; xml: 208,926; java: 169,820; sh: 119,353; perl: 68,907; makefile: 28,311; yacc: 13,305; objc: 11,385; tcl: 3,186; cs: 2,225; sql: 2,217; lex: 2,215; lisp: 1,349; pascal: 1,256; awk: 407; ruby: 155; sed: 53; php: 14; exp: 11
file content (60 lines) | stat: -rwxr-xr-x 1,723 bytes parent folder | download | duplicates (3)
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
58
59
60
#!/bin/bash
# Copyright (c) 2012 The Native Client Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

cd "$(dirname $0)"/..
readonly base=$PWD

readonly bitsplatform=$1

if [ "$bitsplatform" != 32 ] && [ "$bitsplatform" != 64 ]; then
  echo -n "Usage: $0 <32|64>"
  exit 1;
fi

readonly proxy_bin="$base"/glibc-tests/bin
readonly bld_old="$base"/BUILD/build-glibc"$bitsplatform"
readonly bld="$base"/glibc-tests/build-glibc"$bitsplatform"
readonly base_timestamp="$bld"/base-timestamp
readonly logfile=/tmp/$(basename $0).$$.log

cat "$base"/glibc-tests/exclude_list.txt | egrep -v '^#|^[[:space:]]*$' | \
  while read file; do
    echo $file EXCLUDED_IN_NACL
  done

echo -n "Copying the glibc build directory... "
rm -rf "$bld"
/bin/cp -a "$bld_old" "$base"/glibc-tests/
echo done

touch "$base_timestamp"
cat "$base"/glibc-tests/exclude_list.txt | egrep -v '^#|^[[:space:]]*$' | \
  while read file; do
    touch -r "$base_timestamp" "$bld/$file"{.o,,.os,.so,.out}
  done

# Run the tests using 'make -k' to be able to see all failures.
# Set the pipe to return last failed exit code since by default 'tee' overwrites
# the exit code.
set -o pipefail
make -k -C "$base"/SRC/glibc check \
  LDFLAGS=-B"$proxy_bin" objdir="$bld" \
  run-program-prefix="$proxy_bin"/nacl_tester.sh 2>&1 |
    tee "$logfile"
ret=$?
set +o pipefail

if egrep ' FAIL$|Error' "$logfile" > "$logfile".fail; then
  echo "Error: Unexpected test failures:" 1>&2
  ret=1
  cat "$logfile".fail 1>&2
elif [[ "$ret" != "0" ]]; then
  echo "Error: make command failed" 1>&2
else
  echo "All tests passed successfully!" 1>&2
fi

rm -f "$logfile" "$logfile".fail
exit $ret