updateScreenshots.sh 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/usr/bin/env bash
  2. if ( [[ $(grep NC_TEST_SERVER_BASEURL ~/.gradle/gradle.properties | grep -v "#" -c) -gt 0 ]] ); then
  3. echo "This will not use server in docker. Please comment in .gradle/gradle.properties. Aborting!"
  4. exit 1
  5. fi
  6. ## emulator
  7. if ( [[ $(emulator -list-avds | grep uiComparison -c) -eq 0 ]] ); then
  8. avdmanager delete avd -n uiComparison
  9. (sleep 5; echo "no") | avdmanager create avd -n uiComparison -c 100M -k "system-images;android-27;google_apis;x86" --abi "google_apis/x86"
  10. fi
  11. emulator -avd uiComparison -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 1>/dev/null &
  12. PID=$(echo $!)
  13. ## server
  14. docker run --name=uiComparison nextcloudci/server:server-17 1>/dev/null &
  15. sleep 5
  16. IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' uiComparison)
  17. if [[ $IP = "" ]]; then
  18. echo "no server"
  19. exit 1
  20. fi
  21. ## run on server
  22. cp gradle.properties gradle.properties_
  23. sed -i s"/server/$IP/" gradle.properties
  24. scripts/wait_for_emulator.sh
  25. # setup test server
  26. docker exec uiComparison /bin/sh -c "/usr/local/bin/initnc.sh"
  27. docker exec uiComparison /bin/sh -c "su www-data -c \"OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1\""
  28. docker exec uiComparison /bin/sh -c "su www-data -c \"OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2\""
  29. docker exec uiComparison /bin/sh -c "su www-data -c \"OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3\""
  30. docker exec uiComparison /bin/sh -c "su www-data -c \"php /var/www/html/occ user:setting user2 files quota 1G\""
  31. docker exec uiComparison /bin/sh -c "su www-data -c \"php /var/www/html/occ group:add users\""
  32. docker exec uiComparison /bin/sh -c "su www-data -c \"php /var/www/html/occ group:adduser users user1\""
  33. docker exec uiComparison /bin/sh -c "su www-data -c \"php /var/www/html/occ group:adduser users user2\""
  34. docker exec uiComparison /bin/sh -c "/usr/local/bin/run.sh"
  35. ## update/create all screenshots
  36. ./gradlew executeScreenshotTests -Precord
  37. ## update screenshots in a class
  38. #./gradlew executeScreenshotTests \
  39. #-Precord \
  40. #-Pandroid.testInstrumentationRunnerArguments.class=\
  41. #com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest
  42. ## update single screenshot within a class
  43. #./gradlew executeScreenshotTests \
  44. #-Precord \
  45. #-Pandroid.testInstrumentationRunnerArguments.class=\
  46. #com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragmentTest#showNotEnoughSpaceDialogForFile
  47. mv gradle.properties_ gradle.properties
  48. # tidy up
  49. kill $PID
  50. docker stop uiComparison
  51. docker rm uiComparison