test_native.sh 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #!/bin/bash
  2. #-------------------------------------------------------------------------------------------------------
  3. # Copyright (C) Microsoft. All rights reserved.
  4. # Copyright (c) 2021 ChakraCore Project Contributors. All rights reserved.
  5. # Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  6. #-------------------------------------------------------------------------------------------------------
  7. CH_DIR=$1
  8. BUILD_TYPE=$2
  9. CC=$3
  10. CXX=$4
  11. ROOT_DIR=$5
  12. RES=
  13. echo ""
  14. echo "########## Running POSIX Native Tests ###########"
  15. echo "Using CC [${CC}]"
  16. echo "Using CXX [${CXX}]"
  17. echo ""
  18. SAFE_RUN() {
  19. local SF_OUTPUT
  20. SF_OUTPUT=$(eval "( $1 )" 2>&1)
  21. if [[ $? != 0 ]]; then
  22. >&2 echo "$SF_OUTPUT"
  23. exit 1
  24. fi
  25. }
  26. TEST () {
  27. if [[ $RES =~ $1 ]]; then
  28. echo "${TEST_PATH} : PASS"
  29. else
  30. echo "${TEST_PATH} FAILED"
  31. echo -e "$RES"
  32. exit 1
  33. fi
  34. }
  35. RUN () {
  36. TEST_PATH=$1
  37. echo "Testing $TEST_PATH"
  38. SAFE_RUN "cd $TEST_PATH && ${CH_DIR} Platform.js -args ${ROOT_DIR} > Makefile"
  39. RES=$(cd $TEST_PATH; cat Makefile)
  40. if [[ $RES =~ "# IGNORE_THIS_TEST" ]]; then
  41. echo "Ignoring $TEST_PATH"
  42. else
  43. SAFE_RUN "cd $TEST_PATH && make CC=${CC} CXX=${CXX}"
  44. RES=$(cd $TEST_PATH; ./sample.o)
  45. TEST "SUCCESS"
  46. SAFE_RUN "cd $TEST_PATH && rm -rf ./sample.o"
  47. fi
  48. }
  49. RUN_CMD () {
  50. TEST_PATH=$1
  51. CMD=$2
  52. echo "Testing $TEST_PATH"
  53. SAFE_RUN "cd $TEST_PATH && $CMD"
  54. }
  55. # static lib tests
  56. tests=$(ls | tr "\t" " ")
  57. for item in ${tests[*]}
  58. do
  59. if [[ $item =~ "test-static-" ]]; then
  60. RUN $item
  61. fi
  62. done
  63. # shared lib tests
  64. LIB_DIR="$(dirname ${CH_DIR})"
  65. EXTENSION=""
  66. if [[ `uname -a` =~ "Darwin" ]]; then
  67. export DYLD_LIBRARY_PATH=${LIB_DIR}/:$DYLD_LIBRARY_PATH
  68. EXTENSION="dylib"
  69. else
  70. export LD_LIBRARY_PATH=${LIB_DIR}/:$LD_LIBRARY_PATH
  71. EXTENSION="so"
  72. fi
  73. RUN "test-shared-basic"
  74. # test python
  75. #RUN_CMD "test-python" "python helloWorld.py ${BUILD_TYPE} ${CH_DIR%/*}/libChakraCore.${EXTENSION}"
  76. SAFE_RUN "rm -rf Makefile"