summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Rosdahl <joel@rosdahl.net>2016-07-27 16:19:03 +0200
committerJoel Rosdahl <joel@rosdahl.net>2016-07-27 20:13:33 +0200
commit50388373dcb4d4fdc0329cb706baace73eb4dca4 (patch)
treeca1c02624f2f08e58da0946c465a0624ee70aaa0
parent0311910ed537e8d751a1dea5132f89e790372cdf (diff)
downloadccache-50388373dcb4d4fdc0329cb706baace73eb4dca4.tar.gz
test: Extract conditional -finput-charset test to own suite
-rwxr-xr-xtest.sh59
1 files changed, 33 insertions, 26 deletions
diff --git a/test.sh b/test.sh
index a4c84e9c..bc2d6e08 100755
--- a/test.sh
+++ b/test.sh
@@ -143,6 +143,7 @@ run_suite() {
local name=$1
CURRENT_SUITE=$name
+ UNCACHED_COMPILE=uncached_compile
cd $ABS_TESTDIR
rm -rf $ABS_TESTDIR/fixture
@@ -217,7 +218,6 @@ TEST() {
touch $CCACHE_CONFIGPATH
CCACHE_COMPILE="$CCACHE $COMPILER"
- UNCACHED_COMPILE=uncached_compile
if $VERBOSE; then
printf "\n %s" $CURRENT_TEST
@@ -675,30 +675,6 @@ b"
expect_stat 'cache miss' 1
# -------------------------------------------------------------------------
- TEST "-finput-charset"
-
- unset CCACHE_CPP2
-
- printf '#include <wchar.h>\nwchar_t foo[] = L"\xbf";\n' >latin1.c
- if $UNCACHED_COMPILE -c -finput-charset=latin1 latin1.c >/dev/null 2>&1; then
- CCACHE_CPP2=1 $CCACHE_COMPILE -c -finput-charset=latin1 latin1.c
- expect_stat 'cache hit (preprocessed)' 0
- expect_stat 'cache miss' 1
-
- CCACHE_CPP2=1 $CCACHE_COMPILE -c -finput-charset=latin1 latin1.c
- expect_stat 'cache hit (preprocessed)' 1
- expect_stat 'cache miss' 1
-
- $CCACHE_COMPILE -c -finput-charset=latin1 latin1.c
- expect_stat 'cache hit (preprocessed)' 1
- expect_stat 'cache miss' 2
-
- $CCACHE_COMPILE -c -finput-charset=latin1 latin1.c
- expect_stat 'cache hit (preprocessed)' 2
- expect_stat 'cache miss' 2
- fi
-
- # -------------------------------------------------------------------------
TEST "-S"
$CCACHE_COMPILE -S test1.c
@@ -3193,7 +3169,37 @@ SUITE_upgrade() {
# =============================================================================
-# -----------------------------------------------------------------------------
+SUITE_input_charset_PROBE() {
+ touch test.c
+ if ! $UNCACHED_COMPILE -c -finput-charset=latin1 test.c >/dev/null 2>&1; then
+ echo "compiler doesn't support -finput-charset"
+ fi
+}
+
+SUITE_input_charset() {
+ # -------------------------------------------------------------------------
+ TEST "-finput-charset"
+
+ printf '#include <wchar.h>\nwchar_t foo[] = L"\xbf";\n' >latin1.c
+
+ CCACHE_CPP2=1 $CCACHE_COMPILE -c -finput-charset=latin1 latin1.c
+ expect_stat 'cache hit (preprocessed)' 0
+ expect_stat 'cache miss' 1
+
+ CCACHE_CPP2=1 $CCACHE_COMPILE -c -finput-charset=latin1 latin1.c
+ expect_stat 'cache hit (preprocessed)' 1
+ expect_stat 'cache miss' 1
+
+ $CCACHE_COMPILE -c -finput-charset=latin1 latin1.c
+ expect_stat 'cache hit (preprocessed)' 1
+ expect_stat 'cache miss' 2
+
+ $CCACHE_COMPILE -c -finput-charset=latin1 latin1.c
+ expect_stat 'cache hit (preprocessed)' 2
+ expect_stat 'cache miss' 2
+}
+
+# =============================================================================
# main program
if pwd | grep '[^A-Za-z0-9/.,=_%+-]' >/dev/null 2>&1; then
@@ -3315,6 +3321,7 @@ readonly_direct
cleanup
pch
upgrade
+input_charset
"
compiler_location=$(which $COMPILER)