Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Using the cool new manual test interface, I just tried role_change_notify, 7.x-1.x, as a branch test and with a dummy patch.
It seems to be working, but it seems to be doing a full test of all tests (all of Drupal).
Could be that this is related to #1126112: Full tests of Drupal being done for some contrib patches. I don't know.
Comments
Comment #1
Dave ReidI've also been getting tests against core with patches for a new contrib project that was started today
Comment #2
rfay@DaveReid, unless you're doing the manual testbot interface, for the testbots that's definitely #1126112: Full tests of Drupal being done for some contrib patches
You know we're pretty close to doing the dependency thing though (which I think fixes that one). Yay. We'll deploy one round of fixes shortly to QA and the testbots, and when that's settled, will push for deployment of project_dependency and the minor pift change it requires.
Comment #3
jthorson CreditAttribution: jthorson commentedSince the testbot doesn't know the project name, it isn't setting test.directory.review.
I thought about parsing it from the git repository provided, but that won't work for sandbox repositories ... so instead, I've added a new field to the manual review form. You'll now need to supply the module's folder name as well as the repository and branch.
Comment #4
jthorson CreditAttribution: jthorson commentedOoops! Argument needs to be an array.
Verified on local testbot ... just make sure to get the directory correct, or no tests will be run. Which reminds me ... need to add a check that --file argument actually contains valid tests ...
Comment #5
jthorson CreditAttribution: jthorson commentedAnother tweak ... new form field wasn't displaying the full 'description'.
Comment #6
rfayThis one loses the "Interrupt any existing tests in progress" checkbox, which I found myself needing most of the time. (And it should probably be set by default).
I'd wish that this remembered the settings between invocations, as they're almost always repetitive. But global variable_gets don't seem like a very good idea.
Comment #7
rfayBut it *works* YAY!
Comment #8
rfayIt doesn't seem to know when it's completed. For example, running a branch test of role_change_notify, and monitoring admin/pifr, after completion, it always says "Status: Running tests, 66 assertion(s).", never knows that it actually got done. The invocation page *has* finally returned at this point.
Edit: And I have to explicitly "reset tests" to move run another test.
Comment #9
rfayDoing a patch test on role_change_notify, I get
Comment #10
rfayAnd, as far as I can tell, this doesn't work on a patch test. Attached log and the junk patch I used.
Comment #11
rfayI'm also not sure about the value being offered by having a multistep form. Can you discuss that? Whenever there's a #fail it introduces complexity and new problems.
Comment #12
rfayBTW: If we can solve this one, can't we also solve #1126112: Full tests of Drupal being done for some contrib patches even without getting the dependency information?
Comment #13
jthorson CreditAttribution: jthorson commentedThe multi-step form was to prevent having to display simple-test specific options on coder tests, and vice-versa.
Comment #14
jthorson CreditAttribution: jthorson commentedRegarding comment #10, this is due to syntax_ignore().
Your patch only affected patch.txt ... so that was the only file in the original $file array. The call to syntax_ignore filters through and removes any files from the $files array that don't match the passed 'test.extensions':
Give it a shot with a patch on a php file.
On the other hand, what is the expected logic? Shouldn't the 'review' operation be doing a full run of '.test' files for the module, and only the 'syntax' operation be concerned with only affected files?
Comment #15
rfayThat's really interesting. I would expect it to continue to to testing regardless of syntax.
Comment #16
jthorson CreditAttribution: jthorson commented#6 ... I can't reproduce. I always get the interrupt box at admin/pifr/run-tests
#8 ... Can't reproduce. My local testbot resets to idle.
#9 ... Can't reproduce ... though I'll open a ticket with patch to make sure it's defined before checking the value.
#10 ... Confirmed (Fail response with empty --file argument patch applied). Will chase this tonight.
#14 ... explains syntax check on 0 of 0 files, but not the review.
Comment #17
jthorson CreditAttribution: jthorson commentedOkay ... for #10, here's what's happening:
pifr_simpletest.client.inc review() calls test_list().
test_list() matches the arguments['test.directory.review'][0] condition, and calls pifr_drupal.client.inc syntax_files().
pifr_drupal.client.inc syntax_files() doesn't match the arguments['drupal.modules'] or argument['directory'] conditions, so it calls client.inc syntax_files().
client.inc syntax_files() calls apply_files(), which contains the patch file which was uploaded.
So instead of a full directory scan, you get only the patch file.
Comment #18
rfayI'm pretty sure #6 was a result of me being confused by the multistep form.
Comment #19
jthorson CreditAttribution: jthorson commentedLet's try this ... removed the syntax_files() dependency inside the test_list() routine, opting instead to scan directly. (Reversed some changes introduced in #746730: Allow test.directory.review to be an array.)
Comment #20
jthorson CreditAttribution: jthorson commentedPrevious patch had some path issues ... this one should work better.
Comment #21
jthorson CreditAttribution: jthorson commentedTested with manual branch and patch tests, and with automated branch re-test ... test from PIFT didn't work, as role_change_notify is being sent with 'master' as the branch to test (though 'master' is empty).
Comment #22
jthorson CreditAttribution: jthorson commentedTest from PIFT goes into 'postponed' state ... but confirmed (via manual retest) that a patch against token 6.x-1.x did not run the full suite of tests.
As the manual tests are fixed, I believe this item is ready to close. Will cross-reference to this patch in issue #1126112: Full tests of Drupal being done for some contrib patches, and continue the testing there.
Comment #23
jthorson CreditAttribution: jthorson commentedK ... we're mixing a lot of issues here. I went to re-apply my patches, and missed some as a result.
For now ... re-pasting the patch from #5 ... which addresses the original issue.
Also moved the use-scan-instead-of-syntax patch moved over to #1126112-11: Full tests of Drupal being done for some contrib patches.
Comment #24
jthorson CreditAttribution: jthorson commentedPatch in #23 committed to 6.x-2.x (ddc5f933) based on #1236228-1: August 1st PIFR Testing Results.