Navigation Menu

Skip to content
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

Create distinct rerun failed pages, to allow concurrent suites to run #1316

Merged
merged 1 commit into from Apr 9, 2021

Conversation

raducu-deaconu-visma
Copy link
Contributor

In a scenario where we have multiple suites running at the same time towards the same fitnesse instance, at the end of the run we get only one page for rerunning failed tests, as each run overwrites them.
Adding the page name to "RerunLastFailures" prefix allows identifying and rerunning the failed tests for each individual suite we run.

@fhoeben
Copy link
Collaborator

fhoeben commented Mar 6, 2021

Sorry it took me a while to respond.
You are completely right the current approach does not support rerun properly when you run multiple suites from the UI. (I addressed this problems in my own project when running test via jUnit, by allowing the re-run page name to be explicitly configured for each run, which is the only time I run suites concurrently).

I see some problems with your approach unfortunately:

  • The 'Rerun' button on the top of the page is not updated to match the new pagename, see fitnesse/resources/templates/menu.vm
  • Less importantly: when the suite is filtered (using in- or exclude of tags) ideally that would also lead to different re-run page names

If the pages generated would share a single parent/suite then the user could easily rerun all failures of all concurrent suites in a single rerun after all suites have completed (which is sometimes desirable to rerun without side-effects of other runs running at the same time), while still allowing rerun of the failures of a single run.

@raducu-deaconu-visma
Copy link
Contributor Author

raducu-deaconu-visma commented Mar 8, 2021

Thank you for the feedback!
Are you referring to the "Rerun Failed" button in errorNavigator.vm ? The reference to that should be set correctly in SuiteResponder , as for the name , i was thinking to rename the button to "Rerun Failed in suitename", but the suitename can be quite long. Should it be renamed to something like "Rerun Failed in suite" ? I thought keeping the previous name would be consistent with the previous behavior, is this what you are referring to?
I do not know about handling include/exclude i will try to look into that.
I was thinking also about placing subpages under a parent "Rerun Failed" , but couldn't get my head around some of the issues in principal, like when to create/delete this parent page, adding a button for the page....and i don't know if i could make a proper solution for that

@fhoeben
Copy link
Collaborator

fhoeben commented Mar 8, 2021

You are right I pointed to the wrong .vm. And I overlooked that link is dynamic. I think keeping the displayed name is fine.

Keeping track of the parent, and especially when it may be cleaned, does indeed look challenging. I have to admit this (and the in- and excludes) kept me from doing anything more complicated than just tracking the last test run. ;-)
In a CI run life is a bit easier...

Think about it some more. It would be great if we could support all these concerns.

@fhoeben fhoeben merged commit a249a6b into unclebob:master Apr 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants