On Sun, Dec 12, 2004 at 12:24:26AM -0600, Jason Gessner ([EMAIL PROTECTED]) wrote:
This is not designed as a replacement for a cron'd prove. The way i see it being used is in a terminal window adjacent to an editing session while trying to nail down a problem.
So it's sort of adding make functionality with prove. The way the check is running in the patch, the only criteria for updating it is changes in the .t file, but what if what you're updating is the source file?
Detecting a change in the mod time for a .t file is less than optimal, I agree. If you have to go and touch your test file to tell it about a change in your module, that is kinda lame.
It really seems like something that would be a wrapper around prove, rather than a change to prove itself.
I'm in love with (well, maybe just a crush on) the idea of having a continual prove in a window while you're running tests. I'm just trying to think of how best to do it.
The main motivation is continuous testing, which I could technically use CruiseControl for. That has a lot going for it in that, umm, i don't need to write something. :) It is also a java project and doesn't understand the output from a Test::Harness run. If we could get back better data about a Test::Harness run in a data structure (instead of via parsing STDOUT) i could write an output formatter for T::H that CruiseControl would think was a Junit test run. This would give me a nice dashboard and test history, for instance.
If i could get to rt.cpan.org I would be able to speak more intelligently about any previous discussions relating to more info coming back from Test::Harness.
Back to the prove --session, if the assumption was that you were working from the top level of a module, we could try to have two main options:
1) re-run any failed tests only
2) re-run all tests if there are changed files from pwd on down. The assumption would be that if you changed something, let's re-test.
This still works with any other prove options, so you could tell prove to just test the one file you want to run continuously while you code a fix for the bug.
Ok, rambling mode off. Must go get some coffee.
-jason gessner [EMAIL PROTECTED]