Commit Graph

2588 Commits

Author SHA1 Message Date
Paolo Tranquilli
abd73e16d4 Revert "Revert "Rust: allow to specify more cargo configuration options"" 2024-11-18 15:52:03 +01:00
Tom Hvitved
74b5ebe4bf Rust: Improve CFG for let expressions 2024-11-18 15:51:16 +01:00
Tom Hvitved
8be1127e8c Rust: Add more CFG tests 2024-11-18 15:51:15 +01:00
Paolo Tranquilli
04072591c4 Revert "Rust: allow to specify more cargo configuration options" 2024-11-18 15:36:06 +01:00
Simon Friis Vindum
58a1b004ab Rust: Include method calls in DataFlowCall and implement simple call
target resolution
2024-11-18 15:27:21 +01:00
Simon Friis Vindum
4e97a9554a Rust: Add interprocedural tests 2024-11-18 15:21:15 +01:00
Paolo Tranquilli
fa52d03194 Merge pull request #17937 from github/redsun82/rust-cargo-options
Rust: allow to specify more cargo configuration options
2024-11-18 13:24:39 +01:00
Paolo Tranquilli
b11388c49b Rust: accept test changes 2024-11-18 12:06:25 +01:00
Paolo Tranquilli
8137419d93 Rust: only accept options.yml in QL tests 2024-11-18 10:40:29 +01:00
Paolo Tranquilli
0356cdc3cc Merge pull request #18002 from github/redsun82/rust-ql-test-deps
Rust: add optional dependencies to ql tests
2024-11-18 10:32:09 +01:00
Simon Friis Vindum
1a198bfb3a Merge branch 'main' into rust-df-patterns 2024-11-18 10:06:01 +01:00
Paolo Tranquilli
75375be7ac Rust: add optional dependencies to ql tests
Also accept `options.yml` and `options.yaml` files as well for test options,
to get YAML syntax highlighting. In a follow up PR we might make the extension
mandatory.
2024-11-18 09:42:01 +01:00
Simon Friis Vindum
0e025abd13 Rust: Add custom toString predicate for path expression 2024-11-18 09:09:03 +01:00
Simon Friis Vindum
7cb9d07f59 Rust: Fix default source and sink in inline flow test 2024-11-15 11:59:48 +01:00
Simon Friis Vindum
9bf53f50fa Rust: Get CFG scope and update expected results 2024-11-15 10:00:43 +01:00
Cornelius Riemenschneider
3fdd35cfdc Merge pull request #17976 from github/criemen/rust-3rdparty
Rust: Vendor build files for 3rdparty dependencies.
2024-11-14 12:58:00 +01:00
Simon Friis Vindum
d3f5b479f6 Merge branch 'main' into rust-df-patterns 2024-11-13 16:22:07 +01:00
Tom Hvitved
2bb5603b30 Merge pull request #17949 from paldepind/rust-async-blocks
Rust: Handle async blocks in CFG and SSA
2024-11-13 13:51:20 +01:00
Cornelius Riemenschneider
a66f8209f9 Rust: Vendor 3rdparty dependencies.
We've been observing some performance issues using crate_universe on CI.
Therefore, we're moving to vendor the auto-generated BUILD files
in our repository. This should provide a nice speed boost, while
getting rid of the complexity of the "rust cache" job we've been using
when we had a lot of git dependencies.

