Fuse system tests in contrib/fuse/runtests.py are broken #888
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
2 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#888
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
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?
Zooko advised me to run the Fuse tests to see if they pass after #811 was fixed. This is unfortunately not the case because a of a couple problems.
runtests.py is being too picky about warning printed on stdout, this is addressed by #876.
tahoe nodes are not correctly configured because runtests.py uses the old configuration method, e.g. it creates a webport file instead of editing tahoe.cfg. This is addressed by this ticket.
Attachment fix-bug-888.dpatch (36673 bytes) added
With this patch applied on top of the patches from #881 and #876, I can finally run 'make fuse-test' from the tahoe codebase.
There's something weird with the 'impl_c' test because running 'make fuse-test' multiple times doesn't always lead to same number of failed tests. This number varies between 1 and 3. Other tickets will be opened to deal with that as soon as I figure out what makes those tests break.
Anyway, this patch is ready for review.
content = re.sub('%s = (.+)' % key, '%s = %s' % (key, value), content)
What if
%s = (.+)
matches a partial line?Replying to davidsarah:
The docs for re.sub seem to say that it can. Brian on IRC suggested that the test should probably be creating a new
tahoe.cfg
rather than editing an existing one (the only fields needed seem to beweb.port
andintroducer.furl
.Replying to [davidsarah]comment:4:
According to the documentation, the
'+'
qualifier is greedy by default. I don't see how a partial line could be matched.Won't it break more easily in the future if new mandatory configuration directives were to be added by
tahoe create-client
?I don't care either way -- if the test code breaks due to a new configuration directive then we can fix it at that time, but on the other hand the current use of
((.+)
is correct and we could accept it. (Besides which "this is just test code" -- if the(.+)
matches on a partial line then the worst that would happen is that the tests would spuriously fail and we would notice and fix it.)David-Sarah: have you reviewed the rest of the patch? Any other issues with it?
Replying to [francois]comment:5:
It can match starting part-way through a line. To be correct it should be
^%s = (.+)$
with the MULTILINE flag specified. (The$
isn't necessary except for clarity, because.
doesn't match a newline. The^
is necessary, though.)However, I suggest using the option-based approach described below instead.
It would be better still to use the
--webport=
and--introducer=
options when creating the node. I.e. something likeThere are also a few pyflakes warnings for runtests.py, that might as well be fixed while we're changing it:
(line numbers might be slightly off).
David-Sarah: Thanks for your advise! I'm not sure I'll be able to rewrite this patch before 1.6 though. Anyway, the next tine I'll touch this test script, I'll use that.
David-Sarah has suggested some good improvements, and François intends to implement them next time he touches this code. For most Tahoe-LAFS code we would tend to leave the patch out of trunk until the better version is implemented, but this is for source:contrib and I'm going to apply this patch, because fuse tests are broken in Tahoe-LAFS v1.5 so this can't possibly cause a regression.
fixed by changeset:d0c6aa569d965b3d but a better version of this patch would be nice. Thanks, François and David-Sarah!