Check that there are no library modules that use the old "sp" symbol instead
of "c_sp".
This commit is contained in:
3
.github/checks/Makefile
vendored
3
.github/checks/Makefile
vendored
@@ -40,4 +40,7 @@ sorted: sorted.sh sorted_codeopt.sh sorted_opcodes.sh
|
|||||||
@./sorted_codeopt.sh
|
@./sorted_codeopt.sh
|
||||||
@./sorted_opcodes.sh
|
@./sorted_opcodes.sh
|
||||||
|
|
||||||
|
checksp: checksp.sh
|
||||||
|
@./checksp.sh
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|||||||
22
.github/checks/checksp.sh
vendored
Executable file
22
.github/checks/checksp.sh
vendored
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
OD65_EXE=../bin/od65
|
||||||
|
CHECK_PATH=../../libwrk
|
||||||
|
|
||||||
|
cd "${CHECK_PATH}" || {
|
||||||
|
echo "error: Directory ${CHECK_PATH} doesn't seem to exist" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -x "${OD65_EXE}" ] || {
|
||||||
|
echo "error: This check requires the od65 executable to be built" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
EXITCODE=0
|
||||||
|
find . -name \*.o -print | while read OBJ; do
|
||||||
|
"${OD65_EXE}" --dump-imports "${OBJ}" | grep -q "\"sp\"" && {
|
||||||
|
echo "error: Usage of symbol 'sp' found in module ${OBJ}" >&2
|
||||||
|
EXITCODE=1
|
||||||
|
}
|
||||||
|
done
|
||||||
|
exit ${EXITCODE}
|
||||||
3
.github/workflows/build-on-pull-request.yml
vendored
3
.github/workflows/build-on-pull-request.yml
vendored
@@ -39,6 +39,9 @@ jobs:
|
|||||||
- name: Build the platform libraries.
|
- name: Build the platform libraries.
|
||||||
shell: bash
|
shell: bash
|
||||||
run: make -j2 lib QUIET=1
|
run: make -j2 lib QUIET=1
|
||||||
|
- name: check test that no modules use sp
|
||||||
|
shell: bash
|
||||||
|
run: make -j2 checksp QUIET=1
|
||||||
- name: Run the regression tests.
|
- name: Run the regression tests.
|
||||||
shell: bash
|
shell: bash
|
||||||
run: make -j2 test QUIET=1
|
run: make -j2 test QUIET=1
|
||||||
|
|||||||
4
Makefile
4
Makefile
@@ -53,6 +53,10 @@ checkstyle:
|
|||||||
sorted:
|
sorted:
|
||||||
@$(MAKE) -C .github/checks --no-print-directory $@
|
@$(MAKE) -C .github/checks --no-print-directory $@
|
||||||
|
|
||||||
|
# check that no modules use "sp", requires the binaries to be built first
|
||||||
|
checksp:
|
||||||
|
@$(MAKE) -C .github/checks --no-print-directory $@
|
||||||
|
|
||||||
# runs regression tests, requires libtest target libraries
|
# runs regression tests, requires libtest target libraries
|
||||||
test:
|
test:
|
||||||
@$(MAKE) -C test --no-print-directory $@
|
@$(MAKE) -C test --no-print-directory $@
|
||||||
|
|||||||
Reference in New Issue
Block a user