설명 없음

test.sh 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/bash
  2. set -e
  3. TEST_APP_NAME='RNFetchBlobTest'
  4. TEST_APP_PATH="$(pwd)/${TEST_APP_NAME}"
  5. TARGET='android'
  6. CWD=$(pwd)
  7. if [ "$#" -eq 1 ]; then
  8. if [ "$1" == 'android' ]; then
  9. TARGET="$1"
  10. echo 'start android test'
  11. elif [ "$1" == 'ios' ]; then
  12. TARGET="$1"
  13. echo 'start ios test'
  14. else
  15. exit "unrecongized target platform $1, please specify a target platform `ios` or `android`."
  16. fi
  17. elif [ "$#" -gt 2 ] && [ "$1" == 'path' ]; then
  18. TEST_APP_PATH="$2"
  19. TARGET="$3"
  20. echo "use exist test app path=$2 target=$3"
  21. else
  22. exit "unrecongized arguments."
  23. fi
  24. # Create new rn project
  25. if [ "$#" -eq 1 ]; then
  26. echo 'creating test app RNFetchBlobTest ..'
  27. react-native init "${TEST_APP_NAME}"
  28. fi
  29. # copy js files to test app folder
  30. cp -R test/ "${TEST_APP_PATH}/"
  31. node -e "var fs=require('fs'); var pkg = JSON.parse(fs.readFileSync('./RNFetchBlobTest/package.json')); pkg.rnpm = {assets : ['assets']}; fs.writeFileSync('./RNFetchBlobTest/package.json', JSON.stringify(pkg, null, 4));"
  32. # install module
  33. cd "${TEST_APP_PATH}"
  34. npm install --save "${CWD}/src"
  35. rnpm link
  36. # copy android assets
  37. cp ./test/assets/ ./RNFetchBlobTest/android/app/src/main/
  38. # start RN
  39. cd "${TEST_APP_PATH}"
  40. if [ "$#" == 4 ]; then
  41. sed -i.bak "s/${TEST_APP_NAME}/$4/" ./index.test.js
  42. fi
  43. react-native "run-${TARGET}"
  44. # install dev packages
  45. cd ${CWD}
  46. npm install
  47. # start test server
  48. cd "${CWD}/test-server"
  49. # kill existing server
  50. kill "$(lsof | grep :8123 | awk '{ printf $2 }')"
  51. node server