From 22ff7ff1016200afa9e04afffeeff36c416b2293 Mon Sep 17 00:00:00 2001 From: Rangi <35663410+Rangi42@users.noreply.github.com> Date: Wed, 6 Dec 2023 04:30:11 -0500 Subject: [PATCH] Add PinoBatch's game Libbet to the test suite (#1260) --- .github/workflows/testing.yml | 16 ++++++++++++++-- test/.gitignore | 1 + test/fetch-test-deps.sh | 33 ++++++++++++++++++++++++++++++--- test/run-tests.sh | 1 + 4 files changed, 46 insertions(+), 5 deletions(-) diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 388b508e..6cf8c212 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -70,7 +70,11 @@ jobs: continue-on-error: true run: | test/fetch-test-deps.sh - - name: Test + - name: Install test dependency dependencies + shell: bash + run: | + test/fetch-test-deps.sh --get-deps ${{ matrix.os }} + - name: Run tests shell: bash run: | test/run-tests.sh @@ -154,7 +158,11 @@ jobs: continue-on-error: true run: | test/fetch-test-deps.sh - - name: Test + - name: Install test dependency dependencies + shell: bash + run: | + test/fetch-test-deps.sh --get-deps ${{ matrix.os }} + - name: Run tests shell: bash run: | cp bins/* . @@ -257,6 +265,10 @@ jobs: continue-on-error: true run: | test/fetch-test-deps.sh + - name: Install test dependency dependencies + shell: bash + run: | + test/fetch-test-deps.sh --get-deps ${{ matrix.os }} - name: Run tests shell: bash run: | diff --git a/test/.gitignore b/test/.gitignore index 32dd40f7..d7773f40 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -1,3 +1,4 @@ +/libbet/ /pokecrystal/ /pokered/ /ucity/ diff --git a/test/fetch-test-deps.sh b/test/fetch-test-deps.sh index b6c9be1a..4ea0260d 100755 --- a/test/fetch-test-deps.sh +++ b/test/fetch-test-deps.sh @@ -8,6 +8,7 @@ usage() { echo "Options:" echo " -h, --help show this help message" echo " --only-free download only freely licensed codebases" + echo " --get-deps install programs' own dependencies instead of themselves" echo " --get-hash print programs' commit hashes instead of downloading them" echo " --get-paths print programs' GitHub paths instead of downloading them" } @@ -16,6 +17,7 @@ usage() { # in what util-linux `getopt` calls `GETOPT_COMPATIBLE` mode nonfree=true actionname= +osname= while [[ $# -gt 0 ]]; do case "$1" in -h|--help) @@ -25,6 +27,11 @@ while [[ $# -gt 0 ]]; do --only-free) nonfree=false ;; + --get-deps) + actionname="$1" + shift + osname="$1" + ;; --get-hash|--get-paths) actionname="$1" ;; @@ -40,6 +47,25 @@ while [[ $# -gt 0 ]]; do done case "$actionname" in + --get-deps) + action() { # # owner/repo + # libbet depends on PIL to build + if [ "$1" = "pinobatch/libbet" ]; then + case "${osname%-*}" in + ubuntu|macos) + python3 -m pip install pillow + ;; + windows) + py -3 -m pip install pillow + ;; + *) + echo "WARNING: Cannot install Pillow for OS '$osname'" + ;; + esac + fi + } + ;; + --get-hash) action() { # owner/repo shallow-since commit printf "%s@%s-" "${1##*/}" "$3" @@ -69,7 +95,8 @@ case "$actionname" in esac if "$nonfree"; then - action pret/pokecrystal 2023-10-22 38667169809b81eb39990b4341f9919332d27248 - action pret/pokered 2023-10-10 b302e93674f376f2881cbd931a698345ad27bec3 + action pret/pokecrystal 2023-11-22 9a917e35760210a1f34057ecada2148f1fefc390 + action pret/pokered 2023-11-21 d4d7b91aecf651b06d1f466ecc22b65da234a299 fi -action AntonioND/ucity 2023-11-02 c781ae20c0b319262b19b51e5067a2c93cf3b362 +action AntonioND/ucity 2023-11-02 c781ae20c0b319262b19b51e5067a2c93cf3b362 +action pinobatch/libbet 2023-11-30 9f56cf94883c58517c2cd41a752cfee5a5800e8d diff --git a/test/run-tests.sh b/test/run-tests.sh index ab6b0a78..7774c6b7 100755 --- a/test/run-tests.sh +++ b/test/run-tests.sh @@ -69,3 +69,4 @@ if "$nonfree"; then test_downstream pret/pokered compare fi test_downstream AntonioND/ucity '' +test_downstream pinobatch/libbet all