aboutsummaryrefslogtreecommitdiff
path: root/absl/testing
diff options
context:
space:
mode:
authorYilei Yang <yileiyang@google.com>2021-03-04 10:28:02 -0800
committerCopybara-Service <copybara-worker@google.com>2021-03-04 10:28:24 -0800
commitf08f3b154ffcd3d7ea0a398564329d843c59499c (patch)
tree05673d5270122a5c3c116495610404800ca2d813 /absl/testing
parent28b57668dbc08573e36c77d4066414d9440cd571 (diff)
downloadabsl-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.py43
-rw-r--r--absl/testing/tests/absltest_sharding_test.py5
-rw-r--r--absl/testing/tests/absltest_test.py42
-rw-r--r--absl/testing/tests/absltest_test_helper.py18
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(