Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#60630 closed defect (fixed)

test mtime1 failed

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: neverpanic (Clemens Lang)
Priority: Normal Milestone: MacPorts 2.6.3
Component: base Version: 2.6.99
Keywords: Cc:
Port:

Description

The mtime1 test now fails:

===> making test in src/pextlib1.0
/opt/bblocal/var/buildworker/base/base-10_10_x86_64/opt/local/libexec/macports/bin/tclsh8.5 ./tests/checksums.tcl ./Pextlib.dylib
/opt/bblocal/var/buildworker/base/base-10_10_x86_64/opt/local/libexec/macports/bin/tclsh8.5 ./tests/curl.tcl ./Pextlib.dylib
test mtime1 failed: [curl isnewer --ignore-ssl-cert http://svn.macports.org/repository/macports/users/eridius/curltest/dummy [clock scan 2007-06-16Z]] == 0

This test used to work.

I don't see any Last-Modified header being sent:

$ curl -iL https://svn.macports.org/repository/macports/users/eridius/curltest/dummy
HTTP/1.1 200 OK
Date: Fri, 12 Jun 2020 11:38:45 GMT
Server: Apache/2.4.38 (Debian)
Cache-Control: max-age=0
ETag: "26224//users/eridius/curltest/dummy"
Accept-Ranges: bytes
Content-Length: 21
Vary: Accept-Encoding
Content-Type: text/plain

This is a dummy file

It seems like such a header would have to be sent for that test to succeed.

It looks like Subversion was deliberately modified to no longer send the Last-Modified header as of Subversion 1.10.0. The Braeburn server currently uses Subversion 1.10.4. I assume that the recent Braeburn server update upgraded Subversion to this version, and that it was previously using a version before 1.10.0.

So I guess we need to find a different non-svn URL to use for this test.

Change History (3)

comment:1 Changed 4 years ago by neverpanic (Clemens Lang)

https://github.com/macports/macports-base/pull/188

Not proud of just switching to a different URL, but it's the quickest fix for now.

comment:2 Changed 4 years ago by neverpanic (Clemens Lang)

Owner: set to neverpanic
Resolution: fixed
Status: newclosed

In 83711dc4cc749931fa35af4f3766dbdb74c24f4d/macports-base (master):

tests: Fix curl isnewer test broken by braeburn update

Updating braeburn to a subversion version >= 1.10.0 broke this test,
because the subversion backend no longer delivers the Last-Modified
header.

Switch to a URL under our control that does and, adjust the other tests
as required, update the timestamps to check in the 'curl isnewer'
testcases, and drop unused variables.

Ideally, we wouldn't be relying on a remote server for this test and
start a local one, but Apple doesn't ship /usr/bin/python3 on modern
systems, we should probably not rely on /usr/bin/python being around for
very much longer, and I'm not aware of any other quick-and-dirty
webservers we could start for the test short of writing our own.

Closes: #60630

comment:3 Changed 4 years ago by neverpanic (Clemens Lang)

Milestone: MacPorts 2.6.3
Note: See TracTickets for help on using tickets.