summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/rw-multi-native-configs/test.select22
-rwxr-xr-xtests/rw-multi-native-configs/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0/gfortran0
-rwxr-xr-xtests/rw-multi-native-configs/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.1/g++0
3 files changed, 20 insertions, 2 deletions
diff --git a/tests/rw-multi-native-configs/test.select b/tests/rw-multi-native-configs/test.select
index 5912d2c..c6d9daf 100644
--- a/tests/rw-multi-native-configs/test.select
+++ b/tests/rw-multi-native-configs/test.select
@@ -1,9 +1,27 @@
#!/bin/bash
+
+baseline=( {,${CHOST}-}{cpp,gcc} cc )
+gxx=( {,${CHOST}-}g++ )
+gfortran=( {,${CHOST}-}gfortran )
+
for (( i = 1; i < 4; ++i )) ; do
- rm -f usr/bin/*
gcc-config -C ${i} "$@" || exit 1
- for b in {,${CHOST}-}{cpp,gcc} cc ; do
+
+ do_want=( "${baseline[@]}" )
+ dont_want=( )
+ case ${i} in
+ 1) do_want+=( "${gfortran[@]}" )
+ dont_want+=( "${gxx[@]}" ) ;;
+ 2) do_want+=( "${gxx[@]}" )
+ dont_want+=( "${gfortran[@]}" ) ;;
+ 3) dont_want+=( "${gfortran[@]}" "${gxx[@]}" ) ;;
+ esac
+
+ for b in "${do_want[@]}" ; do
[[ -e usr/bin/${b} ]] || exit 1
done
+ for b in "${dont_want[@]}" ; do
+ [[ -e usr/bin/${b} ]] && exit 1
+ done
[[ -e etc/env.d/04gcc-${CHOST} ]] || exit 1
done
diff --git a/tests/rw-multi-native-configs/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0/gfortran b/tests/rw-multi-native-configs/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0/gfortran
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/tests/rw-multi-native-configs/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0/gfortran
diff --git a/tests/rw-multi-native-configs/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.1/g++ b/tests/rw-multi-native-configs/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.1/g++
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/tests/rw-multi-native-configs/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.1/g++