diff options
author | Yilei Yang <yileiyang@google.com> | 2021-03-04 10:28:02 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2021-03-04 10:28:24 -0800 |
commit | f08f3b154ffcd3d7ea0a398564329d843c59499c (patch) | |
tree | 05673d5270122a5c3c116495610404800ca2d813 /absl/testing | |
parent | 28b57668dbc08573e36c77d4066414d9440cd571 (diff) | |
download | absl-py-f08f3b154ffcd3d7ea0a398564329d843c59499c.tar.gz |
Expose the --test_tmpdir and --test_srcdir flags as public flag holders.
They are considered as public flags and callers should use them instead of accessing FLAGS.test_tmpdir and FLAGS.test_srcdir.
PiperOrigin-RevId: 360948844
Change-Id: Ib3673ae55ad9b55000fb80ba60647a93fdfc0426
Diffstat (limited to 'absl/testing')
-rw-r--r-- | absl/testing/absltest.py | 43 | ||||
-rw-r--r-- | absl/testing/tests/absltest_sharding_test.py | 5 | ||||
-rw-r--r-- | absl/testing/tests/absltest_test.py | 42 | ||||
-rw-r--r-- | absl/testing/tests/absltest_test_helper.py | 18 |
4 files changed, 55 insertions, 53 deletions
diff --git a/absl/testing/absltest.py b/absl/testing/absltest.py index 22041db..fbce512 100644 --- a/absl/testing/absltest.py +++ b/absl/testing/absltest.py @@ -142,7 +142,7 @@ class TempFileCleanup(enum.Enum): # Always cleanup temp files when the test completes. ALWAYS = 'always' # Only cleanup temp file if the test passes. This allows easier inspection - # of tempfile contents on test failure. FLAGS.test_tmpdir determines + # of tempfile contents on test failure. absltest.TEST_TMPDIR.value determines # where tempfiles are created. SUCCESS = 'success' # Never cleanup temp files. @@ -232,18 +232,24 @@ def _get_default_randomize_ordering_seed(): 'Unknown test randomization seed value: {}'.format(randomize)) -flags.DEFINE_integer('test_random_seed', _get_default_test_random_seed(), - 'Random seed for testing. Some test frameworks may ' - 'change the default value of this flag between runs, so ' - 'it is not appropriate for seeding probabilistic tests.', - allow_override_cpp=True) -flags.DEFINE_string('test_srcdir', - get_default_test_srcdir(), - 'Root of directory tree where source files live', - allow_override_cpp=True) -flags.DEFINE_string('test_tmpdir', get_default_test_tmpdir(), - 'Directory for temporary testing files', - allow_override_cpp=True) +TEST_SRCDIR = flags.DEFINE_string( + 'test_srcdir', + get_default_test_srcdir(), + 'Root of directory tree where source files live', + allow_override_cpp=True) +TEST_TMPDIR = flags.DEFINE_string( + 'test_tmpdir', + get_default_test_tmpdir(), + 'Directory for temporary testing files', + allow_override_cpp=True) + +flags.DEFINE_integer( + 'test_random_seed', + _get_default_test_random_seed(), + 'Random seed for testing. Some test frameworks may ' + 'change the default value of this flag between runs, so ' + 'it is not appropriate for seeding probabilistic tests.', + allow_override_cpp=True) flags.DEFINE_string( 'test_randomize_ordering_seed', '', @@ -253,8 +259,7 @@ flags.DEFINE_string( 'test case execution order. This flag also overrides ' 'the TEST_RANDOMIZE_ORDERING_SEED environment variable.', allow_override_cpp=True) -flags.DEFINE_string('xml_output_file', '', - 'File to store XML test results') +flags.DEFINE_string('xml_output_file', '', 'File to store XML test results') # We might need to monkey-patch TestResult so that it stops considering an @@ -724,7 +729,7 @@ class TestCase(unittest3_backport.TestCase): @classmethod def _get_tempdir_path_cls(cls): # type: () -> Text - return os.path.join(FLAGS.test_tmpdir, _get_qualname(cls)) + return os.path.join(TEST_TMPDIR.value, _get_qualname(cls)) def _get_tempdir_path_test(self): # type: () -> Text @@ -2184,7 +2189,7 @@ def get_default_xml_output_filename(): if os.environ.get('XML_OUTPUT_FILE'): return os.environ['XML_OUTPUT_FILE'] elif os.environ.get('RUNNING_UNDER_TEST_DAEMON'): - return os.path.join(os.path.dirname(FLAGS.test_tmpdir), 'test_detail.xml') + return os.path.join(os.path.dirname(TEST_TMPDIR.value), 'test_detail.xml') elif os.environ.get('TEST_XMLOUTPUTDIR'): return os.path.join( os.environ['TEST_XMLOUTPUTDIR'], @@ -2388,9 +2393,9 @@ def _run_and_get_tests_result(argv, args, kwargs, xml_test_runner_class): runner.run_for_debugging = True # Make sure tmpdir exists. - if not os.path.isdir(FLAGS.test_tmpdir): + if not os.path.isdir(TEST_TMPDIR.value): try: - os.makedirs(FLAGS.test_tmpdir) + os.makedirs(TEST_TMPDIR.value) except OSError as e: # Concurrent test might have created the directory. if e.errno != errno.EEXIST: diff --git a/absl/testing/tests/absltest_sharding_test.py b/absl/testing/tests/absltest_sharding_test.py index 0b10f0f..7edc2b2 100644 --- a/absl/testing/tests/absltest_sharding_test.py +++ b/absl/testing/tests/absltest_sharding_test.py @@ -21,11 +21,9 @@ from __future__ import print_function import os import subprocess -from absl import flags from absl.testing import _bazelize_command from absl.testing import absltest -FLAGS = flags.FLAGS NUM_TEST_METHODS = 8 # Hard-coded, based on absltest_sharding_test_helper.py @@ -124,7 +122,8 @@ class TestShardingTest(absltest.TestCase): (i, len(outerr_by_shard))) def test_shard_file(self): - self._run_sharded(3, 1, os.path.join(FLAGS.test_tmpdir, 'shard_file')) + self._run_sharded(3, 1, os.path.join( + absltest.TEST_TMPDIR.value, 'shard_file')) def test_zero_shards(self): out, exit_code = self._run_sharded(0, 0) diff --git a/absl/testing/tests/absltest_test.py b/absl/testing/tests/absltest_test.py index 8dc8266..f7abd39 100644 --- a/absl/testing/tests/absltest_test.py +++ b/absl/testing/tests/absltest_test.py @@ -29,7 +29,6 @@ import subprocess import sys import tempfile -from absl import flags from absl.testing import _bazelize_command from absl.testing import absltest from absl.testing import parameterized @@ -42,8 +41,6 @@ except ImportError: # PY2 PY_VERSION_2 = sys.version_info[0] == 2 -FLAGS = flags.FLAGS - class HelperMixin(object): @@ -97,8 +94,8 @@ class TestCaseTest(absltest.TestCase, HelperMixin): expect_success=True) def test_flags_env_var_no_flags(self): - tmpdir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) - srcdir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + tmpdir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) + srcdir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) self.run_helper( 2, [], @@ -111,8 +108,8 @@ class TestCaseTest(absltest.TestCase, HelperMixin): expect_success=True) def test_flags_no_env_var_flags(self): - tmpdir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) - srcdir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + tmpdir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) + srcdir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) self.run_helper( 3, ['--test_random_seed=123', '--test_srcdir={}'.format(srcdir), @@ -126,10 +123,10 @@ class TestCaseTest(absltest.TestCase, HelperMixin): expect_success=True) def test_flags_env_var_flags(self): - tmpdir_from_flag = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) - srcdir_from_flag = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) - tmpdir_from_env_var = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) - srcdir_from_env_var = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + tmpdir_from_flag = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) + srcdir_from_flag = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) + tmpdir_from_env_var = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) + srcdir_from_env_var = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) self.run_helper( 4, ['--test_random_seed=221', '--test_srcdir={}'.format(srcdir_from_flag), @@ -143,9 +140,9 @@ class TestCaseTest(absltest.TestCase, HelperMixin): expect_success=True) def test_xml_output_file_from_xml_output_file_env(self): - xml_dir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + xml_dir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) xml_output_file_env = os.path.join(xml_dir, 'xml_output_file.xml') - random_dir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + random_dir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) self.run_helper( 6, [], @@ -157,8 +154,9 @@ class TestCaseTest(absltest.TestCase, HelperMixin): expect_success=True) def test_xml_output_file_from_daemon(self): - tmpdir = os.path.join(tempfile.mkdtemp(dir=FLAGS.test_tmpdir), 'sub_dir') - random_dir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + tmpdir = os.path.join(tempfile.mkdtemp( + dir=absltest.TEST_TMPDIR.value), 'sub_dir') + random_dir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) self.run_helper( 6, ['--test_tmpdir', tmpdir], @@ -171,7 +169,7 @@ class TestCaseTest(absltest.TestCase, HelperMixin): expect_success=True) def test_xml_output_file_from_test_xmloutputdir_env(self): - xml_output_dir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + xml_output_dir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) expected_xml_file = 'absltest_test_helper.xml' self.run_helper( 6, @@ -185,9 +183,9 @@ class TestCaseTest(absltest.TestCase, HelperMixin): expect_success=True) def test_xml_output_file_from_flag(self): - random_dir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + random_dir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) flag_file = os.path.join( - tempfile.mkdtemp(dir=FLAGS.test_tmpdir), 'output.xml') + tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value), 'output.xml') self.run_helper( 6, ['--xml_output_file', flag_file], @@ -660,7 +658,7 @@ Missing entries: self.assertRegexMatch('foo str', [b'str', u'foo']) def test_assert_command_fails_stderr(self): - tmpdir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + tmpdir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) self.assertCommandFails( ['cat', os.path.join(tmpdir, 'file.txt')], ['No such file or directory'], @@ -693,7 +691,7 @@ Missing entries: def test_assert_command_succeeds_stderr(self): expected_re = re.compile('No such file or directory') - tmpdir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + tmpdir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) with self.assertRaisesRegex(AssertionError, expected_re): self.assertCommandSucceeds( @@ -1470,7 +1468,7 @@ class GetCommandStderrTestCase(absltest.TestCase): os.environ = self.original_environ def test_return_status(self): - tmpdir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + tmpdir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) returncode = ( absltest.get_command_stderr( ['cat', os.path.join(tmpdir, 'file.txt')], @@ -1478,7 +1476,7 @@ class GetCommandStderrTestCase(absltest.TestCase): self.assertEqual(1, returncode) def test_stderr(self): - tmpdir = tempfile.mkdtemp(dir=FLAGS.test_tmpdir) + tmpdir = tempfile.mkdtemp(dir=absltest.TEST_TMPDIR.value) stderr = ( absltest.get_command_stderr( ['cat', os.path.join(tmpdir, 'file.txt')], diff --git a/absl/testing/tests/absltest_test_helper.py b/absl/testing/tests/absltest_test_helper.py index 850d82c..c6b2465 100644 --- a/absl/testing/tests/absltest_test_helper.py +++ b/absl/testing/tests/absltest_test_helper.py @@ -41,33 +41,33 @@ class HelperTest(absltest.TestCase): else: expected_prefix = '/' self.assertTrue( - FLAGS.test_tmpdir.startswith(expected_prefix), + absltest.TEST_TMPDIR.value.startswith(expected_prefix), '--test_tmpdir={} does not start with {}'.format( - FLAGS.test_tmpdir, expected_prefix)) - self.assertTrue(os.access(FLAGS.test_tmpdir, os.W_OK)) + absltest.TEST_TMPDIR.value, expected_prefix)) + self.assertTrue(os.access(absltest.TEST_TMPDIR.value, os.W_OK)) elif FLAGS.test_id == 2: self.assertEqual(FLAGS.test_random_seed, 321) self.assertEqual( - FLAGS.test_srcdir, + absltest.TEST_SRCDIR.value, os.environ['ABSLTEST_TEST_HELPER_EXPECTED_TEST_SRCDIR']) self.assertEqual( - FLAGS.test_tmpdir, + absltest.TEST_TMPDIR.value, os.environ['ABSLTEST_TEST_HELPER_EXPECTED_TEST_TMPDIR']) elif FLAGS.test_id == 3: self.assertEqual(FLAGS.test_random_seed, 123) self.assertEqual( - FLAGS.test_srcdir, + absltest.TEST_SRCDIR.value, os.environ['ABSLTEST_TEST_HELPER_EXPECTED_TEST_SRCDIR']) self.assertEqual( - FLAGS.test_tmpdir, + absltest.TEST_TMPDIR.value, os.environ['ABSLTEST_TEST_HELPER_EXPECTED_TEST_TMPDIR']) elif FLAGS.test_id == 4: self.assertEqual(FLAGS.test_random_seed, 221) self.assertEqual( - FLAGS.test_srcdir, + absltest.TEST_SRCDIR.value, os.environ['ABSLTEST_TEST_HELPER_EXPECTED_TEST_SRCDIR']) self.assertEqual( - FLAGS.test_tmpdir, + absltest.TEST_TMPDIR.value, os.environ['ABSLTEST_TEST_HELPER_EXPECTED_TEST_TMPDIR']) else: raise unittest.SkipTest( |