You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2023/01/13 22:14:08 UTC

[GitHub] [beam] Abacn commented on pull request #25007: Fix PipelineOptionTest.test_display_data

Abacn commented on PR #25007:
URL: https://github.com/apache/beam/pull/25007#issuecomment-1382453506

   ref: https://stackoverflow.com/questions/52428679/how-to-remove-classes-from-subclasses
   
   tested this approach should work. Code snippet:
   ```python
   from apache_beam.options.pipeline_options import PipelineOptions
   
   class PipelineOptionTest:
     class UserDefinedOptions(PipelineOptions):
       @classmethod
       def _add_argparse_args(cls, parser):
         parser.add_value_provider_argument('--gcs_location')
   
     @classmethod
     def setUpClass(cls):
       cls.UserDefinedOptions = PipelineOptionTest.UserDefinedOptions
   
     def tearDown(self):
       # Unset the option added in setupClass to avoid interfere with other tests
       del PipelineOptionTest.UserDefinedOptions
       import gc
       gc.collect()
   
     def run(self):
       print(PipelineOptions.__subclasses__())
       x = PipelineOptions().get_all_options()
       print(x)
   
   if __name__ == '__main__':
     test_instance = PipelineOptionTest()
     test_instance.setUpClass()
     test_instance.run()
     test_instance.tearDown()
     test_instance.run()
   
   ```
   
   output:
   >>>
   {'runner': None, ... 's3_region_name': None, 's3_api_version': None, 's3_verify': None, 's3_disable_ssl': False, 'gcs_location': <apache_beam.options.value_provider.RuntimeValueProvider object at 0x1288d3c70>}
   {'runner': None, ... 's3_region_name': None, 's3_api_version': None, 's3_verify': None, 's3_disable_ssl': False}
   >>>
   
   as can be seen the second run there is no longer `--gcs_location`


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org