Skip to content

stestr run specific test but it is skipped by other test's skiptest requirement #314

Description

@onstring

Issue description

Using stestr run -n TEST_ID to run a specific test case, it is skipped by other test cases @testtools.skipUnless statements (my test does not have this skipUnless statements). But If I use stestr run TEST_ID, it will work as expected.

To be specific, I was trying to run openstack tempest ec2api tests, this test_create_delete_instance case does not have any skip test requirement.

>> stestr run --no-discover ec2api_tempest_plugin.api.test_instances.InstanceTest.test_create_delete_instance                                                                          
Traceback (most recent call last):
  File "/home/xxxxx/.pyenv/versions/3.8.10/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/xxxxx/.pyenv/versions/3.8.10/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/xxxxx/.pyenv/versions/3.8.10/envs/routine3/lib/python3.8/site-packages/stestr/subunit_runner/run.py", line 93, in <module>
    main()
  File "/home/xxxxx/.pyenv/versions/3.8.10/envs/routine3/lib/python3.8/site-packages/stestr/subunit_runner/run.py", line 87, in main
    program.TestProgram(
  File "/home/xxxxx/.pyenv/versions/3.8.10/envs/routine3/lib/python3.8/site-packages/stestr/subunit_runner/program.py", line 169, in __init__
    self.parseArgs(argv)
  File "/home/xxxxx/.pyenv/versions/3.8.10/lib/python3.8/unittest/main.py", line 147, in parseArgs
    self.createTests()
  File "/home/xxxxx/.pyenv/versions/3.8.10/lib/python3.8/unittest/main.py", line 158, in createTests
    self.test = self.testLoader.loadTestsFromNames(self.testNames,
  File "/home/xxxxx/.pyenv/versions/3.8.10/lib/python3.8/unittest/loader.py", line 220, in loadTestsFromNames
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "/home/xxxxx/.pyenv/versions/3.8.10/lib/python3.8/unittest/loader.py", line 220, in <listcomp>
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "/home/xxxxx/.pyenv/versions/3.8.10/lib/python3.8/unittest/loader.py", line 154, in loadTestsFromName
    module = __import__(module_name)
  File "/home/xxxxx/Repo/ec2api-tempest-plugin/ec2api_tempest_plugin/api/test_instances.py", line 28, in <module>
    class InstanceTest(base.EC2TestCase):
  File "/home/xxxxx/Repo/ec2api-tempest-plugin/ec2api_tempest_plugin/api/test_instances.py", line 198, in InstanceTest
    @testtools.skipUnless(CONF.aws.ebs_image_id, "EBS image id is not defined")
  File "/home/xxxxx/Repo/ec2api-tempest-plugin/ec2api_tempest_plugin/config.py", line 84, in __getattr__
    self._config = ConfigPrivate()
  File "/home/xxxxx/Repo/ec2api-tempest-plugin/ec2api_tempest_plugin/config.py", line 58, in __init__
    raise Exception('Config could not be found')
Exception: Config could not be found 


System information

  • OS: Ubuntu 20.04
  • stestr version (stestr --version): 3.2.0
  • Python release (python --version): 3.8.10

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions