Files
aquasecurity-trivy/pkg/fanal/analyzer/language/rust/cargo/testdata/toml-workspace-glob.txtar

131 lines
3.1 KiB
Plaintext

Test case: Cargo workspace with glob pattern in members.
This test verifies that the analyzer correctly handles Cargo workspaces where
members are specified using glob patterns (e.g., members = ["member*"]).
Structure:
- Root Cargo.toml: defines members = ["member*"] (glob pattern)
- member1/Cargo.toml: depends on gdb-command
- member2/Cargo.toml: uses { workspace = true } for regex dependency
Expected behavior:
- Same as explicit member list - glob should be expanded
- Virtual workspace root should have RelationshipRoot
- member1 and member2 should have RelationshipWorkspace
- Direct dependencies (gdb-command, regex) should have RelationshipDirect
-- Cargo.lock --
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "aho-corasick"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
dependencies = [
"memchr",
]
[[package]]
name = "gdb-command"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49a067c49eb3dfc7c2357d3d37536d2f57c5250ac377672164286b8d5ea94c5d"
dependencies = [
"regex",
"wait-timeout",
]
[[package]]
name = "libc"
version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
[[package]]
name = "member1"
version = "0.1.0"
dependencies = [
"gdb-command",
]
[[package]]
name = "member2"
version = "0.1.0"
dependencies = [
"regex",
]
[[package]]
name = "memchr"
version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "regex"
version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
"regex-automata",
"regex-syntax",
]
[[package]]
name = "regex-automata"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "wait-timeout"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
dependencies = [
"libc",
]
-- Cargo.toml --
[workspace.package]
name = "toml-workspace-members"
version = "0.1.0"
[workspace]
resolver = "2"
members = ["member*"]
[workspace.dependencies]
regex = "1"
-- member1/Cargo.toml --
[package]
name = "member1"
version = "0.1.0"
edition = "2021"
[dependencies]
gdb-command = "0.7"
-- member2/Cargo.toml --
[package]
edition = "2021"
name = "member2"
version = "0.1.0"
[dependencies]
regex = { workspace = true}