How confident are we in the `peek` test coverage? ...
# development
w
How confident are we in the
peek
test coverage? Like, covers a bunch of lines, but how many of those are "the test runs over those lines" vs "the tests execute the intentional behaviour of those lines" do we think we have?
Copy code
Name                                                        Stmts   Miss  Cover
-------------------------------------------------------------------------------
conftest.py                                                    14      4    71%
src/python/pants/__init__.py                                    1      0   100%
src/python/pants/_version/__init__.py                           0      0   100%
src/python/pants/backend/__init__.py                            0      0   100%
src/python/pants/backend/project_info/__init__.py               0      0   100%
src/python/pants/backend/project_info/dependents.py            67     25    63%
src/python/pants/backend/project_info/filter_targets.py        75     33    56%
src/python/pants/backend/project_info/peek.py                 139     49    65%
src/python/pants/backend/project_info/peek_test.py             39      0   100%
src/python/pants/backend/visibility/__init__.py                 0      0   100%
src/python/pants/backend/visibility/glob.py                   170    108    36%
src/python/pants/backend/visibility/rule_types.py             154     94    39%
src/python/pants/backend/visibility/rules.py                   27      7    74%
src/python/pants/backend/visibility/subsystem.py               10      0   100%
src/python/pants/base/__init__.py                               0      0   100%
src/python/pants/base/build_environment.py                     19      0   100%
src/python/pants/base/build_root.py                            47     21    55%
src/python/pants/base/deprecated.py                            88     40    55%
src/python/pants/base/exceptions.py                            19      4    79%
src/python/pants/base/exiter.py                                 3      0   100%
src/python/pants/base/glob_match_error_behavior.py              6      0   100%
src/python/pants/base/parse_context.py                         24     12    50%
src/python/pants/base/specs.py                                213     88    59%
src/python/pants/base/specs_parser.py                          66     42    36%
src/python/pants/bsp/__init__.py                                0      0   100%
src/python/pants/bsp/context.py                                40     23    42%
src/python/pants/bsp/protocol.py                               93     52    44%
src/python/pants/bsp/spec/__init__.py                           0      0   100%
src/python/pants/bsp/spec/base.py                              82     21    74%
src/python/pants/bsp/spec/lifecycle.py                        114     43    62%
src/python/pants/bsp/spec/notification.py                       6      1    83%
src/python/pants/bsp/utils.py                                  18     14    22%
src/python/pants/build_graph/__init__.py                        0      0   100%
src/python/pants/build_graph/address.py                        35      2    94%
src/python/pants/build_graph/build_configuration.py           136     24    82%
src/python/pants/build_graph/build_file_aliases.py             50     20    60%
src/python/pants/conftest.py                                   35      4    89%
src/python/pants/core/__init__.py                               0      0   100%
src/python/pants/core/goals/__init__.py                         0      0   100%
src/python/pants/core/goals/deploy.py                          98     54    45%
src/python/pants/core/goals/multi_tool_goal_helper.py          56     28    50%
src/python/pants/core/goals/package.py                        106     44    58%
src/python/pants/core/goals/publish.py                        142     71    50%
src/python/pants/core/goals/run.py                            116     45    61%
src/python/pants/core/goals/test.py                           445    234    47%
src/python/pants/core/subsystems/__init__.py                    0      0   100%
src/python/pants/core/subsystems/debug_adapter.py               9      0   100%
src/python/pants/core/subsystems/python_bootstrap.py           84     38    55%
src/python/pants/core/target_types.py                         300     90    70%
src/python/pants/core/util_rules/__init__.py                    0      0   100%
src/python/pants/core/util_rules/adhoc_binaries.py             62     19    69%
src/python/pants/core/util_rules/archive.py                    84     48    43%
src/python/pants/core/util_rules/asdf.py                      133     86    35%
src/python/pants/core/util_rules/distdir.py                    24      8    67%
src/python/pants/core/util_rules/environments.py              318    136    57%
src/python/pants/core/util_rules/partitions.py                111     45    59%
src/python/pants/core/util_rules/search_paths.py               98     48    51%
src/python/pants/core/util_rules/system_binaries.py           346    164    53%
src/python/pants/engine/__init__.py                             0      0   100%
src/python/pants/engine/addresses.py                           31     10    68%
src/python/pants/engine/collection.py                          31     12    61%
src/python/pants/engine/console.py                             72     31    57%
src/python/pants/engine/desktop.py                             38     15    61%
src/python/pants/engine/download_file.py                       35     14    60%
src/python/pants/engine/engine_aware.py                        28     10    64%
src/python/pants/engine/env_vars.py                            34     17    50%
src/python/pants/engine/environment.py                         12      1    92%
src/python/pants/engine/fs.py                                 116     22    81%
src/python/pants/engine/goal.py                                89     19    79%
src/python/pants/engine/internals/__init__.py                   0      0   100%
src/python/pants/engine/internals/build_files.py              202    128    37%
src/python/pants/engine/internals/defaults.py                  81     51    37%
src/python/pants/engine/internals/dep_rules.py                 91     29    68%
src/python/pants/engine/internals/docker.py                     8      0   100%
src/python/pants/engine/internals/graph.py                    515    358    30%
src/python/pants/engine/internals/mapper.py                   104     47    55%
src/python/pants/engine/internals/native_dep_inference.py      17      4    76%
src/python/pants/engine/internals/nodes.py                     30     16    47%
src/python/pants/engine/internals/options_parsing.py           39      8    79%
src/python/pants/engine/internals/parametrize.py              218    148    32%
src/python/pants/engine/internals/parser.py                   263    165    37%
src/python/pants/engine/internals/platform_rules.py            49     29    41%
src/python/pants/engine/internals/rule_visitor.py             218     41    81%
src/python/pants/engine/internals/scheduler.py                247     66    73%
src/python/pants/engine/internals/selectors.py                142     72    49%
src/python/pants/engine/internals/session.py                   10      2    80%
src/python/pants/engine/internals/specs_rules.py              158     99    37%
src/python/pants/engine/internals/synthetic_targets.py         97     37    62%
src/python/pants/engine/internals/target_adaptor.py            30     10    67%
src/python/pants/engine/platform.py                            15      2    87%
src/python/pants/engine/process.py                            170     56    67%
src/python/pants/engine/rules.py                              223     31    86%
src/python/pants/engine/streaming_workunit_handler.py         129     60    53%
src/python/pants/engine/target.py                            1107    436    61%
src/python/pants/engine/unions.py                              85     17    80%
src/python/pants/goal/__init__.py                               0      0   100%
src/python/pants/goal/run_tracker.py                          113     74    35%
src/python/pants/init/__init__.py                               0      0   100%
src/python/pants/init/bootstrap_scheduler.py                    8      0   100%
src/python/pants/init/engine_initializer.py                   143     38    73%
src/python/pants/init/logging.py                              117     81    31%
src/python/pants/init/specs_calculator.py                      49     28    43%
src/python/pants/option/__init__.py                             0      0   100%
src/python/pants/option/alias.py                               72     27    62%
src/python/pants/option/arg_splitter.py                       148     20    86%
src/python/pants/option/config.py                             157     97    38%
src/python/pants/option/custom_types.py                       194     68    65%
src/python/pants/option/errors.py                              40     11    72%
src/python/pants/option/global_options.py                     533    143    73%
src/python/pants/option/option_types.py                       194     32    84%
src/python/pants/option/option_util.py                          6      0   100%
src/python/pants/option/option_value_container.py              64     15    77%
src/python/pants/option/options.py                            151     42    72%
src/python/pants/option/options_bootstrapper.py               139     20    86%
src/python/pants/option/parser.py                             399    125    69%
src/python/pants/option/ranked_value.py                        43      4    91%
src/python/pants/option/scope.py                               36      2    94%
src/python/pants/option/subsystem.py                          142     35    75%
src/python/pants/source/__init__.py                             0      0   100%
src/python/pants/source/filespec.py                             7      0   100%
src/python/pants/source/source_root.py                        168     81    52%
src/python/pants/testutil/__init__.py                           2      0   100%
src/python/pants/testutil/option_util.py                       22      8    64%
src/python/pants/testutil/rule_runner.py                      298    111    63%
src/python/pants/util/__init__.py                               0      0   100%
src/python/pants/util/collections.py                           66     37    44%
src/python/pants/util/contextutil.py                          133     96    28%
src/python/pants/util/dirutil.py                              225    131    42%
src/python/pants/util/docutil.py                               12      2    83%
src/python/pants/util/enums.py                                 16      8    50%
src/python/pants/util/eval.py                                  30     18    40%
src/python/pants/util/filtering.py                             32     21    34%
src/python/pants/util/frozendict.py                            77     19    75%
src/python/pants/util/logging.py                               29      5    83%
src/python/pants/util/memo.py                                  72     15    79%
src/python/pants/util/meta.py                                  40      6    85%
src/python/pants/util/ordered_set.py                          104     56    46%
src/python/pants/util/osutil.py                                63     33    48%
src/python/pants/util/resources.py                             13      3    77%
src/python/pants/util/strutil.py                              153     82    46%
src/python/pants/util/typing.py                                18      1    94%
src/python/pants/vcs/__init__.py                                0      0   100%
src/python/pants/vcs/changed.py                                70     18    74%
src/python/pants/vcs/git.py                                    86     44    49%
src/python/pants/version.py                                    36     15    58%
-------------------------------------------------------------------------------
TOTAL                                                       13576   5624    59%
I've got some
peek
work to land in order to make the VSCode plugin ... well, in order for it to not be crap - but I think peeks needs some tender love and code
cc @curved-television-6568 As being very knowledgeable in this part of the code
c
very feels like an overstatement, but I can help review/add some love to peek as I've got some ideas I want to do in that area..
my availability and time the next coming weeks will be a bit erratic though, as I'm about to move back to Sweden next Thursday...
w
👍
I've been trying to land the peek feature that would give you a goal from the target - but man is that a mess