-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Fix and test Pkg.test(pkg, coverage=true) #9678
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
Conversation
Backticks quote strings that contain a space, so by adding " --inline=no" I broke `Pkg.test(pkg, coverage=true)`
I don't think we can do this. That test relies on network access, which distribution buildbots don't have while building and running tests. Note that the |
Excellent points, thanks the for the review, @tkelman. I suppose an alternative is to add this kind of logic to web_required_for = ["pkg"]
web_on = true
try
getaddrinfo("github.com")
catch
warn("Web unavailable: Skipping tests [" * join(web_required_for, ", ") * "]")
web_on = false
end much like our current |
Looks like |
Something like I do hope to resolve these Windows build issues that prevent source builds from having a fully-functional package manager, once the libgit2 transition starts making real progress towards migrating away from command-line git. |
cc @nalimilan on the |
OK, I canceled the builds and pushed a new one that drops the part about adding to our list in |
Fix and test Pkg.test(pkg, coverage=true)
It turns out that in #9658 I broke
Pkg.test(pkg, coverage=true)
, because the Cmd interpolation quoted a string with a space in it: I was generatingjulia --check-bounds=yes '--code-coverage=user --inline=no' ...
rather than the unquoted form. Responsible for JuliaCI/travis-build#1 (comment). This should fix that.Beyond the one-line fix, the much bigger part of this is adding a test.
EDIT: this part deleted due to feedback below
Finally, the last commit contains what I expect to be the most controversial point of this PR: I added"pkg"
to the list of our default tests. Currently the problem is that this generates a LOT of console output, and one of the tests (PackageWithFailingTests) gives the appearance, to a casual/hasty observer, of some problem. We could presumably turn it off by redirecting the IO to/dev/null
, at least on a Unix platform. I don't know about other platforms, though.Another potential way to turn it off is withredirect_std{out,err}()
(we'd have to cook up a way to do this across Cmd-launched processes), but if we go that way I'm worried about #9501. But maybe we should merge this as-is anyway. Then, the following sequence of events will occur:Multiple people will become annoyed by the amount of output generated duringmake testall
One of those people will have the skills to fix Occasional "broken pipe" errors on Travis/AppVeyor during reflection test #9501, and will eventually get around to it. (That's a nasty bug, so we need to fix it anyway. This just raises the stakes.)Then we can turn off the output oftest/pkg.jl
usingredirect_std{out,err}()
.Thoughts?