Details
-
Bug
-
Status: Resolved
-
P2
-
Resolution: Fixed
-
None
-
None
Description
It seems that there's an ordering issue with these tests, where they expect RuntimeValueProvider.runtime_options to be None, but it has already been initialized by another test.
13:49:31 ______ ValueProviderTests.test_runtime_value_provider_positional_argument ______ 13:49:31 [gw1] linux -- Python 3.6.8 /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py36/build/srcs/sdks/python/target/.tox-py36-gcp-pytest/py36-gcp-pytest/bin/python 13:49:31 13:49:31 self = <apache_beam.options.value_provider_test.ValueProviderTests testMethod=test_runtime_value_provider_positional_argument> 13:49:31 13:49:31 def test_runtime_value_provider_positional_argument(self): 13:49:31 class UserDefinedOptions(PipelineOptions): 13:49:31 @classmethod 13:49:31 def _add_argparse_args(cls, parser): 13:49:31 parser.add_value_provider_argument( 13:49:31 'vpt_vp_arg4', 13:49:31 help='This positional argument is a value provider') 13:49:31 options = UserDefinedOptions([]) 13:49:31 self.assertTrue(isinstance(options.vpt_vp_arg4, RuntimeValueProvider)) 13:49:31 > self.assertFalse(options.vpt_vp_arg4.is_accessible()) 13:49:31 E AssertionError: True is not false 13:49:31 13:49:31 apache_beam/options/value_provider_test.py:85: AssertionError 13:49:31 __________________ ValueProviderTests.test_set_runtime_option __________________ 13:49:31 [gw1] linux -- Python 3.6.8 /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py36/build/srcs/sdks/python/target/.tox-py36-gcp-pytest/py36-gcp-pytest/bin/python 13:49:31 13:49:31 self = <apache_beam.options.value_provider_test.ValueProviderTests testMethod=test_set_runtime_option> 13:49:31 13:49:31 def test_set_runtime_option(self): 13:49:31 # define ValueProvider options, with and without default values 13:49:31 class UserDefinedOptions1(PipelineOptions): 13:49:31 @classmethod 13:49:31 def _add_argparse_args(cls, parser): 13:49:31 parser.add_value_provider_argument( 13:49:31 '--vpt_vp_arg6', 13:49:31 help='This keyword argument is a value provider') # set at runtime 13:49:31 13:49:31 parser.add_value_provider_argument( # not set, had default int 13:49:31 '-v', '--vpt_vp_arg7', # with short form 13:49:31 default=123, 13:49:31 type=int) 13:49:31 13:49:31 parser.add_value_provider_argument( # not set, had default str 13:49:31 '--vpt_vp-arg8', # with dash in name 13:49:31 default='123', 13:49:31 type=str) 13:49:31 13:49:31 parser.add_value_provider_argument( # not set and no default 13:49:31 '--vpt_vp_arg9', 13:49:31 type=float) 13:49:31 13:49:31 parser.add_value_provider_argument( # positional argument set 13:49:31 'vpt_vp_arg10', # default & runtime ignored 13:49:31 help='This positional argument is a value provider', 13:49:31 type=float, 13:49:31 default=5.4) 13:49:31 13:49:31 # provide values at graph-construction time 13:49:31 # (options not provided here become of the type RuntimeValueProvider) 13:49:31 options = UserDefinedOptions1(['1.2']) 13:49:31 > self.assertFalse(options.vpt_vp_arg6.is_accessible()) 13:49:31 E AssertionError: True is not false 13:49:31 13:49:31 apache_beam/options/value_provider_test.py:135: AssertionError