desert-island test can pass incorrectly because packages are installed #1346
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#1346
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The desert-island test should be testing that the contents of the deps tarball are sufficient to build without downloading. It's actually testing that those contents plus any locally installed packages, are sufficient to build without downloading.
For example, a SUMO build of 1.8.2b1, with no dependencies installed, will download setuptools_trial from PyPI in order to build zfec. That isn't caught by the desert-island builder because it has zfec locally installed.
In fact that builder has pycryptopp, mock, pyasn1, pycrypto, Nevow, foolscap, Twisted, zope.interface, simplejson, zfec, pyOpenSSL, pyutil, argparse, and zbase32 installed, so it is not using any of those from the tarball.
I believe the test should warn if it has any lines that start with "Using ".
It would be really great to have a layer of isolation between the code-under-test, which in this case is the source tree and its build system, from the test-code which in this case is the buildbot itself and the other code on the host's system. The Python "virtualenv" tool might be pretty well-suited for this. I think that's what its raison d'etre is.
Replying to zooko:
This is #1464.
We no longer provide SUMO tarballs, and the new desert-island procedure uses the pip wheel cache. Also, everything is now tested in a virtualenv. So I'm going to close this one.
We might want to have a new ticket to exercise the recommended desert-island procedure, but I'm not currently convinced we really need it.