mirror of https://github.com/jenv/jenv.git
8 changed files with 153 additions and 0 deletions
@ -0,0 +1,9 @@ |
|||||||
|
[submodule "test/bats"] |
||||||
|
path = test/bats |
||||||
|
url = https://github.com/bats-core/bats-core.git |
||||||
|
[submodule "test/test_helper/bats-support"] |
||||||
|
path = test/test_helper/bats-support |
||||||
|
url = https://github.com/bats-core/bats-support.git |
||||||
|
[submodule "test/test_helper/bats-assert"] |
||||||
|
path = test/test_helper/bats-assert |
||||||
|
url = https://github.com/bats-core/bats-assert.git |
||||||
@ -0,0 +1,7 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) |
||||||
|
|
||||||
|
docker build --tag jenv:tests $SCRIPT_DIR/test |
||||||
|
|
||||||
|
docker run --mount type=bind,source=$SCRIPT_DIR,target=/root/.jenv jenv:test /root/.jenv/test/bats/bin/bats /root/.jenv/test |
||||||
@ -0,0 +1,16 @@ |
|||||||
|
from centos:7 |
||||||
|
|
||||||
|
RUN yum install -y https://cdn.azul.com/zulu/bin/zulu18.30.11-ca-jdk18.0.1-linux.x86_64.rpm |
||||||
|
RUN yum install -y https://cdn.azul.com/zulu/bin/zulu18.28.13-ca-jdk18.0.0-linux.i686.rpm |
||||||
|
RUN yum install -y https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-linux.x86_64.rpm |
||||||
|
RUN yum install -y java-11-openjdk.x86_64 |
||||||
|
RUN yum install -y java-1.6.0-openjdk.x86_64 |
||||||
|
RUN yum install -y java-1.7.0-openjdk.x86_64 |
||||||
|
RUN yum install -y java-1.8.0-openjdk.x86_64 |
||||||
|
RUN yum install -y java-1.8.0-openjdk.i686 |
||||||
|
RUN curl -L https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.3.4/graalvm-ce-java11-linux-amd64-20.3.4.tar.gz | tar xzf - -C /usr/lib/jvm/ |
||||||
|
RUN curl -L https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/graalvm-ce-java11-linux-amd64-21.3.0.tar.gz | tar xzf - -C /usr/lib/jvm/ |
||||||
|
|
||||||
|
RUN echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile |
||||||
|
RUN echo 'eval "$(jenv init -)"' >> ~/.bash_profile |
||||||
|
|
||||||
@ -0,0 +1,51 @@ |
|||||||
|
#!/usr/bin/env bats |
||||||
|
|
||||||
|
setup() { |
||||||
|
load 'test_helper/bats-support/load' |
||||||
|
load 'test_helper/bats-assert/load' |
||||||
|
|
||||||
|
export PATH=$HOME/.jenv/bin/:$PATH |
||||||
|
eval "$(jenv init -)" |
||||||
|
|
||||||
|
jenv global --unset |
||||||
|
jenv shell --unset |
||||||
|
rm -f ~/.jenv/versions/* |
||||||
|
} |
||||||
|
|
||||||
|
@test "add openjdk 1.6.0.41" { |
||||||
|
jenv add /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.41.x86_64/jre/ |
||||||
|
|
||||||
|
run jenv versions |
||||||
|
assert_line --regexp '^ *1.6$' |
||||||
|
assert_line --regexp '^ *1.6.0.41$' |
||||||
|
assert_line --regexp '^ *openjdk64-1.6.0.41$' |
||||||
|
} |
||||||
|
|
||||||
|
@test "add openjdk 1.7.0.261" { |
||||||
|
jenv add /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64/jre/ |
||||||
|
|
||||||
|
run jenv versions |
||||||
|
assert_line --regexp '^ *1.7$' |
||||||
|
assert_line --regexp '^ *1.7.0.261$' |
||||||
|
assert_line --regexp '^ *openjdk64-1.7.0.261$' |
||||||
|
} |
||||||
|
|
||||||
|
@test "add openjdk 1.8.0.322" { |
||||||
|
jenv add /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/ |
||||||
|
|
||||||
|
run jenv versions |
||||||
|
assert_line --regexp '^ *1.8$' |
||||||
|
assert_line --regexp '^ *1.8.0.322$' |
||||||
|
assert_line --regexp '^ *openjdk64-1.8.0.322$' |
||||||
|
} |
||||||
|
|
||||||
|
@test "add zulu 11" { |
||||||
|
jenv add /usr/lib/jvm/zulu-11/ |
||||||
|
|
||||||
|
run jenv versions |
||||||
|
assert_line --regexp '^ *11$' |
||||||
|
assert_line --regexp '^ *11.0$' |
||||||
|
assert_line --regexp '^ *11.0.15$' |
||||||
|
assert_line --regexp '^ *zulu64-11.0.15$' |
||||||
|
} |
||||||
|
|
||||||
@ -0,0 +1,67 @@ |
|||||||
|
#!/usr/bin/env bats |
||||||
|
|
||||||
|
setup() { |
||||||
|
export PATH=$HOME/.jenv/bin/:$PATH |
||||||
|
|
||||||
|
eval "$(jenv init -)" |
||||||
|
jenv global --unset |
||||||
|
jenv shell --unset |
||||||
|
rm -f ~/.jenv/versions/* |
||||||
|
} |
||||||
|
|
||||||
|
@test "global version is set globally" { |
||||||
|
jenv add /usr/lib/jvm/graalvm-ce-java11-21.3.0/ |
||||||
|
|
||||||
|
jenv global 11 |
||||||
|
cd `mktemp -d` |
||||||
|
|
||||||
|
[ $(realpath $(jenv javahome)) = "/usr/lib/jvm/graalvm-ce-java11-21.3.0" ] |
||||||
|
} |
||||||
|
|
||||||
|
@test "local is set for current directory" { |
||||||
|
jenv add /usr/lib/jvm/graalvm-ce-java11-21.3.0/ |
||||||
|
jenv add /usr/lib/jvm/zulu-18/ |
||||||
|
|
||||||
|
jenv global 11 |
||||||
|
|
||||||
|
cd `mktemp -d` |
||||||
|
jenv local 18 |
||||||
|
|
||||||
|
[ $(realpath $(jenv javahome)) = "/usr/lib/jvm/zulu-18" ] |
||||||
|
} |
||||||
|
|
||||||
|
@test "local is set for current directory only, reverts to global" { |
||||||
|
jenv add /usr/lib/jvm/graalvm-ce-java11-21.3.0/ |
||||||
|
jenv add /usr/lib/jvm/zulu-18/ |
||||||
|
|
||||||
|
jenv global 11 |
||||||
|
|
||||||
|
cd `mktemp -d` |
||||||
|
jenv local 18 |
||||||
|
|
||||||
|
cd `mktemp -d` |
||||||
|
|
||||||
|
[ $(realpath $(jenv javahome)) = "/usr/lib/jvm/graalvm-ce-java11-21.3.0" ] |
||||||
|
} |
||||||
|
|
||||||
|
@test "shell sets for current shell" { |
||||||
|
jenv add /usr/lib/jvm/graalvm-ce-java11-21.3.0/ |
||||||
|
jenv add /usr/lib/jvm/zulu-18/ |
||||||
|
|
||||||
|
jenv global 11 |
||||||
|
|
||||||
|
output=$(jenv shell 18 && realpath $(jenv javahome)) |
||||||
|
[ $output = "/usr/lib/jvm/zulu-18" ] |
||||||
|
} |
||||||
|
|
||||||
|
@test "shell sets for current shell only, reverts to global outside" { |
||||||
|
jenv add /usr/lib/jvm/graalvm-ce-java11-21.3.0/ |
||||||
|
jenv add /usr/lib/jvm/zulu-18/ |
||||||
|
|
||||||
|
jenv global 11 |
||||||
|
|
||||||
|
$(jenv shell 18) |
||||||
|
|
||||||
|
jenv global 11 |
||||||
|
[ $(realpath $(jenv javahome)) = "/usr/lib/jvm/graalvm-ce-java11-21.3.0" ] |
||||||
|
} |
||||||
@ -0,0 +1 @@ |
|||||||
|
Subproject commit 397c735212bf1a06cfdd0cb7806c5a6ea79582bf |
||||||
Loading…
Reference in new issue