OLD | NEW |
---|---|
1 #!/bin/bash | 1 #!/bin/bash |
2 # | 2 # |
3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 # | 6 # |
7 # Hacky, primitive testing: This runs the style plugin for a set of input files | 7 # Hacky, primitive testing: This runs the style plugin for a set of input files |
8 # and compares the output with golden result files. | 8 # and compares the output with golden result files. |
9 | 9 |
10 E_BADARGS=65 | 10 E_BADARGS=65 |
11 E_FAILEDTEST=1 | 11 E_FAILEDTEST=1 |
12 | 12 |
13 failed_any_test= | 13 failed_any_test= |
14 | 14 |
15 # Prints usage information. | 15 # Prints usage information. |
16 usage() { | 16 usage() { |
17 echo "Usage: $(basename "${0}")" \ | 17 echo "Usage: $(basename "${0}")" \ |
18 "<Path to the llvm build dir, usually Release+Asserts>" | 18 "<Path to the llvm build dir, usually Release+Asserts>" |
19 echo "" | 19 echo "" |
20 echo " Runs all the libFindBadConstructs unit tests" | 20 echo " Runs all the libFindBadConstructs unit tests" |
21 echo "" | 21 echo "" |
22 } | 22 } |
23 | 23 |
24 # Runs a single test case. | 24 # Runs a single test case. |
25 do_testcase() { | 25 do_testcase() { |
26 local output="$("${CLANG_DIR}"/bin/clang -c -Wno-c++11-extensions \ | 26 local output="$("${CLANG_DIR}"/bin/clang -c -Wno-c++11-extensions \ |
27 -Xclang -load -Xclang "${CLANG_DIR}"/lib/libFindBadConstructs.${LIB} \ | 27 -Xclang -load -Xclang "${CLANG_DIR}"/lib/libFindBadConstructs.${LIB} \ |
28 -Xclang -plugin -Xclang find-bad-constructs ${1} 2>&1)" | 28 -Xclang -add-plugin -Xclang find-bad-constructs ${1} 2>&1)" |
Nico
2012/07/21 18:36:37
Why this change?
| |
29 local diffout="$(echo "${output}" | diff - "${2}")" | 29 local diffout="$(echo "${output}" | diff - "${2}")" |
30 if [ "${diffout}" = "" ]; then | 30 if [ "${diffout}" = "" ]; then |
31 echo "PASS: ${1}" | 31 echo "PASS: ${1}" |
32 else | 32 else |
33 failed_any_test=yes | 33 failed_any_test=yes |
34 echo "FAIL: ${1}" | 34 echo "FAIL: ${1}" |
35 echo "Output of compiler:" | 35 echo "Output of compiler:" |
36 echo "${output}" | 36 echo "${output}" |
37 echo "Expected output:" | 37 echo "Expected output:" |
38 cat "${2}" | 38 cat "${2}" |
(...skipping 24 matching lines...) Expand all Loading... | |
63 fi | 63 fi |
64 fi | 64 fi |
65 | 65 |
66 for input in *.cpp; do | 66 for input in *.cpp; do |
67 do_testcase "${input}" "${input%cpp}txt" | 67 do_testcase "${input}" "${input%cpp}txt" |
68 done | 68 done |
69 | 69 |
70 if [[ "${failed_any_test}" ]]; then | 70 if [[ "${failed_any_test}" ]]; then |
71 exit ${E_FAILEDTEST} | 71 exit ${E_FAILEDTEST} |
72 fi | 72 fi |
OLD | NEW |