#69478 closed defect (fixed)
OpenSSH @9.7p1: running tests fails in CI
Reported by: | artkiver (グレェ) | Owned by: | jmroot (Joshua Root) |
---|---|---|---|
Priority: | Normal | Milestone: | MacPorts 2.9.2 |
Component: | base | Version: | |
Keywords: | Cc: | jmroot (Joshua Root) | |
Port: | openssh |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
While attempting to update the Portfile for OpenSSH to 9.7p1 earlier (PR submitted here; prematurely: https://github.com/macports/macports-ports/pull/22981) I ran into an issue which seems very similar to #69456 with OpenSMTPD.
Output of main.log below
:notice:test ---> Testing openssh :debug:test Executing org.macports.test (openssh) :error:test Failed to test openssh: fopen(/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_openssh/openssh/work/destroot/opt/local/libexec/ssh-keysign): permission denied :debug:test Error code: POSIX EACCES {permission denied} :debug:test Backtrace: fopen(/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_openssh/openssh/work/destroot/opt/local/libexec/ssh-keysign): permission denied :debug:test while executing :debug:test "fileIsBinary $fullpath" :debug:test invoked from within :debug:test "fs-traverse -depth fullpath [list [option destpath]] { :debug:test if {[file type $fullpath] ne "file"} { :debug:test continue :debug:test } :debug:test if {[file..." :debug:test (procedure "porttest::test_archs" line 11) :debug:test invoked from within :debug:test "porttest::test_archs" :debug:test (procedure "porttest::test_main" line 5) :debug:test invoked from within :debug:test "$procedure $targetname" :error:test See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_openssh/openssh/main.log for details.
Since OpenSMTPD was apparently fixed upstream (via https://github.com/OpenSMTPD/OpenSMTPD/commit/276e064723bfdc81548950b752595183ea610800 ) I've made mention of this to OpenSSH developer djm@ as well, but wanted to document this in its own Trac issue.
I have not looked into this deeply yet, so my apologies in advance if the OpenSMTPD reference mentioned is a red herring.
I probably should have done more due diligence locally before submitting a PR in the first place; but previously had often ignored when port test failed due to some of the tests attempting to do things which aren't really in alignment with my local system(s) (e.g. trying to nectat to sshd even though I have a firewall running blocking such access so that test would stall out/fail).
Change History (8)
comment:1 Changed 8 months ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
comment:2 follow-up: 3 Changed 8 months ago by artkiver (グレェ)
comment:3 follow-up: 8 Changed 8 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | jmroot added |
---|---|
Summary: | OpenSSH 9.7p1 running tests fails → OpenSSH @9.7p1: running tests fails in CI |
Replying to artkiver:
Since I had a vague recollection from recent mailing list discussion that there had been changes to how the buildbots CI runs tests with 2.9;
CI uses GitHub Actions, not buildbot. The buildbot system is separate.
With MacPorts 2.9, a simple built-in test phase is added so that something can be tested for all ports, even those that don't set test.run yes
. openssh does set test.run yes
and the test that's failing is clearly that one, not the built-in test.
A few weeks ago, mpbb was updated to add the capability to run tests and CI was changed to use that function. That commit message says "Only running built-in tests for now, since we don't have a good solution for ports that may run test commands that take a very long time to complete" which makes me think it should not be running tests for openssh, yet apparently it is.
comment:4 Changed 8 months ago by jmroot (Joshua Root)
Component: | ports → base |
---|
You can set test.ignore_archs yes
to disable the arch check test for any port it doesn't work in.
comment:5 Changed 8 months ago by jmroot (Joshua Root)
Owner: | set to jmroot |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:6 Changed 8 months ago by jmroot (Joshua Root)
Milestone: | → MacPorts Future |
---|
comment:7 Changed 8 months ago by jmroot (Joshua Root)
Milestone: | MacPorts Future → MacPorts 2.9.2 |
---|
comment:8 Changed 8 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to ryandesign:
With MacPorts 2.9, a simple built-in test phase is added so that something can be tested for all ports, even those that don't set
test.run yes
. openssh does settest.run yes
and the test that's failing is clearly that one, not the built-in test.
Clearly I was wrong; it was the built-in tests that were failing due to an unreadable file.
Since I had a vague recollection from recent mailing list discussion that there had been changes to how the buildbots CI runs tests with 2.9; I decided to try running port test on the previous 9.6p1 Portfile and it fails in an identical manner. Output from manually invoking port -d -v test locally below:
Which, makes me think that maybe this issue is related to MacPorts itself rather than upstream?
Output from running make tests manually (which is quite time consuming and does not fail nearly as quickly as port -d -v tests making me think that perhaps MacPorts is doing something different as well? Also, maybe not the best thing to be wasting CI buildbot time on?):