Closed Bug 482701 Opened 16 years ago Closed 6 years ago

runtests.py should print the name of the testcase prior to execution

Categories

(Tamarin Graveyard :: Tools, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX
Future

People

(Reporter: brbaker, Unassigned)

References

Details

Currently the entire output for a single test is collected in a buffer and then once the test completes it is then printed. This is fine until a test hangs, since the execution never completes, the name of the test is never printed so you have no idea which test is currently hung. There needs to be a way for the name of the test to be printed prior to execution so that you can see which test is hung.
Flags: flashplayer-triage+
Flags: flashplayer-qrb?
When running on cygwin this should be easy, you could just do a js_print() call in the cygwin case in runTests() since this is single threaded this would work fine. The complexity comes in when running with multiple threads, not sure how you could keep the log coherent, since there would be multiple threads putting information into the log betwen when thread A starts running the .abc file and when it completes executing the test. This is exactly why the information is buffered and then written out in one chunk (I think).
Hmm with multithreading printing the start makes the output looks kind of messy because the start/end messages are unmatched. For example now output may look like: 1 testD (short test) 2 testC (medium test) 4 testA (long test) (say testB crashes it is never printed) If we print start/end it would look like: 4 testA - starting 3 testB - starting 2 testC - starting 1 testD - starting 1 testD - finished 2 testC - finished 4 testA - finished Is this any clearer than not printing the start message? This doesn't seems very coherent. If we continue to just print the finish message we can still figure out the crashing test by looking for the missing number.
But the problem is that we never print the list of tests, and are you seriously going to try and find the one missing # in a list of 1800 tests?
How often is a test hung? We can just copy the output to a file, write a shell script to find the missing number. I think doubling the output and having start message interspersed with finished messages will make the output unreadable.
how about: - print the start message before the test starts - dont print anything on success - include the test name in the fail message or better, dont even print the start message, just print something less noisy, like when we enter a directory, print the directory name, etc. agree, trying to find a hang by grepping for a missing number is too fragile. python knows which threads are started, so it can internally figure out what is hung or not, we dont have to do this outside python. if a python thread hasnt seen output from its slave process in a timeout, it could kill it, and print something. buildbot need not be involved.
Assignee: nobody → brbaker
Status: NEW → ASSIGNED
Flags: flashplayer-qrb? → flashplayer-qrb+
Target Milestone: --- → flash10.x
Priority: -- → P5
moving to future, not necessary for release
Target Milestone: flash10.1 → Future
Assignee: brbaker → nobody
Blocks: 607714
Priority: P5 → --
No assignee, updating the status.
Status: ASSIGNED → NEW
Tamarin is a dead project now. Mass WONTFIX.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
You need to log in before you can comment on or make changes to this bug.