[ 
https://issues.apache.org/jira/browse/BEAM-1680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tibor Kiss updated BEAM-1680:
-----------------------------
    Description: 
Some components of the Python-SDK has low coverage rate.
As of now ([2c2424c|https://github.com/apache/beam/tree/2c2424c]) the test 
coverage looks as follows (excluding autocomplete_test.py):
{code}
Name                                                                            
  Stmts   Miss  Cover
-----------------------------------------------------------------------------------------------------
apache_beam/__init__.py                                                         
     10      1    90%
apache_beam/coders/__init__.py                                                  
      2      0   100%
apache_beam/coders/coder_impl.py                                                
    414     23    94%
apache_beam/coders/coders.py                                                    
    392     84    79%
apache_beam/coders/coders_test.py                                               
     54      3    94%
apache_beam/coders/coders_test_common.py                                        
    179      3    98%
apache_beam/coders/observable.py                                                
     10      0   100%
apache_beam/coders/observable_test.py                                           
     28      2    93%
apache_beam/coders/proto2_coder_test_messages_pb2.py                            
     51      0   100%
apache_beam/coders/slow_coders_test.py                                          
     15      3    80%
apache_beam/coders/slow_stream.py                                               
    105      6    94%
apache_beam/coders/standard_coders_test.py                                      
     72     15    79%
apache_beam/coders/stream_test.py                                               
    127     14    89%
apache_beam/coders/typecoders.py                                                
     69      8    88%
apache_beam/error.py                                                            
      7      0   100%
apache_beam/internal/__init__.py                                                
      0      0   100%
apache_beam/internal/gcp/__init__.py                                            
      0      0   100%
apache_beam/internal/gcp/auth.py                                                
     73     37    49%
apache_beam/internal/gcp/auth_test.py                                           
     17      2    88%
apache_beam/internal/gcp/json_value.py                                          
     64     54    16%
apache_beam/internal/gcp/json_value_test.py                                     
     49     22    55%
apache_beam/internal/module_test.py                                             
     23      0   100%
apache_beam/internal/pickler.py                                                 
     96     10    90%
apache_beam/internal/pickler_test.py                                            
     30      1    97%
apache_beam/internal/util.py                                                    
     30      0   100%
apache_beam/internal/util_test.py                                               
     32      1    97%
apache_beam/io/__init__.py                                                      
     15      2    87%
apache_beam/io/avroio.py                                                        
    138     14    90%
apache_beam/io/avroio_test.py                                                   
    200     17    92%
apache_beam/io/concat_source.py                                                 
    134     10    93%
apache_beam/io/concat_source_test.py                                            
    132      8    94%
apache_beam/io/filebasedsource.py                                               
    124      4    97%
apache_beam/io/filebasedsource_test.py                                          
    478      4    99%
apache_beam/io/fileio.py                                                        
    409     68    83%
apache_beam/io/fileio_test.py                                                   
    186      2    99%
apache_beam/io/gcp/__init__.py                                                  
      0      0   100%
apache_beam/io/gcp/bigquery.py                                                  
    416    327    21%
apache_beam/io/gcp/bigquery_test.py                                             
    434    341    21%
apache_beam/io/gcp/datastore/__init__.py                                        
      0      0   100%
apache_beam/io/gcp/datastore/v1/__init__.py                                     
      0      0   100%
apache_beam/io/gcp/datastore/v1/datastoreio.py                                  
    170    116    32%
apache_beam/io/gcp/datastore/v1/datastoreio_test.py                             
    146    112    23%
apache_beam/io/gcp/datastore/v1/fake_datastore.py                               
     38     28    26%
apache_beam/io/gcp/datastore/v1/helper.py                                       
    126    100    21%
apache_beam/io/gcp/datastore/v1/helper_test.py                                  
    175    139    21%
apache_beam/io/gcp/datastore/v1/query_splitter.py                               
    102     85    17%
apache_beam/io/gcp/datastore/v1/query_splitter_test.py                          
    127    100    21%
apache_beam/io/gcp/gcsio.py                                                     
    414    402     3%
apache_beam/io/gcp/gcsio_test.py                                                
    478    403    16%
apache_beam/io/gcp/internal/__init__.py                                         
      0      0   100%
apache_beam/io/gcp/internal/clients/__init__.py                                 
      0      0   100%
apache_beam/io/gcp/internal/clients/bigquery/__init__.py                        
      9      2    78%
apache_beam/io/gcp/internal/clients/storage/__init__.py                         
      9      2    78%
apache_beam/io/gcp/pubsub.py                                                    
     27      4    85%
apache_beam/io/gcp/pubsub_test.py                                               
     28      2    93%
apache_beam/io/gcp/tests/__init__.py                                            
      0      0   100%
apache_beam/io/gcp/tests/bigquery_matcher.py                                    
     47     30    36%
apache_beam/io/gcp/tests/bigquery_matcher_test.py                               
     57     38    33%
apache_beam/io/iobase.py                                                        
    151     30    80%
apache_beam/io/range_trackers.py                                                
    265     22    92%
apache_beam/io/range_trackers_test.py                                           
    346      4    99%
apache_beam/io/source_test_utils.py                                             
    215     25    88%
apache_beam/io/source_test_utils_test.py                                        
     64      3    95%
apache_beam/io/sources_test.py                                                  
     71     17    76%
apache_beam/io/textio.py                                                        
    150     13    91%
apache_beam/io/textio_test.py                                                   
    436      4    99%
apache_beam/io/tfrecordio.py                                                    
     86      4    95%
apache_beam/io/tfrecordio_test.py                                               
    220     29    87%
apache_beam/metrics/__init__.py                                                 
      1      0   100%
apache_beam/metrics/cells.py                                                    
    129     21    84%
apache_beam/metrics/cells_test.py                                               
     82      1    99%
apache_beam/metrics/execution.py                                                
     87      2    98%
apache_beam/metrics/execution_test.py                                           
     79      1    99%
apache_beam/metrics/metric.py                                                   
     96      6    94%
apache_beam/metrics/metric_test.py                                              
     83      1    99%
apache_beam/metrics/metricbase.py                                               
     21      3    86%
apache_beam/pipeline.py                                                         
    188     14    93%
apache_beam/pipeline_test.py                                                    
    285      7    98%
apache_beam/pvalue.py                                                           
    177     13    93%
apache_beam/pvalue_test.py                                                      
     36      3    92%
apache_beam/runners/__init__.py                                                 
      8      0   100%
apache_beam/runners/api/__init__.py                                             
      0      0   100%
apache_beam/runners/api/beam_runner_api_pb2.py                                  
    370      0   100%
apache_beam/runners/common.py                                                   
    237     35    85%
apache_beam/runners/dataflow/__init__.py                                        
      0      0   100%
apache_beam/runners/dataflow/dataflow_metrics.py                                
     49      4    92%
apache_beam/runners/dataflow/dataflow_metrics_test.py                           
     42      1    98%
apache_beam/runners/dataflow/dataflow_runner.py                                 
    324    263    19%
apache_beam/runners/dataflow/dataflow_runner_test.py                            
     88     59    33%
apache_beam/runners/dataflow/internal/__init__.py                               
      0      0   100%
apache_beam/runners/dataflow/internal/apiclient.py                              
    342    331     3%
apache_beam/runners/dataflow/internal/apiclient_test.py                         
     50     31    38%
apache_beam/runners/dataflow/internal/clients/__init__.py                       
      0      0   100%
apache_beam/runners/dataflow/internal/clients/dataflow/__init__.py              
      9      2    78%
apache_beam/runners/dataflow/internal/clients/dataflow/message_matchers.py      
     62     52    16%
apache_beam/runners/dataflow/internal/clients/dataflow/message_matchers_test.py 
     36     22    39%
apache_beam/runners/dataflow/internal/dependency.py                             
    214     66    69%
apache_beam/runners/dataflow/internal/dependency_test.py                        
    249     13    95%
apache_beam/runners/dataflow/internal/names.py                                  
     54      0   100%
apache_beam/runners/dataflow/native_io/__init__.py                              
      0      0   100%
apache_beam/runners/dataflow/native_io/iobase.py                                
     95     50    47%
apache_beam/runners/dataflow/template_runner_test.py                            
     37     19    49%
apache_beam/runners/dataflow/test_dataflow_runner.py                            
     15      8    47%
apache_beam/runners/direct/__init__.py                                          
      2      0   100%
apache_beam/runners/direct/bundle_factory.py                                    
     75      5    93%
apache_beam/runners/direct/clock.py                                             
     17      6    65%
apache_beam/runners/direct/consumer_tracking_pipeline_visitor.py                
     27      0   100%
apache_beam/runners/direct/consumer_tracking_pipeline_visitor_test.py           
     68      6    91%
apache_beam/runners/direct/direct_metrics.py                                    
     55      0   100%
apache_beam/runners/direct/direct_metrics_test.py                               
     60      1    98%
apache_beam/runners/direct/direct_runner.py                                     
     83      2    98%
apache_beam/runners/direct/evaluation_context.py                                
    134      6    96%
apache_beam/runners/direct/executor.py                                          
    304     14    95%
apache_beam/runners/direct/helper_transforms.py                                 
     48      0   100%
apache_beam/runners/direct/transform_evaluator.py                               
    279     29    90%
apache_beam/runners/direct/transform_result.py                                  
     26      0   100%
apache_beam/runners/direct/watermark_manager.py                                 
    129      1    99%
apache_beam/runners/pipeline_context.py                                         
     42      0   100%
apache_beam/runners/pipeline_context_test.py                                    
     20      1    95%
apache_beam/runners/runner.py                                                   
    142     42    70%
apache_beam/runners/runner_test.py                                              
     54      1    98%
apache_beam/runners/test/__init__.py                                            
      5      2    60%
apache_beam/test_pipeline.py                                                    
     46      0   100%
apache_beam/test_pipeline_test.py                                               
     53      4    92%
apache_beam/tests/__init__.py                                                   
      0      0   100%
apache_beam/tests/pipeline_verifiers.py                                         
     48      4    92%
apache_beam/tests/pipeline_verifiers_test.py                                    
     61      8    87%
apache_beam/tests/test_utils.py                                                 
     22      0   100%
apache_beam/transforms/__init__.py                                              
      6      0   100%
apache_beam/transforms/combiners.py                                             
    282     23    92%
apache_beam/transforms/combiners_test.py                                        
    186      1    99%
apache_beam/transforms/core.py                                                  
    558     75    87%
apache_beam/transforms/cy_combiners.py                                          
    195    102    48%
apache_beam/transforms/display.py                                               
    118     20    83%
apache_beam/transforms/display_test.py                                          
    108     20    81%
apache_beam/transforms/ptransform.py                                            
    294     30    90%
apache_beam/transforms/ptransform_test.py                                       
   1039     19    98%
apache_beam/transforms/sideinputs.py                                            
     93      2    98%
apache_beam/transforms/sideinputs_test.py                                       
    176      2    99%
apache_beam/transforms/timeutil.py                                              
     57     13    77%
apache_beam/transforms/trigger.py                                               
    599     72    88%
apache_beam/transforms/trigger_test.py                                          
    249     97    61%
apache_beam/transforms/util.py                                                  
     75      5    93%
apache_beam/transforms/window.py                                                
    206     25    88%
apache_beam/transforms/window_test.py                                           
    127      3    98%
apache_beam/transforms/write_ptransform_test.py                                 
     73      2    97%
apache_beam/typehints/__init__.py                                               
      3      0   100%
apache_beam/typehints/decorators.py                                             
    170      9    95%
apache_beam/typehints/opcodes.py                                                
    157     20    87%
apache_beam/typehints/trivial_inference.py                                      
    262     37    86%
apache_beam/typehints/trivial_inference_test.py                                 
     71      8    89%
apache_beam/typehints/typecheck.py                                              
     96      1    99%
apache_beam/typehints/typed_pipeline_test.py                                    
    156      6    96%
apache_beam/typehints/typehints.py                                              
    401     38    91%
apache_beam/typehints/typehints_test.py                                         
    615     15    98%
apache_beam/utils/__init__.py                                                   
      2      0   100%
apache_beam/utils/annotations.py                                                
     21      0   100%
apache_beam/utils/annotations_test.py                                           
     57      3    95%
apache_beam/utils/counters.py                                                   
     58     31    47%
apache_beam/utils/path.py                                                       
      6      0   100%
apache_beam/utils/path_test.py                                                  
     26      1    96%
apache_beam/utils/pipeline_options.py                                           
    168      7    96%
apache_beam/utils/pipeline_options_test.py                                      
     79      3    96%
apache_beam/utils/pipeline_options_validator.py                                 
     94      1    99%
apache_beam/utils/pipeline_options_validator_test.py                            
    141      4    97%
apache_beam/utils/processes.py                                                  
     22      0   100%
apache_beam/utils/processes_test.py                                             
     29      1    97%
apache_beam/utils/proto_utils.py                                                
     19      0   100%
apache_beam/utils/retry.py                                                      
     68      9    87%
apache_beam/utils/retry_test.py                                                 
    109      8    93%
apache_beam/utils/timestamp.py                                                  
    105      2    98%
apache_beam/utils/timestamp_test.py                                             
    103      1    99%
apache_beam/utils/urns.py                                                       
      6      0   100%
apache_beam/utils/windowed_value.py                                             
     42      3    93%
apache_beam/utils/windowed_value_test.py                                        
     31      1    97%
apache_beam/version.py                                                          
     22     17    23%
-----------------------------------------------------------------------------------------------------
TOTAL                                                                           
  21497   4697    78%
{code} 

CC: [~altay]

  was:
Some components of the Python-SDK has low coverage rate.
As of now ([2c2424c|https://github.com/apache/beam/tree/2c2424c) the test 
coverage looks as follows (excluding autocomplete_test.py):
{code}
Name                                                                            
  Stmts   Miss  Cover
-----------------------------------------------------------------------------------------------------
apache_beam/__init__.py                                                         
     10      1    90%
apache_beam/coders/__init__.py                                                  
      2      0   100%
apache_beam/coders/coder_impl.py                                                
    414     23    94%
apache_beam/coders/coders.py                                                    
    392     84    79%
apache_beam/coders/coders_test.py                                               
     54      3    94%
apache_beam/coders/coders_test_common.py                                        
    179      3    98%
apache_beam/coders/observable.py                                                
     10      0   100%
apache_beam/coders/observable_test.py                                           
     28      2    93%
apache_beam/coders/proto2_coder_test_messages_pb2.py                            
     51      0   100%
apache_beam/coders/slow_coders_test.py                                          
     15      3    80%
apache_beam/coders/slow_stream.py                                               
    105      6    94%
apache_beam/coders/standard_coders_test.py                                      
     72     15    79%
apache_beam/coders/stream_test.py                                               
    127     14    89%
apache_beam/coders/typecoders.py                                                
     69      8    88%
apache_beam/error.py                                                            
      7      0   100%
apache_beam/internal/__init__.py                                                
      0      0   100%
apache_beam/internal/gcp/__init__.py                                            
      0      0   100%
apache_beam/internal/gcp/auth.py                                                
     73     37    49%
apache_beam/internal/gcp/auth_test.py                                           
     17      2    88%
apache_beam/internal/gcp/json_value.py                                          
     64     54    16%
apache_beam/internal/gcp/json_value_test.py                                     
     49     22    55%
apache_beam/internal/module_test.py                                             
     23      0   100%
apache_beam/internal/pickler.py                                                 
     96     10    90%
apache_beam/internal/pickler_test.py                                            
     30      1    97%
apache_beam/internal/util.py                                                    
     30      0   100%
apache_beam/internal/util_test.py                                               
     32      1    97%
apache_beam/io/__init__.py                                                      
     15      2    87%
apache_beam/io/avroio.py                                                        
    138     14    90%
apache_beam/io/avroio_test.py                                                   
    200     17    92%
apache_beam/io/concat_source.py                                                 
    134     10    93%
apache_beam/io/concat_source_test.py                                            
    132      8    94%
apache_beam/io/filebasedsource.py                                               
    124      4    97%
apache_beam/io/filebasedsource_test.py                                          
    478      4    99%
apache_beam/io/fileio.py                                                        
    409     68    83%
apache_beam/io/fileio_test.py                                                   
    186      2    99%
apache_beam/io/gcp/__init__.py                                                  
      0      0   100%
apache_beam/io/gcp/bigquery.py                                                  
    416    327    21%
apache_beam/io/gcp/bigquery_test.py                                             
    434    341    21%
apache_beam/io/gcp/datastore/__init__.py                                        
      0      0   100%
apache_beam/io/gcp/datastore/v1/__init__.py                                     
      0      0   100%
apache_beam/io/gcp/datastore/v1/datastoreio.py                                  
    170    116    32%
apache_beam/io/gcp/datastore/v1/datastoreio_test.py                             
    146    112    23%
apache_beam/io/gcp/datastore/v1/fake_datastore.py                               
     38     28    26%
apache_beam/io/gcp/datastore/v1/helper.py                                       
    126    100    21%
apache_beam/io/gcp/datastore/v1/helper_test.py                                  
    175    139    21%
apache_beam/io/gcp/datastore/v1/query_splitter.py                               
    102     85    17%
apache_beam/io/gcp/datastore/v1/query_splitter_test.py                          
    127    100    21%
apache_beam/io/gcp/gcsio.py                                                     
    414    402     3%
apache_beam/io/gcp/gcsio_test.py                                                
    478    403    16%
apache_beam/io/gcp/internal/__init__.py                                         
      0      0   100%
apache_beam/io/gcp/internal/clients/__init__.py                                 
      0      0   100%
apache_beam/io/gcp/internal/clients/bigquery/__init__.py                        
      9      2    78%
apache_beam/io/gcp/internal/clients/storage/__init__.py                         
      9      2    78%
apache_beam/io/gcp/pubsub.py                                                    
     27      4    85%
apache_beam/io/gcp/pubsub_test.py                                               
     28      2    93%
apache_beam/io/gcp/tests/__init__.py                                            
      0      0   100%
apache_beam/io/gcp/tests/bigquery_matcher.py                                    
     47     30    36%
apache_beam/io/gcp/tests/bigquery_matcher_test.py                               
     57     38    33%
apache_beam/io/iobase.py                                                        
    151     30    80%
apache_beam/io/range_trackers.py                                                
    265     22    92%
apache_beam/io/range_trackers_test.py                                           
    346      4    99%
apache_beam/io/source_test_utils.py                                             
    215     25    88%
apache_beam/io/source_test_utils_test.py                                        
     64      3    95%
apache_beam/io/sources_test.py                                                  
     71     17    76%
apache_beam/io/textio.py                                                        
    150     13    91%
apache_beam/io/textio_test.py                                                   
    436      4    99%
apache_beam/io/tfrecordio.py                                                    
     86      4    95%
apache_beam/io/tfrecordio_test.py                                               
    220     29    87%
apache_beam/metrics/__init__.py                                                 
      1      0   100%
apache_beam/metrics/cells.py                                                    
    129     21    84%
apache_beam/metrics/cells_test.py                                               
     82      1    99%
apache_beam/metrics/execution.py                                                
     87      2    98%
apache_beam/metrics/execution_test.py                                           
     79      1    99%
apache_beam/metrics/metric.py                                                   
     96      6    94%
apache_beam/metrics/metric_test.py                                              
     83      1    99%
apache_beam/metrics/metricbase.py                                               
     21      3    86%
apache_beam/pipeline.py                                                         
    188     14    93%
apache_beam/pipeline_test.py                                                    
    285      7    98%
apache_beam/pvalue.py                                                           
    177     13    93%
apache_beam/pvalue_test.py                                                      
     36      3    92%
apache_beam/runners/__init__.py                                                 
      8      0   100%
apache_beam/runners/api/__init__.py                                             
      0      0   100%
apache_beam/runners/api/beam_runner_api_pb2.py                                  
    370      0   100%
apache_beam/runners/common.py                                                   
    237     35    85%
apache_beam/runners/dataflow/__init__.py                                        
      0      0   100%
apache_beam/runners/dataflow/dataflow_metrics.py                                
     49      4    92%
apache_beam/runners/dataflow/dataflow_metrics_test.py                           
     42      1    98%
apache_beam/runners/dataflow/dataflow_runner.py                                 
    324    263    19%
apache_beam/runners/dataflow/dataflow_runner_test.py                            
     88     59    33%
apache_beam/runners/dataflow/internal/__init__.py                               
      0      0   100%
apache_beam/runners/dataflow/internal/apiclient.py                              
    342    331     3%
apache_beam/runners/dataflow/internal/apiclient_test.py                         
     50     31    38%
apache_beam/runners/dataflow/internal/clients/__init__.py                       
      0      0   100%
apache_beam/runners/dataflow/internal/clients/dataflow/__init__.py              
      9      2    78%
apache_beam/runners/dataflow/internal/clients/dataflow/message_matchers.py      
     62     52    16%
apache_beam/runners/dataflow/internal/clients/dataflow/message_matchers_test.py 
     36     22    39%
apache_beam/runners/dataflow/internal/dependency.py                             
    214     66    69%
apache_beam/runners/dataflow/internal/dependency_test.py                        
    249     13    95%
apache_beam/runners/dataflow/internal/names.py                                  
     54      0   100%
apache_beam/runners/dataflow/native_io/__init__.py                              
      0      0   100%
apache_beam/runners/dataflow/native_io/iobase.py                                
     95     50    47%
apache_beam/runners/dataflow/template_runner_test.py                            
     37     19    49%
apache_beam/runners/dataflow/test_dataflow_runner.py                            
     15      8    47%
apache_beam/runners/direct/__init__.py                                          
      2      0   100%
apache_beam/runners/direct/bundle_factory.py                                    
     75      5    93%
apache_beam/runners/direct/clock.py                                             
     17      6    65%
apache_beam/runners/direct/consumer_tracking_pipeline_visitor.py                
     27      0   100%
apache_beam/runners/direct/consumer_tracking_pipeline_visitor_test.py           
     68      6    91%
apache_beam/runners/direct/direct_metrics.py                                    
     55      0   100%
apache_beam/runners/direct/direct_metrics_test.py                               
     60      1    98%
apache_beam/runners/direct/direct_runner.py                                     
     83      2    98%
apache_beam/runners/direct/evaluation_context.py                                
    134      6    96%
apache_beam/runners/direct/executor.py                                          
    304     14    95%
apache_beam/runners/direct/helper_transforms.py                                 
     48      0   100%
apache_beam/runners/direct/transform_evaluator.py                               
    279     29    90%
apache_beam/runners/direct/transform_result.py                                  
     26      0   100%
apache_beam/runners/direct/watermark_manager.py                                 
    129      1    99%
apache_beam/runners/pipeline_context.py                                         
     42      0   100%
apache_beam/runners/pipeline_context_test.py                                    
     20      1    95%
apache_beam/runners/runner.py                                                   
    142     42    70%
apache_beam/runners/runner_test.py                                              
     54      1    98%
apache_beam/runners/test/__init__.py                                            
      5      2    60%
apache_beam/test_pipeline.py                                                    
     46      0   100%
apache_beam/test_pipeline_test.py                                               
     53      4    92%
apache_beam/tests/__init__.py                                                   
      0      0   100%
apache_beam/tests/pipeline_verifiers.py                                         
     48      4    92%
apache_beam/tests/pipeline_verifiers_test.py                                    
     61      8    87%
apache_beam/tests/test_utils.py                                                 
     22      0   100%
apache_beam/transforms/__init__.py                                              
      6      0   100%
apache_beam/transforms/combiners.py                                             
    282     23    92%
apache_beam/transforms/combiners_test.py                                        
    186      1    99%
apache_beam/transforms/core.py                                                  
    558     75    87%
apache_beam/transforms/cy_combiners.py                                          
    195    102    48%
apache_beam/transforms/display.py                                               
    118     20    83%
apache_beam/transforms/display_test.py                                          
    108     20    81%
apache_beam/transforms/ptransform.py                                            
    294     30    90%
apache_beam/transforms/ptransform_test.py                                       
   1039     19    98%
apache_beam/transforms/sideinputs.py                                            
     93      2    98%
apache_beam/transforms/sideinputs_test.py                                       
    176      2    99%
apache_beam/transforms/timeutil.py                                              
     57     13    77%
apache_beam/transforms/trigger.py                                               
    599     72    88%
apache_beam/transforms/trigger_test.py                                          
    249     97    61%
apache_beam/transforms/util.py                                                  
     75      5    93%
apache_beam/transforms/window.py                                                
    206     25    88%
apache_beam/transforms/window_test.py                                           
    127      3    98%
apache_beam/transforms/write_ptransform_test.py                                 
     73      2    97%
apache_beam/typehints/__init__.py                                               
      3      0   100%
apache_beam/typehints/decorators.py                                             
    170      9    95%
apache_beam/typehints/opcodes.py                                                
    157     20    87%
apache_beam/typehints/trivial_inference.py                                      
    262     37    86%
apache_beam/typehints/trivial_inference_test.py                                 
     71      8    89%
apache_beam/typehints/typecheck.py                                              
     96      1    99%
apache_beam/typehints/typed_pipeline_test.py                                    
    156      6    96%
apache_beam/typehints/typehints.py                                              
    401     38    91%
apache_beam/typehints/typehints_test.py                                         
    615     15    98%
apache_beam/utils/__init__.py                                                   
      2      0   100%
apache_beam/utils/annotations.py                                                
     21      0   100%
apache_beam/utils/annotations_test.py                                           
     57      3    95%
apache_beam/utils/counters.py                                                   
     58     31    47%
apache_beam/utils/path.py                                                       
      6      0   100%
apache_beam/utils/path_test.py                                                  
     26      1    96%
apache_beam/utils/pipeline_options.py                                           
    168      7    96%
apache_beam/utils/pipeline_options_test.py                                      
     79      3    96%
apache_beam/utils/pipeline_options_validator.py                                 
     94      1    99%
apache_beam/utils/pipeline_options_validator_test.py                            
    141      4    97%
apache_beam/utils/processes.py                                                  
     22      0   100%
apache_beam/utils/processes_test.py                                             
     29      1    97%
apache_beam/utils/proto_utils.py                                                
     19      0   100%
apache_beam/utils/retry.py                                                      
     68      9    87%
apache_beam/utils/retry_test.py                                                 
    109      8    93%
apache_beam/utils/timestamp.py                                                  
    105      2    98%
apache_beam/utils/timestamp_test.py                                             
    103      1    99%
apache_beam/utils/urns.py                                                       
      6      0   100%
apache_beam/utils/windowed_value.py                                             
     42      3    93%
apache_beam/utils/windowed_value_test.py                                        
     31      1    97%
apache_beam/version.py                                                          
     22     17    23%
-----------------------------------------------------------------------------------------------------
TOTAL                                                                           
  21497   4697    78%
{code} 

CC: [~altay]


> Uber-JIRA: Extend Python-SDK's unit test coverage
> -------------------------------------------------
>
>                 Key: BEAM-1680
>                 URL: https://issues.apache.org/jira/browse/BEAM-1680
>             Project: Beam
>          Issue Type: Improvement
>          Components: sdk-py
>            Reporter: Tibor Kiss
>            Assignee: Tibor Kiss
>            Priority: Minor
>
> Some components of the Python-SDK has low coverage rate.
> As of now ([2c2424c|https://github.com/apache/beam/tree/2c2424c]) the test 
> coverage looks as follows (excluding autocomplete_test.py):
> {code}
> Name                                                                          
>     Stmts   Miss  Cover
> -----------------------------------------------------------------------------------------------------
> apache_beam/__init__.py                                                       
>        10      1    90%
> apache_beam/coders/__init__.py                                                
>         2      0   100%
> apache_beam/coders/coder_impl.py                                              
>       414     23    94%
> apache_beam/coders/coders.py                                                  
>       392     84    79%
> apache_beam/coders/coders_test.py                                             
>        54      3    94%
> apache_beam/coders/coders_test_common.py                                      
>       179      3    98%
> apache_beam/coders/observable.py                                              
>        10      0   100%
> apache_beam/coders/observable_test.py                                         
>        28      2    93%
> apache_beam/coders/proto2_coder_test_messages_pb2.py                          
>        51      0   100%
> apache_beam/coders/slow_coders_test.py                                        
>        15      3    80%
> apache_beam/coders/slow_stream.py                                             
>       105      6    94%
> apache_beam/coders/standard_coders_test.py                                    
>        72     15    79%
> apache_beam/coders/stream_test.py                                             
>       127     14    89%
> apache_beam/coders/typecoders.py                                              
>        69      8    88%
> apache_beam/error.py                                                          
>         7      0   100%
> apache_beam/internal/__init__.py                                              
>         0      0   100%
> apache_beam/internal/gcp/__init__.py                                          
>         0      0   100%
> apache_beam/internal/gcp/auth.py                                              
>        73     37    49%
> apache_beam/internal/gcp/auth_test.py                                         
>        17      2    88%
> apache_beam/internal/gcp/json_value.py                                        
>        64     54    16%
> apache_beam/internal/gcp/json_value_test.py                                   
>        49     22    55%
> apache_beam/internal/module_test.py                                           
>        23      0   100%
> apache_beam/internal/pickler.py                                               
>        96     10    90%
> apache_beam/internal/pickler_test.py                                          
>        30      1    97%
> apache_beam/internal/util.py                                                  
>        30      0   100%
> apache_beam/internal/util_test.py                                             
>        32      1    97%
> apache_beam/io/__init__.py                                                    
>        15      2    87%
> apache_beam/io/avroio.py                                                      
>       138     14    90%
> apache_beam/io/avroio_test.py                                                 
>       200     17    92%
> apache_beam/io/concat_source.py                                               
>       134     10    93%
> apache_beam/io/concat_source_test.py                                          
>       132      8    94%
> apache_beam/io/filebasedsource.py                                             
>       124      4    97%
> apache_beam/io/filebasedsource_test.py                                        
>       478      4    99%
> apache_beam/io/fileio.py                                                      
>       409     68    83%
> apache_beam/io/fileio_test.py                                                 
>       186      2    99%
> apache_beam/io/gcp/__init__.py                                                
>         0      0   100%
> apache_beam/io/gcp/bigquery.py                                                
>       416    327    21%
> apache_beam/io/gcp/bigquery_test.py                                           
>       434    341    21%
> apache_beam/io/gcp/datastore/__init__.py                                      
>         0      0   100%
> apache_beam/io/gcp/datastore/v1/__init__.py                                   
>         0      0   100%
> apache_beam/io/gcp/datastore/v1/datastoreio.py                                
>       170    116    32%
> apache_beam/io/gcp/datastore/v1/datastoreio_test.py                           
>       146    112    23%
> apache_beam/io/gcp/datastore/v1/fake_datastore.py                             
>        38     28    26%
> apache_beam/io/gcp/datastore/v1/helper.py                                     
>       126    100    21%
> apache_beam/io/gcp/datastore/v1/helper_test.py                                
>       175    139    21%
> apache_beam/io/gcp/datastore/v1/query_splitter.py                             
>       102     85    17%
> apache_beam/io/gcp/datastore/v1/query_splitter_test.py                        
>       127    100    21%
> apache_beam/io/gcp/gcsio.py                                                   
>       414    402     3%
> apache_beam/io/gcp/gcsio_test.py                                              
>       478    403    16%
> apache_beam/io/gcp/internal/__init__.py                                       
>         0      0   100%
> apache_beam/io/gcp/internal/clients/__init__.py                               
>         0      0   100%
> apache_beam/io/gcp/internal/clients/bigquery/__init__.py                      
>         9      2    78%
> apache_beam/io/gcp/internal/clients/storage/__init__.py                       
>         9      2    78%
> apache_beam/io/gcp/pubsub.py                                                  
>        27      4    85%
> apache_beam/io/gcp/pubsub_test.py                                             
>        28      2    93%
> apache_beam/io/gcp/tests/__init__.py                                          
>         0      0   100%
> apache_beam/io/gcp/tests/bigquery_matcher.py                                  
>        47     30    36%
> apache_beam/io/gcp/tests/bigquery_matcher_test.py                             
>        57     38    33%
> apache_beam/io/iobase.py                                                      
>       151     30    80%
> apache_beam/io/range_trackers.py                                              
>       265     22    92%
> apache_beam/io/range_trackers_test.py                                         
>       346      4    99%
> apache_beam/io/source_test_utils.py                                           
>       215     25    88%
> apache_beam/io/source_test_utils_test.py                                      
>        64      3    95%
> apache_beam/io/sources_test.py                                                
>        71     17    76%
> apache_beam/io/textio.py                                                      
>       150     13    91%
> apache_beam/io/textio_test.py                                                 
>       436      4    99%
> apache_beam/io/tfrecordio.py                                                  
>        86      4    95%
> apache_beam/io/tfrecordio_test.py                                             
>       220     29    87%
> apache_beam/metrics/__init__.py                                               
>         1      0   100%
> apache_beam/metrics/cells.py                                                  
>       129     21    84%
> apache_beam/metrics/cells_test.py                                             
>        82      1    99%
> apache_beam/metrics/execution.py                                              
>        87      2    98%
> apache_beam/metrics/execution_test.py                                         
>        79      1    99%
> apache_beam/metrics/metric.py                                                 
>        96      6    94%
> apache_beam/metrics/metric_test.py                                            
>        83      1    99%
> apache_beam/metrics/metricbase.py                                             
>        21      3    86%
> apache_beam/pipeline.py                                                       
>       188     14    93%
> apache_beam/pipeline_test.py                                                  
>       285      7    98%
> apache_beam/pvalue.py                                                         
>       177     13    93%
> apache_beam/pvalue_test.py                                                    
>        36      3    92%
> apache_beam/runners/__init__.py                                               
>         8      0   100%
> apache_beam/runners/api/__init__.py                                           
>         0      0   100%
> apache_beam/runners/api/beam_runner_api_pb2.py                                
>       370      0   100%
> apache_beam/runners/common.py                                                 
>       237     35    85%
> apache_beam/runners/dataflow/__init__.py                                      
>         0      0   100%
> apache_beam/runners/dataflow/dataflow_metrics.py                              
>        49      4    92%
> apache_beam/runners/dataflow/dataflow_metrics_test.py                         
>        42      1    98%
> apache_beam/runners/dataflow/dataflow_runner.py                               
>       324    263    19%
> apache_beam/runners/dataflow/dataflow_runner_test.py                          
>        88     59    33%
> apache_beam/runners/dataflow/internal/__init__.py                             
>         0      0   100%
> apache_beam/runners/dataflow/internal/apiclient.py                            
>       342    331     3%
> apache_beam/runners/dataflow/internal/apiclient_test.py                       
>        50     31    38%
> apache_beam/runners/dataflow/internal/clients/__init__.py                     
>         0      0   100%
> apache_beam/runners/dataflow/internal/clients/dataflow/__init__.py            
>         9      2    78%
> apache_beam/runners/dataflow/internal/clients/dataflow/message_matchers.py    
>        62     52    16%
> apache_beam/runners/dataflow/internal/clients/dataflow/message_matchers_test.py
>       36     22    39%
> apache_beam/runners/dataflow/internal/dependency.py                           
>       214     66    69%
> apache_beam/runners/dataflow/internal/dependency_test.py                      
>       249     13    95%
> apache_beam/runners/dataflow/internal/names.py                                
>        54      0   100%
> apache_beam/runners/dataflow/native_io/__init__.py                            
>         0      0   100%
> apache_beam/runners/dataflow/native_io/iobase.py                              
>        95     50    47%
> apache_beam/runners/dataflow/template_runner_test.py                          
>        37     19    49%
> apache_beam/runners/dataflow/test_dataflow_runner.py                          
>        15      8    47%
> apache_beam/runners/direct/__init__.py                                        
>         2      0   100%
> apache_beam/runners/direct/bundle_factory.py                                  
>        75      5    93%
> apache_beam/runners/direct/clock.py                                           
>        17      6    65%
> apache_beam/runners/direct/consumer_tracking_pipeline_visitor.py              
>        27      0   100%
> apache_beam/runners/direct/consumer_tracking_pipeline_visitor_test.py         
>        68      6    91%
> apache_beam/runners/direct/direct_metrics.py                                  
>        55      0   100%
> apache_beam/runners/direct/direct_metrics_test.py                             
>        60      1    98%
> apache_beam/runners/direct/direct_runner.py                                   
>        83      2    98%
> apache_beam/runners/direct/evaluation_context.py                              
>       134      6    96%
> apache_beam/runners/direct/executor.py                                        
>       304     14    95%
> apache_beam/runners/direct/helper_transforms.py                               
>        48      0   100%
> apache_beam/runners/direct/transform_evaluator.py                             
>       279     29    90%
> apache_beam/runners/direct/transform_result.py                                
>        26      0   100%
> apache_beam/runners/direct/watermark_manager.py                               
>       129      1    99%
> apache_beam/runners/pipeline_context.py                                       
>        42      0   100%
> apache_beam/runners/pipeline_context_test.py                                  
>        20      1    95%
> apache_beam/runners/runner.py                                                 
>       142     42    70%
> apache_beam/runners/runner_test.py                                            
>        54      1    98%
> apache_beam/runners/test/__init__.py                                          
>         5      2    60%
> apache_beam/test_pipeline.py                                                  
>        46      0   100%
> apache_beam/test_pipeline_test.py                                             
>        53      4    92%
> apache_beam/tests/__init__.py                                                 
>         0      0   100%
> apache_beam/tests/pipeline_verifiers.py                                       
>        48      4    92%
> apache_beam/tests/pipeline_verifiers_test.py                                  
>        61      8    87%
> apache_beam/tests/test_utils.py                                               
>        22      0   100%
> apache_beam/transforms/__init__.py                                            
>         6      0   100%
> apache_beam/transforms/combiners.py                                           
>       282     23    92%
> apache_beam/transforms/combiners_test.py                                      
>       186      1    99%
> apache_beam/transforms/core.py                                                
>       558     75    87%
> apache_beam/transforms/cy_combiners.py                                        
>       195    102    48%
> apache_beam/transforms/display.py                                             
>       118     20    83%
> apache_beam/transforms/display_test.py                                        
>       108     20    81%
> apache_beam/transforms/ptransform.py                                          
>       294     30    90%
> apache_beam/transforms/ptransform_test.py                                     
>      1039     19    98%
> apache_beam/transforms/sideinputs.py                                          
>        93      2    98%
> apache_beam/transforms/sideinputs_test.py                                     
>       176      2    99%
> apache_beam/transforms/timeutil.py                                            
>        57     13    77%
> apache_beam/transforms/trigger.py                                             
>       599     72    88%
> apache_beam/transforms/trigger_test.py                                        
>       249     97    61%
> apache_beam/transforms/util.py                                                
>        75      5    93%
> apache_beam/transforms/window.py                                              
>       206     25    88%
> apache_beam/transforms/window_test.py                                         
>       127      3    98%
> apache_beam/transforms/write_ptransform_test.py                               
>        73      2    97%
> apache_beam/typehints/__init__.py                                             
>         3      0   100%
> apache_beam/typehints/decorators.py                                           
>       170      9    95%
> apache_beam/typehints/opcodes.py                                              
>       157     20    87%
> apache_beam/typehints/trivial_inference.py                                    
>       262     37    86%
> apache_beam/typehints/trivial_inference_test.py                               
>        71      8    89%
> apache_beam/typehints/typecheck.py                                            
>        96      1    99%
> apache_beam/typehints/typed_pipeline_test.py                                  
>       156      6    96%
> apache_beam/typehints/typehints.py                                            
>       401     38    91%
> apache_beam/typehints/typehints_test.py                                       
>       615     15    98%
> apache_beam/utils/__init__.py                                                 
>         2      0   100%
> apache_beam/utils/annotations.py                                              
>        21      0   100%
> apache_beam/utils/annotations_test.py                                         
>        57      3    95%
> apache_beam/utils/counters.py                                                 
>        58     31    47%
> apache_beam/utils/path.py                                                     
>         6      0   100%
> apache_beam/utils/path_test.py                                                
>        26      1    96%
> apache_beam/utils/pipeline_options.py                                         
>       168      7    96%
> apache_beam/utils/pipeline_options_test.py                                    
>        79      3    96%
> apache_beam/utils/pipeline_options_validator.py                               
>        94      1    99%
> apache_beam/utils/pipeline_options_validator_test.py                          
>       141      4    97%
> apache_beam/utils/processes.py                                                
>        22      0   100%
> apache_beam/utils/processes_test.py                                           
>        29      1    97%
> apache_beam/utils/proto_utils.py                                              
>        19      0   100%
> apache_beam/utils/retry.py                                                    
>        68      9    87%
> apache_beam/utils/retry_test.py                                               
>       109      8    93%
> apache_beam/utils/timestamp.py                                                
>       105      2    98%
> apache_beam/utils/timestamp_test.py                                           
>       103      1    99%
> apache_beam/utils/urns.py                                                     
>         6      0   100%
> apache_beam/utils/windowed_value.py                                           
>        42      3    93%
> apache_beam/utils/windowed_value_test.py                                      
>        31      1    97%
> apache_beam/version.py                                                        
>        22     17    23%
> -----------------------------------------------------------------------------------------------------
> TOTAL                                                                         
>     21497   4697    78%
> {code} 
> CC: [~altay]



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to