Skip to content

Commit

Permalink
Test different java versions
Browse files Browse the repository at this point in the history
  • Loading branch information
dex4er committed Nov 1, 2016
1 parent f8dc2fc commit 9aec797
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 24 deletions.
2 changes: 2 additions & 0 deletions .travis.yml
Expand Up @@ -8,7 +8,9 @@ addons:
- libjemalloc1
- libtool
- lsb-release
- openjdk-6-jdk
- openjdk-7-jdk
- openjdk-8-jdk
language: c
before_script:
- lsb_release -a
Expand Down
2 changes: 1 addition & 1 deletion COPYING
@@ -1,4 +1,4 @@
Copyright (c) 2003-2015 Piotr Roszatycki <dexter@debian.org>
Copyright (c) 2003-2016 Piotr Roszatycki <dexter@debian.org>

fakechroot is distributed under the GNU Lesser General Public License (LGPL
2.1 or greater).
Expand Down
51 changes: 28 additions & 23 deletions test/t/java.t
Expand Up @@ -6,37 +6,42 @@ srcdir=${srcdir:-.}
command -v dpkg >/dev/null 2>&1 || skip_all 'dpkg command is missing'
arch=`dpkg --print-architecture`

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-$arch
prepare 5

command -v javac >/dev/null 2>&1 || skip_all 'javac command is missing (sudo apt-get install openjdk-7-jdk)'
test -d $JAVA_HOME >/dev/null 2>&1 || skip_all "$JAVA_HOME directory is missing (sudo apt-get install openjdk-7-jdk)"
for v in `seq 5 9`; do

unset JAVA_TOOL_OPTIONS
JAVA_HOME=/usr/lib/jvm/java-$v-openjdk-$arch

(
$JAVA_HOME/bin/java -version
$JAVA_HOME/bin/javac -version
) 2>&1 | diag
(
$JAVA_HOME/bin/javac java/Hello.java >/dev/null
( cd java && $JAVA_HOME/bin/jar cvfm hello.jar manifest.txt Hello.class )
) >/dev/null 2>&1
test -d $JAVA_HOME >/dev/null 2>&1 || { skip 1 "$JAVA_HOME directory is missing (sudo apt-get install openjdk-$v-jdk)"; continue; }
test -x $JAVA_HOME/bin/javac >/dev/null 2>&1 || { skip 1 'javac command is missing (sudo apt-get install openjdk-$v-jdk)'; continue; }

test -f java/hello.jar >/dev/null 2>&1 || skip_all "java/hello.jar is missing: some problem with java compiler"
unset JAVA_TOOL_OPTIONS

prepare 1
(
$JAVA_HOME/bin/java -version
$JAVA_HOME/bin/javac -version
) 2>&1 | diag
(
$JAVA_HOME/bin/javac java/Hello.java >/dev/null
( cd java && $JAVA_HOME/bin/jar cvfm hello.jar manifest.txt Hello.class )
) >/dev/null 2>&1

mkdir -p $testtree/usr/lib/jvm
cp -pfR /usr/lib/jvm/java-7-openjdk-$arch $testtree/usr/lib/jvm
ln -sf /usr/lib/jvm/java-7-openjdk-$arch/bin/java $testtree/usr/bin/java
cp -pf java/hello.jar $testtree/tmp
test -f java/hello.jar >/dev/null 2>&1 || { skip 1 "java/hello.jar is missing: some problem with java compiler"; continue; }

# java doesn't like non-available /proc file system so we don't try to run as root
rm -rf $testtree/usr/lib/jvm
mkdir -p $testtree/usr/lib/jvm
cp -pfR $JAVA_HOME $testtree/usr/lib/jvm
ln -sf $JAVA_HOME/bin/java $testtree/usr/bin/java
cp -pf java/hello.jar $testtree/tmp

t=`$srcdir/fakechroot.sh $testtree java -jar /tmp/hello.jar 2>&1`
test "$t" = "Hello world!" || not
ok "fakechroot java -jar hello.jar:" $t
# java doesn't like non-available /proc file system so we don't try to run as root

rm -f java/*.class java/*.jar
t=`$srcdir/fakechroot.sh $testtree java -jar /tmp/hello.jar 2>&1`
test "$t" = "Hello world!" || not
ok "fakechroot java -jar hello.jar:" $t

rm -f java/*.class java/*.jar

done

cleanup

0 comments on commit 9aec797

Please sign in to comment.