Thomas Huth <[email protected]> writes:

> On 16/12/2025 21.05, Fabiano Rosas wrote:
>> The functional tests currently don't allow a single test to be
>> selected for execution by dotted name, e.g:
>> 
>> ../tests/functional/ppc64/test_pseries.py 
>> PseriesMachine.test_ppc64_linux_boot
>>                                            ^
>> The issue is that the testcase.py main function passes the test
>> module's name as the second argument to unittest.main(), which makes
>> it ignore all other positional arguments (presumably because the
>> module is already the superset of all tests).
>> 
>> After commit cac08383f0 ("tests/functional: expose sys.argv to
>> unittest.main"), the situation improves by passing the rest of the
>> argv from the command line invocation into unittest.main(), but it
>> still doesn't fix the issue. The short form options are now accepted,
>> so the -k option could be used to filter for a pattern, which is
>> useful, but not the same as listing the test names.
>> 
>> Fix this by passing the test module name via the "module" argument to
>> unittest.main() and stop touching argv. The ways of invoking tests are
>> now as per unittests documentation (-k still works):
>> 
>>    Examples:
>>      test_pseries.py                           - run default set of tests
>>      test_pseries.py MyTestSuite               - run suite 'MyTestSuite'
>>      test_pseries.py MyTestCase.testSomething  - run MyTestCase.testSomething
>>      test_pseries.py MyTestCase                - run all 'test*' test 
>> methods in MyTestCase
> Tested-by: Thomas Huth <[email protected]>
>
> If you've got some spare time, maybe you could also add some words about 
> running individual sub-tests to docs/devel/testing/functional.rst ?
>

Ah, thanks for the reminder, I'll do it right away.

Reply via email to