Source: mercurial Version: 6.2.3-1 Severity: important Tags: ftbfs patch Justification: fails to build from source (but built successfully in the past) User: debian-ri...@lists.debian.org Usertags: riscv64 X-Debbugs-Cc: i...@hack3r.moe, debian-ri...@lists.debian.org
Dear maintainer(s), Some tests time out on riscv64 as seen in buildd log: ``` Failed test-copies-chain-merge.t#pull: timed out Failed test-copies-chain-merge.t#pull-upgrade: timed out Failed test-copies-chain-merge.t#push: timed out Failed test-copies-chain-merge.t#push-upgrade: timed out Failed test-copies-chain-merge.t#sidedata: timed out Failed test-copies-chain-merge.t#upgraded: timed out Failed test-copies-chain-merge.t#upgraded-parallel: timed out # Ran 892 tests, 80 skipped, 7 failed. python hash seed: 74757585 # Timout reached for process 2161206 # Cleaning up HGTMP /tmp/hgtests.3yx9dxu8 make[2]: *** [Makefile:140: tests] Error 1 ``` Full log: https://buildd.debian.org/status/fetch.php?pkg=mercurial&arch=riscv64&ver=6.2.3-1&stamp=1668895854&raw=0 These timeouts has existed for a long time (about a year), so maybe disable them is a better idea for more consistent builds on riscv64. Alternatively, we can increase test timeout further and hopefully let them finish in time. I've included a patch to disable those tests in debian/rules. Please let me know if more help is needed. Cheers, Eric
diff --git a/debian/mercurial.riscv64.test_blacklist b/debian/mercurial.riscv64.test_blacklist new file mode 100644 index 00000000..76c6c0c6 --- /dev/null +++ b/debian/mercurial.riscv64.test_blacklist @@ -0,0 +1,38 @@ +# test-clonebundles.t fails in the reproducible-builds setup due to no +# name resolution: +# --- /build/mercurial-3.7.2/tests/test-clonebundles.t +# +++ /build/mercurial-3.7.2/tests/test-clonebundles.t.err +# @@ -52,7 +52,7 @@ +# $ echo 'http://does.not.exist/bundle.hg' > server/.hg/clonebundles.manifest +# $ hg clone http://localhost:$HGPORT 404-url +# applying clone bundle from http://does.not.exist/bundle.hg +# - error fetching bundle: (.* not known|getaddrinfo failed) (re) +# + error fetching bundle: Temporary failure in name resolution +# abort: error applying bundle +# (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false") +# [255] +# +# ERROR: test-clonebundles.t output changed +test-clonebundles.t + +# upstream don't run this test and it only fails when pyflakes is installed +test-check-pyflakes.t + +# https://bz.mercurial-scm.org/show_bug.cgi?id=6294 +test-debugcommands.t + +# These tests are flaky, still need to investigate why: +test-commandserver.t +test-largefiles.t + +# We don't ship the git extension yet +test-git-interop.t + +# https://bz.mercurial-scm.org/show_bug.cgi?id=6643 +test-http-bad-server.t + +# https://bz.mercurial-scm.org/show_bug.cgi?id=3782 +test-convert-cvs-synthetic.t + +# test timeout on riscv64 +test-copies-chain-merge.t diff --git a/debian/rules b/debian/rules index 0715cc84..dc85e42c 100755 --- a/debian/rules +++ b/debian/rules @@ -31,6 +31,13 @@ ARCH_IS_MIPS := $(if $(subst mips,,$(DEB_HOST_ARCH)),,T) ARCH_IS_KFREEBSD-i386 := $(if $(subst kfreebsd-i386,,$(DEB_HOST_ARCH)),,T) ARCH_IS_ARMEL := $(if $(subst armel,,$(DEB_HOST_ARCH)),,T) ARCH_IS_SPARC := $(if $(subst sparc,,$(DEB_HOST_ARCH)),,T) +ARCH_IS_RISCV64 := $(if $(subst riscv64,,$(DEB_HOST_ARCH)),,T) + +ifneq ($(ARCH_IS_RISCV64),) + TEST_BLACKLIST_FILENAME := mercurial.riscv64.test_blacklist +else + TEST_BLACKLIST_FILENAME := mercurial.test_blacklist +endif override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) @@ -45,10 +52,10 @@ ifneq ($(or $(ARCH_IS_MIPS), $(ARCH_IS_KFREEBSD-i386), $(ARCH_IS_ARMEL), $(ARCH_ sed -i.deb-backup -e 's/sleep 1/sleep 2/' $(CURDIR)/tests/test-pull-pull-corruption.t endif - http_proxy='' dh_auto_test -- PYTHON=python3 TESTFLAGS="--verbose --timeout 1440 $(PARALLEL_TEST_JOBS) --blacklist $(CURDIR)/debian/mercurial.test_blacklist" + http_proxy='' dh_auto_test -- PYTHON=python3 TESTFLAGS="--verbose --timeout 1440 $(PARALLEL_TEST_JOBS) --blacklist $(CURDIR)/debian/$(TEST_BLACKLIST_FILENAME)" file-rename 's/\.deb-backup$$//' $(CURDIR)/tests/* # run blacklisted tests but ignore their results - -cd tests && python3 run-tests.py --verbose `grep ^test ../debian/mercurial.test_blacklist` + -cd tests && python3 run-tests.py --verbose `grep ^test ../debian/$(TEST_BLACKLIST_FILENAME)` endif override_dh_auto_install: $(PYVERS:%=install-python%)