mirror of
https://github.com/newren/git-filter-repo.git
synced 2024-11-19 03:25:33 +00:00
Merge branch 'sr/reusable-test-runner-script'
Signed-off-by: Elijah Newren <newren@gmail.com>
This commit is contained in:
commit
a10fa46010
16
.github/workflows/test.yml
vendored
16
.github/workflows/test.yml
vendored
@ -24,21 +24,11 @@ jobs:
|
||||
printf '#!/bin/sh\n\nexec python "$@"\n' >python3 &&
|
||||
|
||||
export PATH=$PWD:$PATH &&
|
||||
export PYTHONPATH=$PWD &&
|
||||
export TEST_SHELL_PATH=/bin/sh &&
|
||||
|
||||
failed=0 &&
|
||||
cd t &&
|
||||
for t in t[0-9]*.sh
|
||||
do
|
||||
printf '\n\n== %s ==\n' "$t" &&
|
||||
bash $t -q -v -x ||
|
||||
failed=$(($failed+1))
|
||||
done &&
|
||||
if test 0 != $failed
|
||||
if ! t/run_tests -q -v -x
|
||||
then
|
||||
mkdir ../failed &&
|
||||
tar czf ../failed/failed.tar.gz .
|
||||
mkdir failed &&
|
||||
tar czf failed/failed.tar.gz t
|
||||
exit 1
|
||||
fi
|
||||
- name: upload failed tests' directories
|
||||
|
2
Makefile
2
Makefile
@ -12,7 +12,7 @@ build:
|
||||
@echo Nothing to do: filter-repo is a script which needs no compilation.
|
||||
|
||||
test:
|
||||
cd t && time ./run_coverage
|
||||
time t/run_coverage
|
||||
|
||||
# fixup_locale might matter once we actually have translations, but right now
|
||||
# we don't. It might not even matter then, because python has a fallback podir.
|
||||
|
@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
orig_dir=$(cd $(dirname $0) && pwd -P)
|
||||
tmpdir=$(mktemp -d)
|
||||
|
||||
@ -16,12 +18,12 @@ EOF
|
||||
|
||||
export COVERAGE_PROCESS_START=$tmpdir/.coveragerc
|
||||
export PYTHONPATH=$tmpdir:
|
||||
# We pretend filenames are unicode for two reasons: (1) because it exercises
|
||||
# more code, and (2) this setting will detect accidental use of unicode strings
|
||||
# for file/directory names when it should always be bytestrings.
|
||||
export PRETEND_UNICODE_ARGS=1
|
||||
|
||||
ls t939*.sh | xargs -n 1 bash
|
||||
# Produce a coverage report, even if the tests fail
|
||||
set +e
|
||||
$orig_dir/run_tests
|
||||
exitcode=$?
|
||||
set -e
|
||||
|
||||
cd $tmpdir
|
||||
coverage3 combine
|
||||
@ -29,3 +31,5 @@ coverage3 html -d $orig_dir/report
|
||||
coverage3 report -m
|
||||
cd $orig_dir
|
||||
rm -rf $tmpdir
|
||||
|
||||
exit $exitcode
|
||||
|
27
t/run_tests
Executable file
27
t/run_tests
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
set -eu
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
# Put git_filter_repo.py on the front of PYTHONPATH
|
||||
export PYTHONPATH="$PWD/..${PYTHONPATH:+:$PYTHONPATH}"
|
||||
|
||||
# We pretend filenames are unicode for two reasons: (1) because it exercises
|
||||
# more code, and (2) this setting will detect accidental use of unicode strings
|
||||
# for file/directory names when it should always be bytestrings.
|
||||
export PRETEND_UNICODE_ARGS=1
|
||||
|
||||
export TEST_SHELL_PATH=/bin/sh
|
||||
|
||||
failed=0
|
||||
|
||||
for t in t[0-9]*.sh
|
||||
do
|
||||
printf '\n\n== %s ==\n' "$t"
|
||||
bash $t "$@" || failed=$(($failed+1))
|
||||
done
|
||||
|
||||
if [ 0 -lt $failed ]
|
||||
then
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in New Issue
Block a user