abeltje / Test-Smoke

The Perl5 Core Smoke framework
6 stars 15 forks source link

Test skipping works in a less then optimal way #71

Open bram-perl opened 2 years ago

bram-perl commented 2 years ago

It's possible to configure some tests to be skipped when smoking.

Depending on which test is to be skipped it uses a different implementation:

This second method is less optimal, on my smoker I skipped a test in dist/ (because it fails on the system for unrelated reason); The resulting smoke report:

Tests skipped on user request:
    dist/Time-HiRes/t/utime.t
Failures: (common-args) none
[default]
../t/porting/manifest.t.....................................FAILED
    10388, 10390-10391

What happened:

I can think of several solutions (in no particular order)

  1. Do nothing and leave it up to the user to also skip t/porting/manifest.t when skipping tests
  2. Automatically skip t/porting/manifest.t when a test is being skipped
  3. Alter Test::Smoke::Smoker::set_skip_tests to always modify the test file (i.e. remove the special case for lib|ext|cpan|dist)
  4. t/harness which is used when running make test_harness does have some options to skip tests; but that might not be exposed via make test_harness (and isn't a solution for make test)
  5. ...?