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

Combined file with result and output log files along with test start/end entries #1199

Open
gps7 opened this issue Jul 4, 2022 · 0 comments
Labels

Comments

@gps7
Copy link

gps7 commented Jul 4, 2022

Hi,
I request to add a feature for console application to have a new type output which combines output and result files into single file. The reason is that our tests produces huge amount of logs (due complexity nature) and once it is failing we need to find test start time in results file, then search for this time in the output files. This is extra effort considering that output files in some cases reaches 230 MB and more file size of output and tests running up to 8 hours (nightly) with 800 tests.

Currently we are having hard times to find failure times with messages and trying forcibly to inject failure information into output file which results in changes for each test if running based on standard Nunit structure. We do have our dynamically loading test and this makes easier to reach this goal.

The combined file must have fallowing entries:

  • All output file content
  • A clear test start entry with test name and full class name of the test
  • Test Setup and Teardown entries
  • Test end which includes fallowing information:
    • test outcome (success/failed/ignored/inconclusive);
    • full failure message including stack traces (must include multiple stack traces for Assert.Multiple case);
    • total number of run so far tests;
    • total number of failed tests so far
    • total number of ignored tests
    • Duration time which took to execute the unit test (exclusion for ignored)
    • Ignore message if the test was ignored

All entries should be fallowed based on execution time. The question only stands for tests running in parallel since my guess all this information cannot be mixed up for multiple tests. Thus I would expect logging output by blocks to have a separation between tests.

This is fallow up from work item #1192.

Example of preliminary new file combined content file:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
==== Test Name: My test name for checking Assert.Muliple functionality ====
==== Test Class: MyFileName.MyTests.AssertTests.TestAssertMultiple ====
.... (output file content)
==== ONETIME SETUP ====
.... (output file content)
==== ONETIME SETUP END ====
==== SETUP ====
.... (output file content)
==== SETUP END ====
==== EXECUTING ====
.... (output file content)
.... (test result failure information including stacktrace if failed)
.... (output file content)
==== EXECUTION END ====
==== TEARDOWN ====
.... (output file content)
==== TEARDOWN END ====
Test Name: My test name for checking Assert.Muliple functionality
Result: Failed
[Ignore message: A bug #1192 created due it Assert.Multiple does not work]
Test Count: 3383, Passed: 3371, Failed: 2, Warnings: 0, Inconclusive: 0, Skipped: 10
Skipped Tests - Ignored: 10, Explicit: 0, Other: 0
Start time: 2022-07-01 06:24:10Z
    End time: 2022-07-01 06:26:54Z
    Duration: 163.630 seconds
++++++++++++++++++++++++++++++++ END OF TEST ++++++++++++++++++++++++
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants