diff options
author | Abseil Team <absl-team@google.com> | 2020-01-30 02:22:14 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2020-01-30 02:22:34 -0800 |
commit | db5bf716d892c3a3e7b9929a5b63bcdb1a3177ea (patch) | |
tree | 248ea82a9fc4d323424741a2d29ba51b2a5d7003 /absl/flags/tests | |
parent | cd6aa6a48139e3d6a99545a412b620fc6b8b0712 (diff) | |
download | absl-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.py | 10 |
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. |