This PR includes a vendor script, and I'll put up a CI job internally
that runs that vendor script on Cargo.toml and Cargo.lock changes, to check
that the vendored files are in sync.
2024-11-13 13:22:14 +01:00
Simon Friis Vindum
78edafc94c Rust: Include patterns as data flow nodes 2024-11-12 18:43:06 +01:00
Simon Friis Vindum
274d9421a7 Rust: Cache getEnclosingCfgScope 2024-11-12 13:15:20 +01:00
Simon Friis Vindum
d9d3027667 Rust: Make improvements to getArgString based on PR comments 2024-11-12 09:45:33 +01:00
Simon Friis Vindum
03292310b6 Merge branch 'main' into rust-async-blocks 2024-11-12 09:36:04 +01:00
Simon Friis Vindum
63d84edfae Rust: Fix minor issues from PR feedback 2024-11-12 08:37:56 +01:00
Simon Friis Vindum
cd2038a8f8 Rust: Setup inline flow test library 2024-11-11 16:41:59 +01:00
Paolo Tranquilli
5ef92a281b Rust: fix integration test on windows 2024-11-11 13:37:25 +01:00
Paolo Tranquilli
34361b81eb Rust: reorganize options integration tests 2024-11-11 13:11:10 +01:00
Simon Friis Vindum
aebce746df Rust: Create data flow nodes for parameters in the CFG
Before data flow nodes where created for all parameters in the AST. But
some AST parameters does not lead to any data flow (for instance
parameters in function pointer types).
2024-11-11 11:46:10 +01:00
Simon Friis Vindum
6a3d417836 Rust: Implement enclosing callable for additional classes 2024-11-11 11:11:29 +01:00
Paolo Tranquilli
07c59f7562 Rust: fix integration tests 2024-11-11 09:55:46 +01:00
Simon Friis Vindum
bf07aa1cbd Merge pull request #17947 from paldepind/rust-ssa-node-printing
Rust: Mark SSA data flow nodes in output and hide them in paths
2024-11-11 09:55:26 +01:00
Paolo Tranquilli
0298743f2a Merge branch 'main' into redsun82/rust-cargo-options 2024-11-11 09:47:59 +01:00
Simon Friis Vindum
9f0fba16cd Rust: Fix grammar and add documentation comments 2024-11-11 09:46:47 +01:00
Simon Friis Vindum
db1b698689 Rust: Accept fixed spurious results 2024-11-11 08:59:34 +01:00
Simon Friis Vindum
54172774d5 Merge branch 'main' into rust-async-blocks 2024-11-11 08:50:51 +01:00
Simon Friis Vindum
55796badaf Rust: Mark SSA data flow nodes in output and hide them in paths 2024-11-11 08:48:48 +01:00
Simon Friis Vindum
a5e13ee71b Rust: Handle async blocks in SSA analysis 2024-11-10 11:59:37 +01:00
Simon Friis Vindum
74a6d9812d Rust: Add SSA test for async blocks 2024-11-10 11:33:03 +01:00
Simon Friis Vindum
8e6844e4da Merge branch 'main' into rust-async-blocks 2024-11-10 09:28:14 +01:00
Geoffrey White
727a7d4957 Merge branch 'main' into unreachable4 2024-11-08 17:39:15 +00:00
Paolo Tranquilli
98b7d50e8a Rust: avoid test name with * 2024-11-08 18:20:09 +01:00
Paolo Tranquilli
d9d37dc341 Merge branch 'main' into redsun82/rust-cargo-options 2024-11-08 18:17:54 +01:00
Paolo Tranquilli
9684df8535 Rust: accept some inconsitencies for now
The modified result is just a change due to a semantic conflict after introducing some
`toString` implementations.

The new inconsistency should be looked at more in detail.
2024-11-08 18:05:19 +01:00
Paolo Tranquilli
94ba6473dd Merge branch 'main' into redsun82/rust-cargo-options 2024-11-08 17:54:59 +01:00
Paolo Tranquilli
f77f2b7ff0 Rust: turn off the test cfg by default 2024-11-08 17:07:03 +01:00
Paolo Tranquilli
a13c70bd11 Rust: add integration test for cargo options 2024-11-08 16:50:21 +01:00
Geoffrey White
c7112ef278 Rust: Accept consistency check changes. 2024-11-08 14:22:04 +00:00
Simon Friis Vindum
d52a2d67a2 Rust: Create CFG scope for async blocks 2024-11-08 15:00:02 +01:00
Geoffrey White
ede72b2680 Rust: Add unresolved macro calls count as well. 2024-11-08 13:59:05 +00:00
Simon Friis Vindum
e05b126215 Rust: Add CFG tests for async/await and const 2024-11-08 14:50:07 +01:00