Guest User

Untitled

a guest
Jun 20th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. LOGFILE=${0%sh}log
  4. exec > >(tee $LOGFILE)
  5. exec 2>&1
  6. exec 3>>$LOGFILE
  7.  
  8. apacheUser=`awk -F: '/^w/{print $1}' /etc/passwd`
  9. id -u $apacheUser >/dev/null || (echo -e "Could not determine apache user. Found:\n$apacheUser";exit 1)
  10. [ -z "$FOSWIKI_HOME" ] && (echo "No FOSWIKI_HOME set. Please set it and restart this script"; exit 1)
  11. [ -d $FOSWIKI_HOME ] || (echo "FOSWIKI_HOME points to $FOSWIKI_HOME, which is not a directory. Please check it and restart this script"; exit 1)
  12. pushd $FOSWIKI_HOME >&3
  13. sudo chown -R $LOGNAME $FOSWIKI_HOME >&3
  14. find . -type l -exec rm {} \;
  15. rm -rf $FOSWIKI_HOME/data/Temp*
  16. perl pseudo-install.pl developer >&3
  17. mkdir -p $FOSWIKI_HOME/{{data,working,pub},test/unit/{fake_{templates,data},},lib/Foswiki/Plugins}/
  18. sudo chown -R $apacheUser $FOSWIKI_HOME/{{data,working,pub},test/unit/{fake_{templates,data},},lib/Foswiki/Plugins}/
  19. date '+Starting tests at %Y-%m-%d %H:%M:%S'
  20. cd test/unit && sudo -u $apacheUser perl ../bin/TestRunner.pl -clean "${@:-FoswikiSuite.pm}"
  21. cd -
  22. date '+Finished tests at %Y-%m-%d %H:%M:%S'
  23. sudo chown -R $LOGNAME $FOSWIKI_HOME/{{data,working,pub},test/unit/,lib/Foswiki/Plugins}/
  24. perl pseudo-install.pl -u developer >&3
  25. rm -f $FOSWIKI_HOME/working/tmp/{Foswiki,cgisess_}*
  26. popd >&3
  27. exec 3>&-
  28. if grep 'All tests passed' $LOGFILE >/dev/null; then
  29. echo -ne '\e[32m'
  30. grep 'All tests passed' $LOGFILE
  31. RETURN_CODE=0
  32. # Cleaning up
  33. find . -name LocalSite.cfg -prune -o -group www-data -type f -exec rm {} \;
  34. find . -depth -name LocalSite.cfg -prune -o -group www-data -type d -exec rmdir {} \;
  35. [ -d .git ] && git diff --quiet
  36. else
  37. echo -ne '\e[31m'
  38. perl -nle 'if(/^(-+|\d+ failures)$/ ... /^$/){push @a, $_ if /^[^-]+$/}
  39. print join "\n", @a, $_ if /test cases passed/' $LOGFILE
  40. RETURN_CODE=1
  41. fi
  42. echo -ne '\e[0m'
  43. exit $RETURN_CODE
Add Comment
Please, Sign In to add comment