Skip to content

select all functions sharing a name for --root and --leaf - #119

Open
nvxbug wants to merge 2 commits into
jrfonseca:mainfrom
nvxbug:root-leaf-dup-names
Open

nvxbug wants to merge 2 commits into
jrfonseca:mainfrom
nvxbug:root-leaf-dup-names

Conversation

@nvxbug

@nvxbug nvxbug commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

getFunctionIds collapses every function into a {name: id} dict before matching, so two functions that share a name but have distinct ids (the same symbol in different modules, which happens in perf, dtrace, sleepy and collapse-with-source input) fold to one entry and only the last survives. Selecting that name with --root or --leaf then keeps one of the subtrees and quietly drops the others.

Match against each function name directly and return every id that matches, so a name or glob that resolves to several functions yields all of them. Keeping this in getFunctionIds means prune_root and prune_leaf both receive the full root/leaf set without either caller having to know that names can repeat.

@codecov

codecov Bot commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.05%. Comparing base (5cbab29) to head (b3eb47f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #119      +/-   ##
==========================================
+ Coverage   86.03%   87.05%   +1.01%     
==========================================
  Files           1        1              
  Lines        2342     2341       -1     
==========================================
+ Hits         2015     2038      +23     
+ Misses        327      303      -24     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@nvxbug

nvxbug commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

Pushed a test for the codecov/patch failure: a collapse fixture with two functions named foo and a --root=foo run in test.py, diffed against a committed reference, so the new matching path is covered.

@nvxbug nvxbug left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any update?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant