diff options
Diffstat (limited to 'scripts/qemuimage-tests/tools/compiler_test.sh')
-rw-r--r-- | scripts/qemuimage-tests/tools/compiler_test.sh | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/scripts/qemuimage-tests/tools/compiler_test.sh b/scripts/qemuimage-tests/tools/compiler_test.sh deleted file mode 100644 index 9c30d6d78b..0000000000 --- a/scripts/qemuimage-tests/tools/compiler_test.sh +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/bash -# compiler test script running in target -# -# Author: Jiajun Xu <jiajun.xu@intel.com> -# -# This file is licensed under the GNU General Public License, -# Version 2. -# - -# Prepare test folder for compiler test -COMPILE_FOLDER="/opt/test/compile_test" -TEST_FILE="$COMPILE_FOLDER/compile_test.c" -EXECUTE_FILE="$COMPILE_FOLDER/compile_test" -TEST_MAKEFILE="$COMPILE_FOLDER/makefile" -TEST_LIST="gcc g++ make" - -if [ ! -d $COMPILE_FOLDER ]; then - mkdir -p $COMPILE_FOLDER -fi - -Target_Info() -{ - echo -e "\tTARGET: $*" -} - -Target_Err() -{ - echo -e "\tTARGET: ##### Error Log #####" - $@ - echo -e "\tTARGET: ##### End #####" -} - -# Function to generate a c test file for compiler testing -Gen_File() -{ - temp=`mktemp` - - # Generate c/c++ test file for compiler testing - echo "#include <stdio.h>" >> $temp - echo "#include <math.h>" >> $temp - echo "" >> $temp - echo "double" >> $temp - echo "convert(long long l)" >> $temp - echo "{" >> $temp - echo " return (double)l; // or double(l)" >> $temp - echo "}" >> $temp - echo "" >> $temp - echo "int" >> $temp - echo "main(int argc, char * argv[])" >> $temp - echo "{" >> $temp - echo " long long l = 10;" >> $temp - echo " double f;" >> $temp - echo "" >> $temp - echo " f = convert(l);" >> $temp - echo " printf(\"convert: %lld => %f\n\", l, f);" >> $temp - echo "" >> $temp - echo " f = 1234.67;" >> $temp - echo " printf(\"floorf(%f) = %f\n\", f, floorf(f));" >> $temp - echo " return 0;" >> $temp - echo "}" >> $temp - echo $temp -} - -# Function to generate a makefile for compiler testing -Gen_Makefile() -{ - temp=`mktemp` - basename=`basename $EXECUTE_FILE` - - echo -e "$basename: $basename.o" >> $temp - echo -e "\tgcc -o $basename $basename.o -lm" >> $temp - echo -e "$basename.o: $basename.c" >> $temp - echo -e "\tgcc -c $basename.c" >> $temp - - echo $temp -} - -# Generate a c test file for compiler testing -test_file=`Gen_File` - -MOVE=`which mv` -$MOVE $test_file $TEST_FILE - -# Begin compiler test in target -for cmd in $TEST_LIST -do - which $cmd - if [ $? -ne 0 ]; then - Target_Info "No $cmd command found" - exit 1 - fi - - if [ "$cmd" == "make" ]; then - rm -rf $EXECUTE_FILE - - # For makefile test, we need to generate a makefile and run with a c file - makefile=`Gen_Makefile` - $MOVE $makefile $TEST_MAKEFILE - - cd `dirname $TEST_MAKEFILE` - make - - if [ $? -ne 0 ]; then - Target_Info "$cmd running with error, Pls. check error in following" - Target_Err make - exit 1 - fi - else - rm -rf $EXECUTE_FILE - - # For gcc/g++, we compile a c test file and check the output - $cmd $TEST_FILE -o $EXECUTE_FILE -lm - - if [ $? -ne 0 ]; then - Target_Info "$cmd running with error, Pls. check error in following" - Target_Err $cmd $TEST_FILE -o $EXECUTE_FILE -lm - exit 1 - fi - fi - - # Check if the binary file generated by $cmd can work without error - if [ -f $EXECUTE_FILE ]; then - $EXECUTE_FILE - if [ $? -ne 0 ]; then - Target_Info "$EXECUTE_FILE running with error, Pls. check error in following" - Target_Err $EXECUTE_FILE - exit 1 - else - Target_Info "$cmd can work without problem in target" - fi - else - Target_Info "No executalbe file $EXECUTE_FILE found, Pls. check the error log" - exit 1 - fi -done - -exit 0 |