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.

directTester.sh 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/sh
  2. # syntax: <mainFile> {file}...
  3. # info: compile files and run mainFile class (with Tester classes)
  4. # requires JDKDIR and build output be available
  5. [ -n "$DEBUG" ] && set -vx
  6. pathtojava() {
  7. echo "$1" | sed 's|/cygdrive/\(c\)/|\1:/|' # todo
  8. }
  9. errMssg() {
  10. echo "## $0 Error: $1"
  11. if [ -n "$2" ] ; then exit "$2" ; fi
  12. }
  13. sourcesRunningInNew() {
  14. cat<<EOF
  15. InnerInterfaceNames.java
  16. InnerInterfaceAccess.java
  17. PR691.java
  18. AroundDoubleAssignment.java
  19. AroundDoubleAssignmentC.java
  20. AroundChangeThis.java
  21. PointcutQualification.java
  22. PointcutQualification2.java
  23. AbstractPointcutAccess.java
  24. SourceLocationCall.java
  25. CallNotTarget.java
  26. AroundCall.java
  27. ArgsInCflow2.java
  28. FactorialCflow.java
  29. ArrayInc.java
  30. TargetObjectReplacement.java
  31. EOF
  32. }
  33. runAjc() {
  34. "$JDKDIR/bin/java" -classpath "$compilerJar" org.aspectj.tools.ajc.Main \
  35. -d "$classesDir" -classpath "$rtJar${PS}$clientJar" "${@}"
  36. }
  37. runJava() {
  38. "$JDKDIR/bin/java" -classpath "$rtJar${PS}$clientJar${PS}$classesDir" "${@}"
  39. }
  40. if [ -n "$PS" ] ; then
  41. case `uname` in
  42. CYGWIN* ) PS=";" ;;
  43. * ) PS=":" ;;
  44. esac
  45. fi
  46. scriptDir=`dirname "$0"`
  47. scriptDir=`cd "$scriptDir"; pwd`
  48. java="$JDKDIR/bin/java"
  49. [ -x "$java" ] || errMssg "no java=$java"
  50. ajJarsDir=`cd "$scriptDir/../../../aj-build-modules/jars"; pwd`
  51. ajJarsDirJ=`pathtojava "$ajJarsDir"`
  52. clientJar="$ajJarsDirJ/testing-client.jar"
  53. compilerJar="${compilerJar:-ajJarsDirJ/alltesting.jar}"
  54. rtJar="$ajJarsDirJ/runtime.jar"
  55. classesDir=cl
  56. [ -f "$clientJar" ] || errMssg "no clientJar=$clientJar" 4
  57. [ -f "$rtJar" ] || errMssg "no rtJar=$rtJar" 4
  58. cd "$scriptDir/../new" || errMssg "no new directory" 4
  59. mkdir "$classesDir"
  60. sources="${@:-`sourcesRunningInNew`}"
  61. for srcFile in $sources ; do
  62. [ -f "$srcFile" ] || errMssg "no srcFile=$srcFile" 4
  63. className=`echo "$srcFile" | sed 's|\/|.|g;s|\.java||'`
  64. [ -n "$className" ] || errMssg "no className" 4
  65. rm -rf "$classesDir"/*
  66. runAjc "${srcFile}"
  67. runJava $className || echo '<<<< FAIL '"$srcFile"
  68. done
  69. rm -rf "$classesDir"