Repository navigation
Fix Windows test failures from PR #201 - #202
Merged
Merged
Conversation
A node's equals/hashCode cover its id only, never its graph, and every CPG numbers its nodes from the same range, so the static WeakHashMap[Method, ...] matched methods across CPGs built in the same JVM. One test's assignment map then served another's lookup: with the foreign graph still open, a local resolved to the previous test's expression and EasyTagsPass tagged xhr.send and seen.delete as SDK actions (the intermittent JsDomRecognizerTest failure on CI); with the graph closed, accesses threw MVStoreException. Key the index by graph first, as methodIndexes already is - within one graph ids are unique, so the inner by-node key is exact.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #201 (merged before its Windows legs finished, since only
pr-tests (ubuntu-latest, 25)was a required check at the time). Two fixes:jssrc2cpg: expect / project-relative names in the $lib import tests on every OS
SvelteKitAliasImportTestsstill built its expectations withFile.separator, but #101's commitsa255183cand55d895e4made method full names carry/project-relative names on every OS, so the two resolution tests failed on every Windows job:js tags: scope JsIndexes' assignment index by graph
A node's
equals/hashCodecover its id only, never its graph, and every CPG numbers its nodes from the same range, so the staticWeakHashMap[Method, ...]matched methods across CPGs built in the same JVM. One test's assignment map then served another's lookup:EasyTagsPasstaggedxhr.sendandseen.deleteas SDK actions — the intermittentJsDomRecognizerTestfailure seen on CI (Windows/JVM 26 on the PR build, macOS/JVM 23 on the merge-group build);MVStoreException: This store is closed.The index is now keyed by graph first (as
methodIndexesalready was), making the inner by-node key exact since ids are unique within a graph. Verified with a 30-round close/reopen stress loop (previously failed from round 2) plus full suites: x2cpg 136 and jssrc2cpg 679 tests green.Branch protection on
mainnow requires onepr-testsleg per OS (ubuntu/windows/macos, JVM 25), so the queue can no longer merge while another OS is failing.