[buildcore] Add test-rerun-verbose target
This commit is contained in:
parent
3e3cfcaf7d
commit
6165f63d09
7
deps/buildcore/base.mk
vendored
7
deps/buildcore/base.mk
vendored
@ -26,7 +26,7 @@ SCRIPTS=${BUILDCORE_PATH}/scripts
|
||||
SETUP_BUILD=${PYTHON3} ${SCRIPTS}/setup-build.py
|
||||
PYBB=${PYTHON3} ${SCRIPTS}/pybb.py
|
||||
CMAKE_BUILD=${PYBB} cmake-build
|
||||
CTEST_ALL=${PYBB} ctest-verbose
|
||||
CTEST=${PYBB} ctest-all
|
||||
RM_RF=${PYBB} rm
|
||||
ifdef USE_VCPKG
|
||||
ifndef VCPKG_DIR_BASE
|
||||
@ -72,7 +72,10 @@ test: build
|
||||
${ENV_RUN} ${CMAKE_BUILD} build test
|
||||
.PHONY: test-verbose
|
||||
test-verbose: build
|
||||
${ENV_RUN} ${CTEST_ALL} build
|
||||
${ENV_RUN} ${CTEST} build --output-on-failure
|
||||
.PHONY: test-rerun-verbose
|
||||
test-rerun-verbose: build
|
||||
${ENV_RUN} ${CTEST} build --rerun-failed --output-on-failure
|
||||
|
||||
.PHONY: devenv-image
|
||||
devenv-image:
|
||||
|
15
deps/buildcore/scripts/pybb.py
vendored
15
deps/buildcore/scripts/pybb.py
vendored
@ -31,6 +31,7 @@ def cat(path):
|
||||
def mkdir(path):
|
||||
if not os.path.exists(path) and os.path.isdir(path):
|
||||
os.mkdir(path)
|
||||
return 0
|
||||
|
||||
|
||||
# this exists because Windows is utterly incapable of providing a proper rm -rf
|
||||
@ -39,19 +40,22 @@ def rm(path):
|
||||
os.remove(path)
|
||||
elif os.path.isdir(path):
|
||||
shutil.rmtree(path)
|
||||
return 0
|
||||
|
||||
|
||||
def ctest_verbose(base_path):
|
||||
def ctest_all():
|
||||
base_path = sys.argv[2]
|
||||
if not os.path.isdir(base_path):
|
||||
# nothing to build
|
||||
# no generated projects
|
||||
return 0
|
||||
args = ['ctest', '--output-on-failure']
|
||||
args = ['ctest'] + sys.argv[3:]
|
||||
orig_dir = os.getcwd()
|
||||
for d in os.listdir(base_path):
|
||||
os.chdir(os.path.join(orig_dir, base_path, d))
|
||||
err = subprocess.run(args).returncode
|
||||
if err != 0:
|
||||
return err
|
||||
return 0
|
||||
|
||||
|
||||
def cmake_build(base_path, target):
|
||||
@ -65,6 +69,7 @@ def cmake_build(base_path, target):
|
||||
err = subprocess.run(args).returncode
|
||||
if err != 0:
|
||||
return err
|
||||
return 0
|
||||
|
||||
|
||||
def main():
|
||||
@ -73,8 +78,8 @@ def main():
|
||||
elif sys.argv[1] == 'rm':
|
||||
for i in range(2, len(sys.argv)):
|
||||
rm(sys.argv[i])
|
||||
elif sys.argv[1] == 'ctest-verbose':
|
||||
err = ctest_verbose(sys.argv[2])
|
||||
elif sys.argv[1] == 'ctest-all':
|
||||
err = ctest_all()
|
||||
sys.exit(err)
|
||||
elif sys.argv[1] == 'cmake-build':
|
||||
err = cmake_build(sys.argv[2], sys.argv[3] if len(sys.argv) > 3 else None)
|
||||
|
Loading…
x
Reference in New Issue
Block a user