aboutsummaryrefslogtreecommitdiff
path: root/absl/flags/tests
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2020-01-30 02:22:14 -0800
committerCopybara-Service <copybara-worker@google.com>2020-01-30 02:22:34 -0800
commitdb5bf716d892c3a3e7b9929a5b63bcdb1a3177ea (patch)
tree248ea82a9fc4d323424741a2d29ba51b2a5d7003 /absl/flags/tests
parentcd6aa6a48139e3d6a99545a412b620fc6b8b0712 (diff)
downloadabsl-py-db5bf716d892c3a3e7b9929a5b63bcdb1a3177ea.tar.gz
FlagValues: Add method to validate all flags
There is no way to explicitly trigger flag value validation programmatically after flags are parsed. This change makes the previously private "_assert_all_validators" method public under the name "validate_all_flags". PiperOrigin-RevId: 292307344 Change-Id: Ifd2429d439e353b88843821aa0c95e5dc95bf2aa
Diffstat (limited to 'absl/flags/tests')
-rw-r--r--absl/flags/tests/_flagvalues_test.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/absl/flags/tests/_flagvalues_test.py b/absl/flags/tests/_flagvalues_test.py
index f7f317a..c3d9549 100644
--- a/absl/flags/tests/_flagvalues_test.py
+++ b/absl/flags/tests/_flagvalues_test.py
@@ -29,6 +29,7 @@ from absl.flags import _defines
from absl.flags import _exceptions
from absl.flags import _flagvalues
from absl.flags import _helpers
+from absl.flags import _validators
from absl.flags.tests import module_foo
from absl.testing import absltest
from absl.testing import parameterized
@@ -554,6 +555,15 @@ absl.flags.tests.module_foo:
actual = flag_values.flags_into_string()
self.assertEqual(expected, actual)
+ def test_validate_all_flags(self):
+ fv = _flagvalues.FlagValues()
+ _defines.DEFINE_string('name', None, '', flag_values=fv)
+ _validators.mark_flag_as_required('name', flag_values=fv)
+ with self.assertRaises(_exceptions.IllegalFlagValueError):
+ fv.validate_all_flags()
+ fv.name = 'test'
+ fv.validate_all_flags()
+
class FlagValuesLoggingTest(absltest.TestCase):
"""Test to make sure logging.* functions won't recurse.