class TestRegressionCheckLoader(unittest.TestCase): def setUp(self): self.loader = RegressionCheckLoader(['.'], ignore_conflicts=True) self.loader_with_path = RegressionCheckLoader( ['unittests/resources/checks', 'unittests/foobar'], ignore_conflicts=True) self.loader_with_prefix = RegressionCheckLoader( load_path=['bad'], prefix=os.path.abspath('unittests/resources/checks')) def test_load_file_relative(self): checks = self.loader.load_from_file( 'unittests/resources/checks/emptycheck.py') assert 1 == len(checks) assert checks[0].name == 'EmptyTest' def test_load_file_absolute(self): checks = self.loader.load_from_file( os.path.abspath('unittests/resources/checks/emptycheck.py')) assert 1 == len(checks) assert checks[0].name == 'EmptyTest' def test_load_recursive(self): checks = self.loader.load_from_dir('unittests/resources/checks', recurse=True) assert 12 == len(checks) def test_load_all(self): checks = self.loader_with_path.load_all() assert 11 == len(checks) def test_load_all_with_prefix(self): checks = self.loader_with_prefix.load_all() assert 1 == len(checks) def test_load_new_syntax(self): checks = self.loader.load_from_file( 'unittests/resources/checks_unlisted/good.py') assert 13 == len(checks) def test_conflicted_checks(self): self.loader_with_path._ignore_conflicts = False with pytest.raises(NameConflictError): self.loader_with_path.load_all() def test_load_error(self): with pytest.raises(OSError): self.loader.load_from_file('unittests/resources/checks/foo.py') def test_load_bad_required_version(self): with pytest.raises(ValueError): self.loader.load_from_file('unittests/resources/checks_unlisted/' 'no_required_version.py') def test_load_bad_init(self): tests = self.loader.load_from_file( 'unittests/resources/checks_unlisted/bad_init_check.py') assert 0 == len(tests)
class TestRegressionCheckLoader(unittest.TestCase): def setUp(self): self.loader = RegressionCheckLoader(['.'], ignore_conflicts=True) self.loader_with_path = RegressionCheckLoader( ['unittests/resources', 'unittests/foobar'], ignore_conflicts=True) self.loader_with_prefix = RegressionCheckLoader( load_path=['badchecks'], prefix=os.path.abspath('unittests/resources')) self.system = System('foo') self.resources = ResourcesManager() def test_load_file_relative(self): checks = self.loader.load_from_file( 'unittests/resources/emptycheck.py', system=self.system, resources=self.resources) self.assertEqual(1, len(checks)) self.assertEqual(checks[0].name, 'emptycheck') def test_load_file_absolute(self): checks = self.loader.load_from_file( os.path.abspath('unittests/resources/emptycheck.py'), system=self.system, resources=self.resources) self.assertEqual(1, len(checks)) self.assertEqual(checks[0].name, 'emptycheck') def test_load_recursive(self): checks = self.loader.load_from_dir('unittests/resources', recurse=True, system=self.system, resources=self.resources) self.assertEqual(11, len(checks)) def test_load_all(self): checks = self.loader_with_path.load_all(system=self.system, resources=self.resources) self.assertEqual(10, len(checks)) def test_load_all_with_prefix(self): checks = self.loader_with_prefix.load_all(system=self.system, resources=self.resources) self.assertEqual(1, len(checks)) def test_conflicted_checks(self): self.loader_with_path._ignore_conflicts = False self.assertRaises(NameConflictError, self.loader_with_path.load_all, system=self.system, resources=self.resources) def test_load_error(self): self.assertRaises(OSError, self.loader.load_from_file, 'unittests/resources/foo.py')
class TestRegressionCheckLoader(unittest.TestCase): def setUp(self): warnings.simplefilter('ignore', ReframeDeprecationWarning) self.loader = RegressionCheckLoader(['.']) self.loader_with_path = RegressionCheckLoader( ['unittests/resources', 'unittests/foobar']) self.loader_with_prefix = RegressionCheckLoader( load_path=['badchecks'], prefix=os.path.abspath('unittests/resources')) self.system = System('foo') self.resources = ResourcesManager() def tearDown(self): warnings.simplefilter('default', ReframeDeprecationWarning) def test_load_file_relative(self): checks = self.loader.load_from_file( 'unittests/resources/emptycheck.py', system=self.system, resources=self.resources) self.assertEqual(1, len(checks)) self.assertEqual(checks[0].name, 'emptycheck') def test_load_file_absolute(self): checks = self.loader.load_from_file( os.path.abspath('unittests/resources/emptycheck.py'), system=self.system, resources=self.resources) self.assertEqual(1, len(checks)) self.assertEqual(checks[0].name, 'emptycheck') def test_load_recursive(self): checks = self.loader.load_from_dir('unittests/resources', recurse=True, system=self.system, resources=self.resources) self.assertEqual(12, len(checks)) def test_load_all(self): checks = self.loader_with_path.load_all(system=self.system, resources=self.resources) self.assertEqual(11, len(checks)) def test_load_all_with_prefix(self): checks = self.loader_with_prefix.load_all(system=self.system, resources=self.resources) self.assertEqual(1, len(checks)) def test_load_error(self): self.assertRaises(ReframeError, self.loader.load_from_file, 'unittests/resources/foo.py')
class TestRegressionCheckLoader(unittest.TestCase): def setUp(self): self.loader = RegressionCheckLoader(['.'], ignore_conflicts=True) self.loader_with_path = RegressionCheckLoader( ['unittests/resources/checks', 'unittests/foobar'], ignore_conflicts=True) self.loader_with_prefix = RegressionCheckLoader( load_path=['bad'], prefix=os.path.abspath('unittests/resources/checks')) def test_load_file_relative(self): checks = self.loader.load_from_file( 'unittests/resources/checks/emptycheck.py') self.assertEqual(1, len(checks)) self.assertEqual(checks[0].name, 'EmptyTest') def test_load_file_absolute(self): checks = self.loader.load_from_file( os.path.abspath('unittests/resources/checks/emptycheck.py')) self.assertEqual(1, len(checks)) self.assertEqual(checks[0].name, 'EmptyTest') def test_load_recursive(self): checks = self.loader.load_from_dir('unittests/resources/checks', recurse=True) self.assertEqual(11, len(checks)) def test_load_all(self): checks = self.loader_with_path.load_all() self.assertEqual(10, len(checks)) def test_load_all_with_prefix(self): checks = self.loader_with_prefix.load_all() self.assertEqual(1, len(checks)) def test_load_new_syntax(self): checks = self.loader.load_from_file( 'unittests/resources/checks_unlisted/good.py') self.assertEqual(13, len(checks)) def test_load_mixed_syntax(self): self.assertRaises(RegressionTestLoadError, self.loader.load_from_file, 'unittests/resources/checks_unlisted/mixed.py') def test_conflicted_checks(self): self.loader_with_path._ignore_conflicts = False self.assertRaises(NameConflictError, self.loader_with_path.load_all) def test_load_error(self): self.assertRaises(OSError, self.loader.load_from_file, 'unittests/resources/checks/foo.py') def test_load_bad_required_version(self): with self.assertRaises(ValueError): self.loader.load_from_file('unittests/resources/checks_unlisted/' 'no_required_version.py') def test_load_bad_init(self): tests = self.loader.load_from_file( 'unittests/resources/checks_unlisted/bad_init_check.py') self.assertEqual(0, len(tests))
class TestRegressionCheckLoader(unittest.TestCase): def setUp(self): self.loader = RegressionCheckLoader(['.'], ignore_conflicts=True) self.loader_with_path = RegressionCheckLoader( ['unittests/resources/checks', 'unittests/foobar'], ignore_conflicts=True) def test_load_file_relative(self): checks = self.loader.load_from_file( 'unittests/resources/checks/emptycheck.py') assert 1 == len(checks) assert checks[0].name == 'EmptyTest' def test_load_file_absolute(self): checks = self.loader.load_from_file( os.path.abspath('unittests/resources/checks/emptycheck.py')) assert 1 == len(checks) assert checks[0].name == 'EmptyTest' def test_load_recursive(self): checks = self.loader.load_from_dir('unittests/resources/checks', recurse=True) assert 12 == len(checks) def test_load_all(self): checks = self.loader_with_path.load_all() assert 11 == len(checks) def test_load_new_syntax(self): checks = self.loader.load_from_file( 'unittests/resources/checks_unlisted/good.py') assert 13 == len(checks) def test_conflicted_checks(self): self.loader_with_path._ignore_conflicts = False with pytest.raises(NameConflictError): self.loader_with_path.load_all() def test_load_error(self): with pytest.raises(OSError): self.loader.load_from_file('unittests/resources/checks/foo.py') def test_load_bad_required_version(self): with pytest.raises(ValueError): self.loader.load_from_file('unittests/resources/checks_unlisted/' 'no_required_version.py') def test_load_bad_init(self): tests = self.loader.load_from_file( 'unittests/resources/checks_unlisted/bad_init_check.py') assert 0 == len(tests) def test_special_test(self): with pytest.warns(ReframeDeprecationWarning): @rfm.simple_test class TestDeprecated(rfm.RegressionTest): def setup(self, partition, environ, **job_opts): super().setup(system, environ, **job_opts) with pytest.warns(ReframeDeprecationWarning): @rfm.simple_test class TestDeprecatedRunOnly(rfm.RunOnlyRegressionTest): def setup(self, partition, environ, **job_opts): super().setup(system, environ, **job_opts) with pytest.warns(ReframeDeprecationWarning): @rfm.simple_test class TestDeprecatedCompileOnly(rfm.CompileOnlyRegressionTest): def setup(self, partition, environ, **job_opts): super().setup(system, environ, **job_opts) with pytest.warns(ReframeDeprecationWarning): @rfm.simple_test class TestDeprecatedCompileOnlyDerived(TestDeprecatedCompileOnly): def setup(self, partition, environ, **job_opts): super().setup(system, environ, **job_opts) with pytest.warns(None) as warnings: @rfm.simple_test class TestSimple(rfm.RegressionTest): def __init__(self): pass @rfm.simple_test class TestSpecial(rfm.RegressionTest, special=True): def __init__(self): pass def setup(self, partition, environ, **job_opts): super().setup(system, environ, **job_opts) @rfm.simple_test class TestSpecialRunOnly(rfm.RunOnlyRegressionTest, special=True): def __init__(self): pass def setup(self, partition, environ, **job_opts): super().setup(system, environ, **job_opts) def run(self): super().run() @rfm.simple_test class TestSpecialCompileOnly(rfm.CompileOnlyRegressionTest, special=True): def __init__(self): pass def setup(self, partition, environ, **job_opts): super().setup(system, environ, **job_opts) def run(self): super().run() assert not any( isinstance(w.message, ReframeDeprecationWarning) for w in warnings) with pytest.warns(ReframeDeprecationWarning) as warnings: @rfm.simple_test class TestSpecialDerived(TestSpecial): def __init__(self): pass def setup(self, partition, environ, **job_opts): super().setup(system, environ, **job_opts) def run(self): super().run() assert len(warnings) == 2 @rfm.simple_test class TestFinal(rfm.RegressionTest): def __init__(self): pass @rfm.final def my_new_final(seld): pass with pytest.warns(ReframeDeprecationWarning): @rfm.simple_test class TestFinalDerived(TestFinal): def my_new_final(self, a, b): pass