mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
Patch test projects so they build without deprecated features
Also ensure the test scripts pass shellcheck
This commit is contained in:
@@ -145,12 +145,12 @@ If one *does* exist, RGBGFX's return status is ignored, but its output **must**
|
|||||||
2. Add the project to `test/fetch-test-deps.sh`: add a new `action` line at the bottom, following the existing pattern:
|
2. Add the project to `test/fetch-test-deps.sh`: add a new `action` line at the bottom, following the existing pattern:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
action <owner>/<repo> <date of last commit> <hash of last commit>
|
action <owner> <repo> <date of last commit> <hash of last commit>
|
||||||
```
|
```
|
||||||
|
|
||||||
(The date is used to avoid fetching too much history when cloning the repositories.)
|
(The date is used to avoid fetching too much history when cloning the repositories.)
|
||||||
3. Add the project to `test/run-tests.sh`: add a new `test_downstream` line at the bottom, following the existing pattern:
|
3. Add the project to `test/run-tests.sh`: add a new `test_downstream` line at the bottom, following the existing pattern:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
test_downstream <repo> <makefile target>
|
test_downstream <owner> <repo> <makefile target>
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ while [[ $# -gt 0 ]]; do
|
|||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "$(basename $0): unknown option "$1""
|
echo "$(basename "$0"): unknown option '$1'"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -48,9 +48,9 @@ done
|
|||||||
|
|
||||||
case "$actionname" in
|
case "$actionname" in
|
||||||
--get-deps)
|
--get-deps)
|
||||||
action() { # # owner/repo
|
action() { # _ repo _ _
|
||||||
# libbet depends on PIL to build
|
# libbet depends on PIL to build
|
||||||
if [ "$1" = "pinobatch/libbet" ]; then
|
if [ "$2" = "libbet" ]; then
|
||||||
case "${osname%-*}" in
|
case "${osname%-*}" in
|
||||||
ubuntu|macos)
|
ubuntu|macos)
|
||||||
python3 -m pip install pillow
|
python3 -m pip install pillow
|
||||||
@@ -67,38 +67,38 @@ case "$actionname" in
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
--get-hash)
|
--get-hash)
|
||||||
action() { # owner/repo shallow-since commit
|
action() { # _ repo _ commit
|
||||||
printf "%s@%s-" "${1##*/}" "$3"
|
printf "%s@%s-" "$2" "$4"
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
|
|
||||||
--get-paths)
|
--get-paths)
|
||||||
action() { # owner/repo shallow-since commit
|
action() { # _ repo
|
||||||
printf "test/%s," "${1##*/}"
|
printf "test/%s," "$2"
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
echo "Fetching test dependency repositories"
|
echo "Fetching test dependency repositories"
|
||||||
|
|
||||||
action() { # owner/repo shallow-since commit
|
action() { # owner repo shallow-since commit
|
||||||
if [ ! -d ${1##*/} ]; then
|
if [ ! -d "$2" ]; then
|
||||||
git clone https://github.com/$1.git --shallow-since=$2 --single-branch
|
git clone "https://github.com/$1/$2.git" --shallow-since="$3" --single-branch
|
||||||
fi
|
fi
|
||||||
pushd ${1##*/}
|
pushd "$2"
|
||||||
git checkout -f $3
|
git checkout -f "$4"
|
||||||
if [ -f ../patches/${1##*/}.patch ]; then
|
if [ -f "../patches/$2.patch" ]; then
|
||||||
git apply --ignore-whitespace ../patches/${1##*/}.patch
|
git apply --ignore-whitespace "../patches/$2.patch"
|
||||||
fi
|
fi
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if "$nonfree"; then
|
if "$nonfree"; then
|
||||||
action pret/pokecrystal 2024-03-03 c1da20e2f12f95c935500151d15f455e7e7eb213
|
action pret pokecrystal 2024-03-03 c1da20e2f12f95c935500151d15f455e7e7eb213
|
||||||
action pret/pokered 2024-01-02 fabe2b3fb3fb5a849c5220298acabbdc9ad30f3b
|
action pret pokered 2024-01-02 fabe2b3fb3fb5a849c5220298acabbdc9ad30f3b
|
||||||
action zladx/LADX-Disassembly 2024-02-25 583c78d2f2a5258b87bf133f75b7129228255650
|
action zladx LADX-Disassembly 2024-02-25 583c78d2f2a5258b87bf133f75b7129228255650
|
||||||
fi
|
fi
|
||||||
action AntonioND/ucity 2023-11-02 c781ae20c0b319262b19b51e5067a2c93cf3b362
|
action AntonioND ucity 2023-11-02 c781ae20c0b319262b19b51e5067a2c93cf3b362
|
||||||
action pinobatch/libbet 2024-03-09 c98c7574d94f3e1a977bd7e98899f30a1ecbbb17
|
action pinobatch libbet 2024-03-09 c98c7574d94f3e1a977bd7e98899f30a1ecbbb17
|
||||||
action LIJI32/SameBoy 2024-03-08 e7792c16b24c08f55a370973f0beaecb7bd0ab92
|
action LIJI32 SameBoy 2024-03-08 e7792c16b24c08f55a370973f0beaecb7bd0ab92
|
||||||
|
|||||||
15
test/patches/LADX-Disassembly.patch
Normal file
15
test/patches/LADX-Disassembly.patch
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index d05ccba..1011447 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -13,9 +13,7 @@ RGBDS :=
|
||||||
|
|
||||||
|
ASM := $(RGBDS)rgbasm
|
||||||
|
ASFLAGS := \
|
||||||
|
- --export-all\
|
||||||
|
- --halt-without-nop\
|
||||||
|
- --preserve-ld
|
||||||
|
+ --export-all
|
||||||
|
|
||||||
|
LD := $(RGBDS)rgblink
|
||||||
|
LDFLAGS :=
|
||||||
17
test/patches/libbet.patch
Normal file
17
test/patches/libbet.patch
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
diff --git a/makefile b/makefile
|
||||||
|
index 6513518..35826eb 100644
|
||||||
|
--- a/makefile
|
||||||
|
+++ b/makefile
|
||||||
|
@@ -85,10 +85,10 @@ $(title).gb: $(objlisto)
|
||||||
|
$(RGBFIX) -jvsc -k "OK" -l 0x33 -m ROM -p 0xFF -t "LIBBET" -v $@
|
||||||
|
|
||||||
|
obj/gb/%.o: src/%.z80 src/hardware.inc src/global.inc
|
||||||
|
- ${RGBASM} -h -o $@ $<
|
||||||
|
+ ${RGBASM} -o $@ $<
|
||||||
|
|
||||||
|
obj/gb/%.o: obj/gb/%.z80
|
||||||
|
- ${RGBASM} -h -o $@ $<
|
||||||
|
+ ${RGBASM} -o $@ $<
|
||||||
|
|
||||||
|
# Files that will be included with incbin
|
||||||
|
|
||||||
25
test/patches/ucity.patch
Normal file
25
test/patches/ucity.patch
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 22c65e9..e7c888d 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -51,7 +51,7 @@ ASMFILES := $(foreach dir,$(SOURCE_ALL_DIRS),$(wildcard $(dir)/*.asm))
|
||||||
|
|
||||||
|
# List of include directories: All source and data folders.
|
||||||
|
# A '/' is appended to the path.
|
||||||
|
-INCLUDES := $(foreach dir,$(SOURCE_ALL_DIRS),-i$(dir)/)
|
||||||
|
+INCLUDES := $(foreach dir,$(SOURCE_ALL_DIRS),-I$(dir)/)
|
||||||
|
|
||||||
|
# Prepare object paths from source files.
|
||||||
|
OBJ := $(ASMFILES:.asm=.obj)
|
||||||
|
@@ -72,10 +72,9 @@ clean:
|
||||||
|
@echo rm $(OBJ) $(BIN) $(COMPAT_BIN) $(NAME).sym $(NAME).map
|
||||||
|
@rm -f $(OBJ) $(BIN) $(COMPAT_BIN) $(NAME).sym $(NAME).map
|
||||||
|
|
||||||
|
-# TODO: Remove the -h when RGBASM is updated to remove it
|
||||||
|
%.obj : %.asm
|
||||||
|
@echo rgbasm $<
|
||||||
|
- @$(RGBASM) $(INCLUDES) -h -E -o$@ $<
|
||||||
|
+ @$(RGBASM) $(INCLUDES) -E -o$@ $<
|
||||||
|
|
||||||
|
$(BIN): $(OBJ)
|
||||||
|
@echo rgblink $(BIN)
|
||||||
@@ -28,7 +28,7 @@ while [[ $# -gt 0 ]]; do
|
|||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "$(basename $0): internal error"
|
echo "$(basename "$0"): internal error"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -54,21 +54,21 @@ done
|
|||||||
# When updating subprojects, change the commit being checked out, and set the `shallow-since`
|
# When updating subprojects, change the commit being checked out, and set the `shallow-since`
|
||||||
# to the day before, to reduce the amount of refs being transferred and thus speed up CI.
|
# to the day before, to reduce the amount of refs being transferred and thus speed up CI.
|
||||||
|
|
||||||
test_downstream() { # owner/repo make-target
|
test_downstream() { # owner repo make-target
|
||||||
if ! pushd ${1##*/}; then
|
if ! pushd "$2"; then
|
||||||
echo >&2 'Please run `'"$FETCH_TEST_DEPS"'` before running the test suite'
|
echo >&2 'Please run `'"$FETCH_TEST_DEPS"'` before running the test suite'
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
make clean
|
make clean
|
||||||
make -j4 $2 RGBDS=../../
|
make -j4 "$3" RGBDS=../../
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
if "$nonfree"; then
|
if "$nonfree"; then
|
||||||
test_downstream pret/pokecrystal compare
|
test_downstream pret pokecrystal compare
|
||||||
test_downstream pret/pokered compare
|
test_downstream pret pokered compare
|
||||||
test_downstream zladx/LADX-Disassembly ''
|
test_downstream zladx LADX-Disassembly default
|
||||||
fi
|
fi
|
||||||
test_downstream AntonioND/ucity ''
|
test_downstream AntonioND ucity all
|
||||||
test_downstream pinobatch/libbet all
|
test_downstream pinobatch libbet all
|
||||||
test_downstream LIJI32/SameBoy bootroms
|
test_downstream LIJI32 SameBoy bootroms
|
||||||
|
|||||||
Reference in New Issue
Block a user