Red Hat Bugzilla – Bug 485457
[RFE] Implement phase nesting
Last modified: 2016-09-19 22:13:02 EDT
Description of problem:
I've encountered a few tests, where I would like to nest phases, just for the sake of a test structure and readability. I think no real functionality changes should occur, just allowing this structure should be enough.
The idea of nesting phases seems nice & useful to me. Perhaps we could make use of the possible modification of journalling-related functions to also add support for phase aborting. Which brings some new questions:
* How to implement a phase-skip?
* Should the phases rather be written as functions?
+1 to phase nesting
Phase aborting is really a desired function to have - it lives in our specs from the very beginning. I just still don't know how to handle clean-up. No idea how to skip phases (I've experimented with noexec option, but once this is turned on, one can't turn it off again)
I don't like the idea of functions - it brings a lot of troubles (variable validity, nesting...).
I wonder if we could just ignore the cleanup.
Once we have phase nesting as suggested in bug 464155 comment #2, it would be nice if each rlPhaseEnd generates result as rlJournalPrintText, but only for that phase (and it's children).
When I click in the WebUI on "Test" phase which failed, I do not want to see "Setup" phase which was OK. We could also have some fake "This is a test's real end" phase, which would be parent of all phases (and so, it would contain all the phases).
And more tricky part: would be nice, to have TESTOUT.log divided phase-by-phase. Like TESTOUT-Setup.log, TESTOUT-Test.log and TESTOUT-Cleanup.log - in the simplest case.
I've checked in the first step, under obvious rule: this bugfix enables very simple nesting: it places asserts and logs into the right phases, but it doesnt reflect the nesting itself in the log.
Created attachment 341147 [details]
Created attachment 341149 [details]
real simple bugfix
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
As we could live without that until now I do not see much demand on this.