corda/test/ci.sh
Joel Dice 2a43e68c16 fix all the bugs
So there I was, planning to just fix one little bug: Thread.holdsLock
and Thread.yield were missing for the Android class library.  Easy
enough, right?  So, I added a test, got it passing, and figured I'd go
ahead and run ci.sh with all three class libraries.  Big mistake.

Here's the stuff I found:

 * minor inconsistency in README.md about OpenSSL version

 * untested, broken Class.getEnclosingMethod (reported by Josh)

 * JNI test failed for tails=true Android build

 * Runtime.nativeExit missing for Android build

 * obsolete assertion in CallEvent broke tails=true Android build

 * obsolete superclass field offset padding broke bootimage=true Android build

 * runtime annotation parsing broke bootimage=true Android build
   (because we couldn't modify Addendum.annotationTable for classes in
   the heap image)

 * ci.sh tried building with both android=... and openjdk=..., which
   the makefile rightfully balked at

Sorry this is all in a single commit; I didn't expect so many
unrelated issues, and I'm too lazy to break them apart.
2014-07-12 16:57:24 -06:00

35 lines
946 B
Bash
Executable File

#!/bin/sh
set -e
run() {
echo '==============================================='
echo "${@}"
echo '==============================================='
"${@}"
}
if [ -z "${test_target}" ]; then
test_target=test
fi
# we shouldn't run jdk-test builds if we're not running the test target
if [ ${test_target} = test ]; then
run make ${flags} jdk-test
fi
run make ${flags} ${test_target}
run make ${flags} mode=debug ${test_target}
run make ${flags} process=interpret ${test_target}
# bootimage and openjdk builds without openjdk-src don't work:
if [ -z "${openjdk}" ]; then
run make ${flags} bootimage=true ${test_target}
run make ${flags} mode=debug bootimage=true ${test_target}
if [ -z "${android}" ]; then
# might as well do an openjdk test while we're here:
run make openjdk=$JAVA_HOME ${flags} ${test_target}
fi
fi
run make ${flags} tails=true continuations=true ${test_target}
run make ${flags} codegen-targets=all