Test bindists use non-portable python code
This often means that running a test suite from an older GHC fails with all sorts of python errors.
E.g. on Fedora 35 with python 3.10.6 and GHC 8.10.7 testsuite, I get:
/home/hasufell/.ghcup/ghc/8.10.7/bin/ghc" --make -o mk/ghc-config mk/ghc-config.hs
[1 of 1] Compiling Main ( mk/ghc-config.hs, mk/ghc-config.o )
Linking mk/ghc-config ...
./mk/ghc-config "/home/hasufell/.ghcup/ghc/8.10.7/bin/ghc" >"mk/ghcconfig_home_hasufell_.ghcup_ghc_8.10.7_bin_ghc.mk"; if [ $? != 0 ]; then rm -f "mk/ghcconfig_home_hasufell_.ghcup_ghc_8.10.7_bin_ghc.mk"; exit 1; fi
gmake -C ./tests all
gmake[1]: Entering directory '/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/tests'
Looks like you don't have timeout, building it first...
gmake -C ../timeout all
gmake[2]: Entering directory '/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/timeout'
rm -f -f TimeMe.o TimeMe.hi TimeMe TimeMe.exe
python3 calibrate 'ghc-8.10.7' > calibrate.out
rm -rf install-inplace
mkdir install-inplace
mkdir install-inplace/bin
cp timeout.py install-inplace/bin/timeout.py
echo '#!/bin/sh' > install-inplace/bin/timeout
echo 'exec "python3" $0.py "$@"' >> install-inplace/bin/timeout
chmod +x install-inplace/bin/timeout
gmake[2]: Leaving directory '/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/timeout'
PYTHON="python3" "python3" ../driver/runtests.py -e "ghc_compiler_always_flags='-dcore-lint -dstg-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output'" -e "config.compiler_debugged=False" -e ghc_with_native_codegen=True -e config.have_vanilla=True -e config.have_dynamic=True -e config.have_profiling=True -e ghc_with_threaded_rts=True -e ghc_with_dynamic_rts=True -e config.have_interp=True -e config.unregisterised=False -e config.have_gdb=True -e config.have_readelf=True -e config.ghc_dynamic_by_default=False -e config.ghc_dynamic=True -e ghc_with_smp=True -e ghc_with_llvm=False -e windows=False -e darwin=False -e config.in_tree_compiler=False -e config.cleanup=True -e config.local=True -e config.ghc_built_by_llvm=False --rootdir=. --config-file=../config/ghc -e 'config.platform="x86_64-unknown-linux"' -e 'config.os="linux"' -e 'config.arch="x86_64"' -e 'config.wordsize="64"' -e 'config.timeout=int() or config.timeout' -e 'config.exeext=""' -e 'config.top="/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite"' --config 'compiler="/home/hasufell/.ghcup/ghc/8.10.7/bin/ghc"' --config 'ghc_pkg="/home/hasufell/.ghcup/ghc/8.10.7/bin/ghc-pkg"' --config 'haddock="/home/hasufell/.ghcup/ghc/8.10.7/bin/haddock"' --config 'hp2ps="/home/hasufell/.ghcup/ghc/8.10.7/bin/hp2ps"' --config 'hpc="/home/hasufell/.ghcup/ghc/8.10.7/bin/hpc"' --config 'gs="gs"' --config 'timeout_prog="../timeout/install-inplace/bin/timeout"' --config 'stats_files_dir=../tests/perf/haddock' -e "config.stage=2" \
\
\
\
\
\
\
fatal: not a git repository (or any of the parent directories): .git
"gs" -dNODISPLAY -dBATCH -dQUIET -dNOPAUSE "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/config/good.ps"<
"gs" -dNODISPLAY -dBATCH -dQUIET -dNOPAUSE "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/config/bad.ps" >/dev/null 2>&1<
GhostScript available for hp2ps tests
Timeout is 300
Known ways: prof, normal_h, prof_hc_hb, prof_hb, prof_hd, prof_hy, prof_hr, sanity, threaded1_ls, threaded2_hT, debug_numa, llvm, debugllvm, profllvm, profoptllvm, profthreadedllvm, debug, ghci-ext, ghci-ext-prof, ext-interp, nonmoving, nonmoving_thr, nonmoving_thr_ghc
Run ways: normal, hpc, optasm, profasm, ghci, threaded1, threaded2, dyn, profthreaded
Compile ways: normal, hpc, optasm, profasm
Failed to get allowed metric changes from the HEAD git commit message.
Allowing performance changes in:
Found 416 .T files...
Beginning test run at Sun Jan 8 18:23:14 2023
Detected CPU features: {'clflushopt', 'intel_pt', 'rdtscp', 'ibrs', 'arch_perfmon', 'de', 'ibrs_enhanced', 'invpcid', 'sgx', 'fxsr', 'abm', 'mtrr', 'sep', 'invpcid_single', 'constant_tsc', 'ss', 'nopl', 'clflush', 'movbe', 'dtherm', 'arch_capabilities', 'popcnt', 'syscall', 'flags', 'monitor', 'f16c', 'arat', 'vmx', 'sgx_lc', 'sse2', '3dnowprefetch', 'hwp_epp', 'hwp_act_window', 'acpi', 'ept_ad', 'fpu', 'bts', 'sse', 'tpr_shadow', 'tsc_adjust', 'sse4_1', 'vnmi', 'apic', 'ssbd', 'erms', 'pdpe1gb', 'tm2', 'xsaves', 'pcid', 'rdseed', 'art', 'mpx', 'lm', 'xtopology', 'sse4_2', 'pat', 'avx', 'adx', 'pebs', 'ept', 'sdbg', 'dtes64', 'avx2', 'md_clear', 'tsc_deadline_timer', 'lahf_lm', 'x2apic', 'bmi2', 'pclmulqdq', 'vpid', 'mca', 'pge', 'rep_good', 'ida', ':', 'bmi1', 'sse3', 'xtpr', 'flexpriority', 'nonstop_tsc', 'cpuid', 'xsavec', 'xgetbv1', 'msr', 'rdrand', 'xsaveopt', 'smep', 'nx', 'ht', 'ibpb', 'pse', 'mce', 'est', 'cx8', 'pae', 'cmov', 'mmx', 'fsgsbase', 'dts', 'aperfmperf', 'cx16', 'epb', 'smap', 'pse36', 'aes', 'hwp_notify', 'tsc', 'cpuid_fault', 'pln', 'flush_l1d', 'ssse3', 'pts', 'vme', 'pku', 'pdcm', 'fma', 'tm', 'ospke', 'hwp', 'xsave', 'pbe', 'stibp', 'ds_cpl'}
Traceback (most recent call last):
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/tests/../driver/runtests.py", line 339, in <module>
exec(src)
File "<string>", line 4, in <module>
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 862, in test
executeSetups([thisdir_settings, setup], name, myTestOpts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 792, in executeSetups
fs(name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 736, in normalise_version__
_normalise_fun(name, opts, normalise_version_(*pkgs))
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 701, in _normalise_fun
opts.extra_normaliser = join_normalisers(opts.extra_normaliser, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 777, in join_normalisers
for f in a:
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 767, in flatten
if (isinstance(el, collections.Iterable)
AttributeError: module 'collections' has no attribute 'Iterable'
Traceback (most recent call last):
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/tests/../driver/runtests.py", line 339, in <module>
exec(src)
File "<string>", line 17, in <module>
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 862, in test
executeSetups([thisdir_settings, setup], name, myTestOpts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 792, in executeSetups
fs(name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 698, in <lambda>
return lambda name, opts: _normalise_fun(name, opts, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 701, in _normalise_fun
opts.extra_normaliser = join_normalisers(opts.extra_normaliser, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 777, in join_normalisers
for f in a:
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 767, in flatten
if (isinstance(el, collections.Iterable)
AttributeError: module 'collections' has no attribute 'Iterable'
Traceback (most recent call last):
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/tests/../driver/runtests.py", line 339, in <module>
exec(src)
File "<string>", line 11, in <module>
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 862, in test
executeSetups([thisdir_settings, setup], name, myTestOpts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 792, in executeSetups
fs(name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 736, in normalise_version__
_normalise_fun(name, opts, normalise_version_(*pkgs))
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 701, in _normalise_fun
opts.extra_normaliser = join_normalisers(opts.extra_normaliser, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 777, in join_normalisers
for f in a:
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 767, in flatten
if (isinstance(el, collections.Iterable)
AttributeError: module 'collections' has no attribute 'Iterable'
Traceback (most recent call last):
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/tests/../driver/runtests.py", line 339, in <module>
exec(src)
File "<string>", line 14, in <module>
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 862, in test
executeSetups([thisdir_settings, setup], name, myTestOpts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 792, in executeSetups
fs(name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 736, in normalise_version__
_normalise_fun(name, opts, normalise_version_(*pkgs))
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 701, in _normalise_fun
opts.extra_normaliser = join_normalisers(opts.extra_normaliser, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 777, in join_normalisers
for f in a:
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 767, in flatten
if (isinstance(el, collections.Iterable)
AttributeError: module 'collections' has no attribute 'Iterable'
Traceback (most recent call last):
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/tests/../driver/runtests.py", line 339, in <module>
exec(src)
File "<string>", line 13, in <module>
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 862, in test
executeSetups([thisdir_settings, setup], name, myTestOpts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 792, in executeSetups
fs(name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 704, in <lambda>
return lambda name, opts: _normalise_errmsg_fun(name, opts, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 707, in _normalise_errmsg_fun
opts.extra_errmsg_normaliser = join_normalisers(opts.extra_errmsg_normaliser, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 777, in join_normalisers
for f in a:
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 767, in flatten
if (isinstance(el, collections.Iterable)
AttributeError: module 'collections' has no attribute 'Iterable'
Traceback (most recent call last):
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/tests/../driver/runtests.py", line 339, in <module>
exec(src)
File "<string>", line 24, in <module>
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 862, in test
executeSetups([thisdir_settings, setup], name, myTestOpts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 792, in executeSetups
fs(name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 704, in <lambda>
return lambda name, opts: _normalise_errmsg_fun(name, opts, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 707, in _normalise_errmsg_fun
opts.extra_errmsg_normaliser = join_normalisers(opts.extra_errmsg_normaliser, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 777, in join_normalisers
for f in a:
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 767, in flatten
if (isinstance(el, collections.Iterable)
AttributeError: module 'collections' has no attribute 'Iterable'
Traceback (most recent call last):
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/tests/../driver/runtests.py", line 339, in <module>
exec(src)
File "<string>", line 97, in <module>
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 862, in test
executeSetups([thisdir_settings, setup], name, myTestOpts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 792, in executeSetups
fs(name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 704, in <lambda>
return lambda name, opts: _normalise_errmsg_fun(name, opts, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 707, in _normalise_errmsg_fun
opts.extra_errmsg_normaliser = join_normalisers(opts.extra_errmsg_normaliser, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 777, in join_normalisers
for f in a:
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 767, in flatten
if (isinstance(el, collections.Iterable)
AttributeError: module 'collections' has no attribute 'Iterable'
Traceback (most recent call last):
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/tests/../driver/runtests.py", line 339, in <module>
exec(src)
File "<string>", line 1, in <module>
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 862, in test
executeSetups([thisdir_settings, setup], name, myTestOpts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 792, in executeSetups
fs(name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 698, in <lambda>
return lambda name, opts: _normalise_fun(name, opts, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 701, in _normalise_fun
opts.extra_normaliser = join_normalisers(opts.extra_normaliser, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 777, in join_normalisers
for f in a:
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 767, in flatten
if (isinstance(el, collections.Iterable)
AttributeError: module 'collections' has no attribute 'Iterable'
Traceback (most recent call last):
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/tests/../driver/runtests.py", line 339, in <module>
exec(src)
File "<string>", line 100, in <module>
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 862, in test
executeSetups([thisdir_settings, setup], name, myTestOpts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 789, in executeSetups
executeSetups(f, name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 792, in executeSetups
fs(name, opts)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 698, in <lambda>
return lambda name, opts: _normalise_fun(name, opts, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 701, in _normalise_fun
opts.extra_normaliser = join_normalisers(opts.extra_normaliser, fs)
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 777, in join_normalisers
for f in a:
File "/home/hasufell/.ghcup/tmp/ghcup-c82c920dfe827697/ghc-8.10.7/testsuite/driver/testlib.py", line 767, in flatten
if (isinstance(el, collections.Iterable)
AttributeError: module 'collections' has no attribute 'Iterable'