New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
python36Packages.cython: Disable tests on aarch64 #41453
Conversation
Success on x86_64-linux (full log) Attempted: python36Packages.cython Partial log (click to expand)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Disable specific tests instead of the whole suite.
Success on aarch64-linux (full log) Attempted: python36Packages.cython Partial log (click to expand)
|
08af4d4
to
aa92ba9
Compare
@FRidh I'm not sure how python behaves if getting two |
aa92ba9
to
bf9a70d
Compare
Success on x86_64-linux (full log) Attempted: python36Packages.cython Partial log (click to expand)
|
Failure on aarch64-linux (full log) Attempted: python36Packages.cython Partial log (click to expand)
|
checkPhase = '' | ||
export HOME="$NIX_BUILD_TOP" | ||
${python.interpreter} runtests.py \ | ||
${if stdenv.cc.isClang or false then ''--exclude="(cpdef_extern_func|libcpp_algo)"'' else ""} | ||
${if stdenv.cc.isClang or false then ''--exclude="(cpdef_extern_func|libcpp_algo)"'' else ""} \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lib.optionalString
checkPhase = '' | ||
export HOME="$NIX_BUILD_TOP" | ||
${python.interpreter} runtests.py \ | ||
${if stdenv.cc.isClang or false then ''--exclude="(cpdef_extern_func|libcpp_algo)"'' else ""} | ||
${if stdenv.cc.isClang or false then ''--exclude="(cpdef_extern_func|libcpp_algo)"'' else ""} \ | ||
${if stdenv.isArch64 or false then ''--exclude="test_coerce_to_numpy"'' else ""} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No or false
here - stdenv.isArch64 is always defined.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also s/isArch64/isAarch64/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To not break compilation with clang on aarch64 we could refactor to something like
let
excluded_tests = []
++ stdenv.lib.optionals (stdenv.cc.isClang or false) [ "cpdef_extern_func" "libcpp_algo" ]
++ stdenv.lib.optionals stdenv.isAarch64 [ "test_coerce_to_numpy" ]
;
in
stdenv.lib.optionalString
(builtins.length excluded_tests != 0)
''--exclude="(${builtins.concatStringsSep "|" excluded_tests})"''
(IIRC two exclude flags won't work here)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stdenv.cc.isClang
isn't always defined?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dotlambda When I was working with it, it was only defined for clang.cc
. I don't think anything changed since then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, it appears, multiple exclude options are allowed: cython/cython@7631e5d
bf9a70d
to
acb0de9
Compare
Success on x86_64-linux (full log) Attempted: python36Packages.cython Partial log (click to expand)
|
++ stdenv.lib.optionals (stdenv.cc.isClang or false) [ "cpdef_extern_func" "libcpp_algo" ] | ||
# Some tests in the test suite isn't working on aarch64. Disable them for | ||
# now until upstream finds a workaround. | ||
++ stdenv.lib.optionals stdenv.isAarch64 [ "test_coerce_to_numpy" ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a link to the upstream issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
acb0de9
to
59ebe3b
Compare
Success on x86_64-linux (full log) Attempted: python36Packages.cython Partial log (click to expand)
|
Failure on aarch64-linux (full log) Attempted: python36Packages.cython Partial log (click to expand)
|
Failure on aarch64-linux (full log) Attempted: python36Packages.cython Partial log (click to expand)
|
I just want to wait for my raspberry to finish building this just to be sure... :) |
59ebe3b
to
370f41b
Compare
Success on x86_64-linux (full log) Attempted: python36Packages.cython Partial log (click to expand)
|
Failure on aarch64-linux (full log) Attempted: python36Packages.cython Partial log (click to expand)
|
I have just confirmed that the current commit does build on my raspberry pi 3. But this bit is a bit worrying to me, I will ask about it upstream as well.
That it takes 14.5 hours to run the tests is a bit much maybe? Building the program takes about an hour. |
Let's merge this anyway so we can find out how long it takes Hydra to build. Should be a lot quicker than on a Raspberry. |
If you know which ones fail, please open a PR disabling them on i686. |
@volth When you know this, you should report it upstream as well :) |
@dotlambda Seems to timeout after 10 hours: https://hydra.nixos.org/build/75636013 😞 |
Motivation for this change
The tests doesn't run on aarch64 and it's reported to upstream here:
cython/cython#2308
This would also resolve #41347 for now.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)cc @FRidh @dezgeg