You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build_and_test 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/bin/bash -ex
  2. #
  3. # this script is triggered by SCM changes and is run on the build server.
  4. # output is conditionally mailed to gpsbabel-code.
  5. #
  6. # echo some system info to log
  7. uname -a
  8. if [ -e /etc/system-release ]; then
  9. cat /etc/system-release
  10. fi
  11. if [ -e /etc/os-release ]; then
  12. cat /etc/os-release
  13. fi
  14. git --no-pager log -n 1
  15. # the timestamps from a svn co are unpredicatble.
  16. # this can cause problems if targets are checked into svn.
  17. # some of our targets are part of the svn repository to allow a
  18. # minimal set of build tools to be used.
  19. # touch these targets to make sure they aren't considered out of date.
  20. touch configure
  21. touch xcsv_tokens.gperf
  22. touch internal_styles.cc
  23. # build and test keeping output within the pwd.
  24. export GBTEMP=$(pwd)/gbtemp
  25. mkdir -p $GBTEMP
  26. ./configure --with-doc=$(pwd)/gpsbabel_docdir
  27. make toolinfo
  28. make clean
  29. make
  30. make linux-gui
  31. make doc
  32. make gpsbabel.html
  33. make check
  34. #make torture
  35. rm -f vg.log
  36. ./vtesto -l -j vg.log
  37. # eat the verbose output from test-all, including crash.output
  38. # this is a bit risky, if test-all generates an error we won't see what happened.
  39. echo "test-all in progress... (read/write test between all possible formats)"
  40. (LIBC_FATAL_STDERR_=1; export LIBC_FATAL_STDERR_; ./test-all -s -r reference/expertgps.gpx >/dev/null 2>&1)
  41. # summarize the test-all results, and generate an error if a fatal error was
  42. # detected by test-all.
  43. ./test-all -J