diff options
author | Sebastien Hertz <shertz@google.com> | 2015-02-24 17:39:50 +0100 |
---|---|---|
committer | Sebastien Hertz <shertz@google.com> | 2015-07-09 11:23:13 +0200 |
commit | 5ee9454dfee08a70dec62b0ed0fd4ad274274937 (patch) | |
tree | 0d59bfc38f70c677d8ecd066618ed17dd838259b /test/113-multidex | |
parent | c2bf1255ebf360d009dd0763dcea8d2c9b9c676e (diff) | |
download | art-5ee9454dfee08a70dec62b0ed0fd4ad274274937.tar.gz art-5ee9454dfee08a70dec62b0ed0fd4ad274274937.tar.bz2 art-5ee9454dfee08a70dec62b0ed0fd4ad274274937.zip |
Support compiling run-tests with jack
This CL adds support to compile run-test source files with jack. When
a test needs to rely on class files, we use jill to convert them to a
jack library.
We need to pass the full classpath to jack containing at least core
classes (like java.lang.Object). This means the Android tree must
have been compiled with jack first so we find all the necessary
classes.jack files.
Some tests still rely on dex files generated with the old toolchain.
We keep building them this way for the moment and will update them
later, when they get ready for Jack.
Also updates a few tests dealing with garbage collection to avoid a
situation where a reference can be retained by a local DEX register.
Bug: 19467889
(cherry picked from commit 19ac0276208f0afef6ba8a4ab34b74a59b8d11d7)
Change-Id: Ia5a989b83430ffe8298a869a1da970b756721bb0
Diffstat (limited to 'test/113-multidex')
-rw-r--r-- | test/113-multidex/build | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/test/113-multidex/build b/test/113-multidex/build index ec8706ea02..8ef5c0eb0f 100644 --- a/test/113-multidex/build +++ b/test/113-multidex/build @@ -17,16 +17,32 @@ # Stop if something fails. set -e -mkdir classes - # All except Main +mkdir classes ${JAVAC} -d classes `find src -name '*.java'` rm classes/Main.class -${DX} -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex classes # Only Main -${JAVAC} -d classes `find src -name '*.java'` -rm classes/Second.class classes/FillerA.class classes/FillerB.class classes/Inf*.class -${DX} -JXmx256m --debug --dex --dump-to=classes2.lst --output=classes2.dex classes +mkdir classes2 +${JAVAC} -d classes2 `find src -name '*.java'` +rm classes2/Second.class classes2/FillerA.class classes2/FillerB.class classes2/Inf*.class + +if [ ${USE_JACK} = "true" ]; then + # Create .jack files from classes generated with javac. + ${JILL} classes --output classes.jack + ${JILL} classes2 --output classes2.jack + + # Create DEX files from .jack files. + ${JACK} --import classes.jack --output-dex . + mv classes.dex classes-1.dex + ${JACK} --import classes2.jack --output-dex . + mv classes.dex classes2.dex + mv classes-1.dex classes.dex +else + # All except Main + ${DX} -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex classes + # Only Main + ${DX} -JXmx256m --debug --dex --dump-to=classes2.lst --output=classes2.dex classes2 +fi zip $TEST_NAME.jar classes.dex classes2.dex |