-
Notifications
You must be signed in to change notification settings - Fork 550
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
t/porting/authors.t: failing on many smoke-testing rigs #20141
Comments
We have a temporary work around. But imo it would be better to check for an env flag that a smoke test is running and disable the pending authors tests for those environments. @Tux is there such an env var? Eg, when the smokes run do you set "SMOKE_TEST_RUNNING" or something like that? |
#20142 (commit 6c19d6c) appears to be stanching the bleeding. See, e.g., https://perl5.test-smoke.org/report/5021934, which was run at a commit after the p.r. was applied. I'll keep an eye on this over the next several days. (I don't yet have a firm opinion on what a more permanent fix should do.) |
Per Lancaster Consensus, |
Thanks @Leont. SInce I wasn't involved in this how would i get a point of concern registered for the next "consensus": one problem we are facing is that smoke testers are modifying the tree as part of their tests. Its not clear to me if AUTOMATED_TESTING is the right flag to signal "in this environment the code might be modified and the tests should not care". It does look that until there is a flag that captures that intent that AUTOMATED_TESTING is the closest we can get. |
So there are several issues:
And then there is the modification of patchlevel.h.. But that last thing got me thinking...
So in both cases it will be running the tests with a dirty tree and will lead to failures... So I guess that makes the question: how can we skip the 'uncommitted changes' part of the test? A possibly (ugly?) change could be something like (untested!):
(Another check - instead of Any thoughts? |
On Mon, 29 Aug 2022 at 22:04, Bram ***@***.***> wrote:
+ if (-f "mktest.out") { skip "Skipping because Test::Smoke appears to be
testing"; }
I like the idea of this, but woudlnt mktest.jsn be a better choice? I am
assuming the .jsn file will be written to disk first before mktest.out. It
just feels a bit chicken and egg to use the output of the tests to control
the tests...
Yves
…--
perl -Mre=debug -e "/just|another|perl|hacker/"
|
If I remember it correctly: (but I'll double check later)
Also: don't confuse mktest.out for the output of |
Darn. :-) Ok, well then i guess it has to be mktest.out. :-) |
Since the problem I originally reported in this ticket has been cleared up for 10 days, and since subsequent discussion has veered into a discussion of smoke-testing which will inevitably require discussion with the Test-Smoke maintainers, I'd like to recommend closing this ticket. If someone wants to open up a ticket in Test-Smoke's queue or start a discussion on our mailing list, that would be fine. Self-assigning this ticket for the purpose of closing it within 7 days. |
Closing as per schedule. |
This code is called via t/porting/authors.t; it basically checks if there are pending/uncommitted changes and if the author is a known contributor. That test doesn't really work too well in combination with Test::Smoke since that does create some files in the build-directory and may patch some files (for example patching 'patchlevel.h' to include the commit id). The end result: on several smokers the t/porting/authors.t test was failing [because they lack a git config for user+email or because the configured name/email is not a known contributor]. Unfortunately Test::Smoke does not set the AUTOMATED_TESTING flag so detect if Test::Smoke is running by checking for the 'mktest.out' file. This commit also reverts the temporary work-around that was added in commit 6c19d6c. (That work-around didn't cover all cases; there are smokers running with a different name/email configured then the one in AUTHORS and for those the test still failed with the temp work-around.) Fixes Perl#20141
This code is called via t/porting/authors.t; it basically checks if there are pending/uncommitted changes and if the author is a known contributor. That test doesn't really work too well in combination with Test::Smoke since that does create some files in the build-directory and may patch some files (for example patching 'patchlevel.h' to include the commit id). The end result: on several smokers the t/porting/authors.t test was failing [because they lack a git config for user+email or because the configured name/email is not a known contributor]. Unfortunately Test::Smoke does not set the AUTOMATED_TESTING flag so detect if Test::Smoke is running by checking for the 'mktest.out' file. This commit also reverts the temporary work-around that was added in commit 6c19d6c. (That work-around didn't cover all cases; there are smokers running with a different name/email configured then the one in AUTHORS and for those the test still failed with the temp work-around.) Fixes #20141
This code is called via t/porting/authors.t; it basically checks if there are pending/uncommitted changes and if the author is a known contributor. That test doesn't really work too well in combination with Test::Smoke since that does create some files in the build-directory and may patch some files (for example patching 'patchlevel.h' to include the commit id). The end result: on several smokers the t/porting/authors.t test was failing [because they lack a git config for user+email or because the configured name/email is not a known contributor]. Unfortunately Test::Smoke does not set the AUTOMATED_TESTING flag so detect if Test::Smoke is running by checking for the 'mktest.out' file. This commit also reverts the temporary work-around that was added in commit 6c19d6c. (That work-around didn't cover all cases; there are smokers running with a different name/email configured then the one in AUTHORS and for those the test still failed with the temp work-around.) Fixes Perl#20141
In the past few days quite a few of our smoke-testing rigs have been reporting failures in
t/porting/authors.t
. See, for example, this report on darwin.The logfile corresponding to the above report holds repeated instances of this:
The earliest commit at which we can see these failures (at least at Tony's aggregator) is 015aea7:
I am not getting these failures on my smoke-testing rigs, but my smoke-test runs are kicked-off manually. My impression is that the rigs that are showing test failures run unattended off of
cron
jobs.Does anyone have suggestions as to how we can get these smoke-testing rigs running smoothly again?
The text was updated successfully, but these errors were encountered: