Re: 2.5 console runner documenation
"Charlie Poole" <[email protected]> Fri, 24 Oct 2008 11:56:28 -0700
| Newsgroups | gmane.comp.windows.dotnet.nunit.user |
|---|---|
| Message-ID | <000101c9360a$3b1a6c10$6401a8c0@ferrari> |
Hi Jay, I haven't heard further from you on this. As noted in a separate post, I floated the issue on the nunit-discuss list and it was apparently a non-issue, since nobody responded to two posts there. If you still have an issue on this, I suggest you jump on the other thread I just started here. If you can show me why the recommended approach of using a trivial reformatting app right after nunit-console runs is not useful in some specific circumstances, I'll be happy to deal with that. So far, you only stated it won't work, which isn't making sense to me - quite possibly a lack of imagination on my part, but I still need you to help me out if you want anything to change. Charlie > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf > Of Charlie Poole > Sent: Monday, September 08, 2008 2:03 AM > To: [email protected] > Subject: Re: [Nunit-users] 2.5 console runner documenation > > Hi Jay, > > > I'm not sure I see how using a documented feature is out of the > > ordinary :) > > > > Really, if it's the only way to customize the console output to > > produce extra terse output, it'd be a shame to scrap it entirely. > > It's like the /b option for the dir command in dos. Sometimes you > > just need something that outputs the bear minimal information. The > > benefit of xslt is that you can go beyond that and customize things > > however you like. I apologize that I wasn't around to voice a vote > > when you were looking for opinions of the matter. And I appreciate > > that xslt is a pain to use for something as simple as this. But I > > guarantee if you don't have something to replace its functionality > > you're going to get other users grumbling, too. > > I can't be the only one that works from the command line, > relying on > > stdout. > > > > Is it that you're not familiar with xslt, and another > contributor who > > isn't around anymore is the one who added it? > > I can appreciate that, too. But really, it should be a > simple matter > > to test one way or another on console output. > > If the transform file was specified, feed the current test's output > > XML into it and print the result to stdout. Otherwise use whatever > > system you've built to replace it. Just because the system can use > > xslt doesn't mean YOU have to. This just seems like a case > where you > > shouldn't be breaking backwards compatibility for no reason. > > In fact, the xml output is still there for you to use. And > xslt will be used to produce reports out of NUnit. It's just > not being done in the nunit-console program. > > Actually, if NUnit didn't have the transform option on the console, > > you and I wouldn't be having this conversation. I would have found > > another unit testing framework that did what I needed. At the very > > least you need to have a little error message saying that > -transform > > is no longer supported if you try to run the console runner > with that > > option. > > I'm sorry that the change doesn't seem to work for you. I > indicated that there was discussion about it because the > upshot of that discussion was that the rearranging of the > different facilities - they have not been removed - still > allowed everything to be done that was being done and also > allowed some new things to be done that couldn't be done > before. I'm pretty sure that you would find you can use the > new arrangement in pretty much the same way as before if you > gave it a chance. > > > Okay, my little rant over, let's get to the matter at hand. > > 1 and 2 won't work, because I need the output to go to the console > > before the unit tests can return a return code. > > That's what option 1 would do. Option 2 could be made to do > that if you made use of a wrapper script to give the return code. > > > That's really the way the whole chain is set up, and it'd > be a major > > pain to change things. > > > > #3 sounds promising. Looking through the source it doesn't > seem too > > bad. What's a mile high overview of what ConsoleUi does? > It's only > > summary statement is: "Summary description for ConsoleUi.", which > > isn't terribly descriptive ;) > > You're right that it's not mucy of a description. It should > say "Runs the NUnit tests and produces console and xml output. :-) > > The code is fairly clear, I think. You'll find routines that > produce part of the console output. However, if you are > already using xslt, I'd suggest you continue to do so. From > what you have described, it sounds like you only need to make > a small change. > > > The other option is the non-action of just sticking with the 2.4.X > > fork and lumping it. Right now there's nothing in 2.5 that I need, > > but I'd hate to cut myself off from future updates. > > That is an option. A further option, of course, would be to > modify the 2.5 code to work as you think it should. > > However, I would really suggest that you take another look at > the five approaches I listed for you. It seems that one of > them ought to do the job. In particular, it seems as if you > could simply replace your invocation of nunit-console with a > script that could produce exactly what you now get, by > judicious use of command-line options and/or a separate > reformatting program. I can provide you with a utility to do > the reformatting if you don't have one handy. > > Charlie > > > -Jay Lemmon > > > > --- On Sun, 9/7/08, Charlie Poole > <[email protected]> wrote: > > > > > > From: Charlie Poole <[email protected]> > > Subject: RE: [Nunit-users] 2.5 console runner documenation > > To: [email protected] > > Date: Sunday, September 7, 2008, 5:32 PM > > > > > > Hi Jay, > > > > I'll start with the last question: based on feedback > from users, most > > people > > assumed that the option caused the xml file to be > reformatted, not > > the > > console output. I got a lot of "bugs" about how using > /transform > > broke > > the console output and sent html to stdout instead of > to the file. > > :-) > > > > The xml is the primary output from nunit and it seemed > that anyone > > wanting to reformat it could do so easily enough. My own little > > command-line > > utility that reformats the xml using a stylesheet is > about 15 lines > > long. > > > > But using something as sophisticated as xml and xslt > just to produce > > the > > command-line output, which is not intended for > reporting purposes > > seemed > > like a waste of effort - using a sledge hammer to crack > walnuts. More > > important, > > it coupled two different things together: console output and > > reporting, making > > it very ard to change either one. With a reporting > subsystem on the > > drawing > > board, I didn't want to have to think about how changes > in the xml > > would impact > > the nunit-console display. > > > > Back to your problem, then... > > > > I see five options... > > > > 1. Use the /xmlconsole switch to send the xml to the > console and add > > a filter program > > to your toolchain to reformat it. > > > > 2. Use the same external filter program with > TestResult.xml as it's > > input. > > > > 3. Do the reformatting within your own runner, taking > the code from > > ConsoleUi.cs. > > > > 4. Replicate the nunit logic in your own runner - i.e. > > copy it - and modify > > the runner to write output in the form you prefer. > > > > 5. Same as #4, but modify the event handlers in > EventCollector.cs to > > do the same thing. > > > > > > I don't think any of these are particularly harder than > what you have > > done - but of course, you've already done that work, so > I recognize > > this is extra effort for you. I apologize for that, but > I think this > > change > > will get us farther in the long run. > > > > Charlie > > > > PS: The change was discussed before and at the time of > implementing. > > It's good to be involved in such list disussions, > particularly if you > > know > > you're doing something a little out of the ordinary. > > > > > > > > > > ________________________________ > > > > From: Jay Lemmon [mailto:[email protected]] > > Sent: Sunday, September 07, 2008 3:04 PM > > To: Charlie Poole > > Subject: Re: [Nunit-users] 2.5 console runner > documenation > > > > > > Yes, I'm still pretty raw with NUnit, so any > help would be > > appreciated :) > > > > My tool chain is set to use the console pretty > exclusively. That > > means stdout AND return codes. Also, the stdout needs to > be kept very > > clean, because I don't want to write a lot of special logic > excising > > extra data. So a command line option would probably be too weird. > > > > So that leaves something done in code. Right > now my test runner is > > pretty stupid. It just adds some command line switches > automatically > > to the console options and feeds it to the console runner library. > > How deeply am I going to have to dig in to the code to get what I > > need? > > > > Also, out of curiosity, why was the xslt option > removed? It seems > > like a step backwards without the corresponding two steps forward. > > But then my scope is pretty narrow :) > > > > -Jay Lemmon > > > > --- On Sun, 9/7/08, Charlie Poole > > <[email protected]> wrote: > > > > > > From: Charlie Poole > > <[email protected]> > > Subject: Re: [Nunit-users] 2.5 console > runner documenation > > To: [email protected], > > [email protected] > > Date: Sunday, September 7, 2008, 2:54 PM > > > > > > That sounds like a valid use case, > altough unusual. What's > > interesting is that it matches exactly > > the use cases I wrote about earlier: > > You want a report in a particular format, but the fact that > > it is produced on stdout by NUnit is > just an implementation detail > > and not a requirement. > > > > AFAICS, you can do everything you want > using any of the options I > > described in the last > > note. If it's not clear, I'll try to > supply more detail. > > > > Charlie > > > > ... > > > > > > The output is created in code. You > could certainly do that yourself > > if you like. Essentially, you have two choices: to look at > the final > > tree of results, as NUnit does, or to handle each test result as it > > comes along - which is how NUnit creates it's test output. > > > > Of course, you can also continue to use > xslt as you now do - you > > just can't have > > NUnit apply the xslt for you. That's > trivial to do at the end of > > the test run by taking > > the xml output adn transforming it. > > > > Charlie > > > > > > ________________________________ > > > > From: > > [email protected] > > [mailto:[email protected]] On Behalf Of Jay > > Lemmon > > Sent: Sunday, September 07, 2008 2:29 PM > > To: [email protected] > > Subject: Re: [Nunit-users] 2.5 > > console runner documenation > > > > > > A quick follow up to my last > > email. This is the format I'm looking for the console runner to > > output. I need it this way because it mirrors the output > from another > > unit testing framework (UnitTest++), so it makes everything > nice and > > consistent for my tool chain. > > > > > > c:\glassworksstudio\lodestone\source\trunk\unittests\quarticte > > sts.cpp(56): error: Failure in Fixture1.Test_1: Expected 0 but was 2 > > > > c:\glassworksstudio\lodestone\source\trunk\unittests\quarticte > > sts.cpp(63): error: Failure in Fixture1.Test_2: 20 < 10 > > FAILURE: 2 out of 156 tests > > failed (2 failures). > > Test time: 0.02 seconds. > > > > Note each test failure follows > > this format: > > [file]([line]): error: Failure > > in [TestFixture].[TestName]: [Error message] > > all inline, with a new line for > > each failed test. Then a summary report and the time to > run the tests > > comes last. > > > > -Jay Lemmon > > > > --- On Sun, 9/7/08, Jay Lemmon > > <[email protected]> wrote: > > > > > > From: Jay Lemmon > > <[email protected]> > > Subject: Re: > > [Nunit-users] 2.5 console runner documenation > > To: > > [email protected] > > Date: Sunday, September > > 7, 2008, 2:16 PM > > > > > > Well I can't speak for > > anyone else, but customizing the (console) output of the console > > runner is important to me. If it's impossible in 2.5, it'll mean I > > can't upgrade :( > > > > It doesn't have to be > > xslt. And it doesn't have to be a command line switch. > > Right now I'm actually linking against the console runner > assemblies > > (DLLs) to build my own custom EXE for every test project I > build, so > > it could be something done purely in code. How is the > format for the > > console runner decided right now if it's not xslt? > > > > -Jay Lemmon > > > > --- On Sun, 9/7/08, > > Charlie Poole <[email protected]> wrote: > > > > > > From: Charlie Poole > > <[email protected]> > > Subject: Re: > > [Nunit-users] 2.5 console runner documenation > > To: > > [email protected] > > Date: Sunday, September > > 7, 2008, 1:10 PM > > > > > > Hi Jay, > > > > There doesn't seem to > > be a real need to customize console output, except possibly to have > > NUnit show more > > detailed info - an option I'm working on. Most people using the old > > feature > > seemed to be producing > > html with it. That's still possible, but the xml would need to be > > formatted after the NUnit run. > > > > Charlie > > > > > > ________________________________ > > > > From: > > [email protected] > > [mailto:[email protected]] On Behalf Of Jay > > Lemmon > > Sent: Sunday, September > > 07, 2008 12:54 PM > > To: > > [email protected] > > Subject: Re: > > [Nunit-users] 2.5 console runner documenation > > > > > > I just copied the 2.5 > > binaries over my old binaries, so it wasn't a fool proof test, no :) > > > > So how do I, the end > > user, customize console output now? The release notes > don't mention > > anything in this regard. > > > > -Jay Lemmon > > > > --- On Sun, 9/7/08, > > Charlie Poole <[email protected]> wrote: > > > > > > From: Charlie Poole > > <[email protected]> > > Subject: Re: > > [Nunit-users] 2.5 console runner documenation > > To: > > [email protected] > > Date: Sunday, September > > 7, 2008, 6:39 AM > > > > > > Hi Jay, > > > > There's mention in the > > release notes, under 2.5 alpha 1, about the removal of the transform > > option. The console > > output is now indepedent of the xml, so it no longer has > any purpose. > > > > Since the option is no > > longer there, I'm pretty sure it can't be working. :-) Are you sure > > you were using 2.5 for > > your test? > > > > Charlie > > > > > > ________________________________ > > > > From: > > [email protected] > > [mailto:[email protected]] On Behalf Of Jay > > Lemmon > > Sent: Saturday, > > September 06, 2008 9:42 PM > > To: > > [email protected] > > Subject: [Nunit-users] > > 2.5 console runner documenation > > > > > > When comparing the > > 2.4.8 docs and the 2.5 docs, I noticed that this section in console > > runner: command-line was mostly deleted and partly merged > with the one > > before it: > > > > "Specifying the Transform file > > > > The console interface > > uses XSLT to transform the test results from the XML file > to what is > > printed to the screen when the program executes. The > console interface > > has a default transformation that is part of the executable. To > > specify your own transformation named "myTransform.xslt" use the > > following command line option: > > > > nunit-console > > /transform:myTransform.xslt nunit.tests.dll > > > > Note: For additional > > information see the XML schema for the test results. This > file is in > > the same directory as the executable and is called Results.xsd. The > > default transform Summary.xslt is located in the core source > > directory." > > > > In the 2.5 docs, > > there's no such section, and the mention of the Results.xsd > is merged > > in to the section before it on specifying an output xml file. > > > > Is this an error in the > > docs, or is this feature (specifying a transform) going to > be removed > > in 2.5? A quick test shows that it still works. > > > > -Jay Lemmon > > > > > > > > > > -------------------------------------------------------------- > > ----------- > > This SF.Net email is > > sponsored by the Moblin Your Move Developer's > > challenge > > Build the coolest Linux > > based applications with Moblin SDK & win great > > prizes > > Grand prize is a trip > > for two to an Open Source event anywhere in the world > > > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > > > _______________________________________________ > > Nunit-users mailing list > > > > [email protected] > > > > https://lists.sourceforge.net/lists/listinfo/nunit-users > > > > > > > > > > -------------------------------------------------------------- > > ----------- > > This SF.Net email is > > sponsored by the Moblin Your Move Developer's > > challenge > > Build the coolest Linux > > based applications with Moblin SDK > > & > > win > > > > great > > prizes > > Grand prize is a trip > > for two to an Open Source event anywhere in the world > > > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > > > _______________________________________________ > > Nunit-users mailing list > > > > [email protected] > > > > https://lists.sourceforge.net/lists/listinfo/nunit-users > > > > > > > > > > -------------------------------------------------------------- > > ----------- > > This SF.Net email is > > sponsored by the Moblin Your Move Developer's > > challenge > > Build the coolest Linux > > based applications with Moblin SDK & win great > > prizes > > Grand prize is a trip > > for two to an Open Source event anywhere in the world > > > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > > > _______________________________________________ > > Nunit-users mailing > > > > list > > > > [email protected] > > > > https://lists.sourceforge.net/lists/listinfo/nunit-users > > > > > > > > > > -------------------------------------------------------------- > > ----------- > > This SF.Net email is sponsored by the > Moblin Your Move Developer's > > challenge > > Build the coolest Linux based > > applications with Moblin SDK & win great > > prizes > > Grand prize is a trip for two to an > Open Source event anywhere in > > the world > > > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > _______________________________________________ > > Nunit-users mailing list > > [email protected] > > > > https://lists.sourceforge.net/lists/listinfo/nunit-users > > > > > > > > > > > > > > -------------------------------------------------------------- > ----------- > This SF.Net email is sponsored by the Moblin Your Move > Developer's challenge Build the coolest Linux based > applications with Moblin SDK & win great prizes Grand prize > is a trip for two to an Open Source event anywhere in the > world http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Nunit-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/nunit-users > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/