Newer
Older
dub_jkp / test / cache-generated-test-config.sh
  1. #!/usr/bin/env bash
  2.  
  3. . $(dirname "${BASH_SOURCE[0]}")/common.sh
  4. cd ${CURR_DIR}/cache-generated-test-config
  5. rm -rf .dub
  6.  
  7. ${DUB} test --compiler=${DC}
  8.  
  9. STAT="stat -c '%Y'"
  10. [[ "$OSTYPE" == "darwin"* ]] && STAT="stat -f '%m' -t '%Y'"
  11.  
  12. EXECUTABLE_TIME="$(${STAT} cache-generated-test-config-test-library)"
  13. [ -z "$EXECUTABLE_TIME" ] && die $LINENO 'no EXECUTABLE_TIME was found'
  14. MAIN_TIME="$(${STAT} "$(ls .dub/code/*dub_test_root.d)")"
  15. [ -z "$MAIN_TIME" ] && die $LINENO 'no MAIN_TIME was found'
  16.  
  17. ${DUB} test --compiler=${DC}
  18. MAIN_FILES_COUNT=$(ls .dub/code/*dub_test_root.d | wc -l)
  19.  
  20. [ $MAIN_FILES_COUNT -ne 1 ] && die $LINENO 'DUB generated more then one main file'
  21. [ "$EXECUTABLE_TIME" != "$(${STAT} cache-generated-test-config-test-library)" ] && die $LINENO 'The executable has been rebuilt'
  22. [ "$MAIN_TIME" != "$(${STAT} "$(ls .dub/code/*dub_test_root.d | head -n1)")" ] && die $LINENO 'The test main file has been rebuilt'
  23.  
  24. exit 0