xref: /aosp_15_r20/external/bazelbuild-rules_rust/crate_universe/src/test.rs (revision d4726bddaa87cc4778e7472feed243fa4b6c267f)
1 //! A module containing common test helpers
2 
mock_cargo_metadata_package() -> cargo_metadata::Package3 pub(crate) fn mock_cargo_metadata_package() -> cargo_metadata::Package {
4     serde_json::from_value(serde_json::json!({
5         "name": "mock-pkg",
6         "version": "3.3.3",
7         "id": "mock-pkg 3.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
8         "license": "Unlicense/MIT",
9         "license_file": null,
10         "description": "Fast multiple substring searching.",
11         "source": "registry+https://github.com/rust-lang/crates.io-index",
12         "dependencies": [],
13         "targets": [],
14         "features": {},
15         "manifest_path": "/tmp/mock-pkg-3.3.3/Cargo.toml",
16         "metadata": null,
17         "publish": null,
18         "authors": [],
19         "categories": [],
20         "keywords": [],
21         "readme": "README.md",
22         "repository": "",
23         "homepage": "",
24         "documentation": null,
25         "edition": "2021",
26         "links": null,
27         "default_run": null
28     }))
29     .unwrap()
30 }
31 
mock_cargo_lock_package() -> cargo_lock::Package32 pub(crate) fn mock_cargo_lock_package() -> cargo_lock::Package {
33     toml::from_str(&textwrap::dedent(
34         r#"
35         name = "mock-pkg"
36         version = "3.3.3"
37         source = "registry+https://github.com/rust-lang/crates.io-index"
38         checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
39         dependencies = []
40         "#,
41     ))
42     .unwrap()
43 }
44 
45 pub(crate) mod metadata {
alias() -> cargo_metadata::Metadata46     pub(crate) fn alias() -> cargo_metadata::Metadata {
47         serde_json::from_str(include_str!(concat!(
48             env!("CARGO_MANIFEST_DIR"),
49             "/test_data/metadata/aliases/metadata.json"
50         )))
51         .unwrap()
52     }
53 
build_scripts() -> cargo_metadata::Metadata54     pub(crate) fn build_scripts() -> cargo_metadata::Metadata {
55         serde_json::from_str(include_str!(concat!(
56             env!("CARGO_MANIFEST_DIR"),
57             "/test_data/metadata/build_scripts/metadata.json"
58         )))
59         .unwrap()
60     }
61 
crate_types() -> cargo_metadata::Metadata62     pub(crate) fn crate_types() -> cargo_metadata::Metadata {
63         serde_json::from_str(include_str!(concat!(
64             env!("CARGO_MANIFEST_DIR"),
65             "/test_data/metadata/crate_types/metadata.json"
66         )))
67         .unwrap()
68     }
69 
multi_cfg_dep() -> cargo_metadata::Metadata70     pub(crate) fn multi_cfg_dep() -> cargo_metadata::Metadata {
71         serde_json::from_str(include_str!(concat!(
72             env!("CARGO_MANIFEST_DIR"),
73             "/test_data/metadata/multi_cfg_dep/metadata.json"
74         )))
75         .unwrap()
76     }
77 
multi_kind_proc_macro_dep() -> cargo_metadata::Metadata78     pub(crate) fn multi_kind_proc_macro_dep() -> cargo_metadata::Metadata {
79         serde_json::from_str(include_str!(concat!(
80             env!("CARGO_MANIFEST_DIR"),
81             "/test_data/metadata/multi_kind_proc_macro_dep/metadata.json"
82         )))
83         .unwrap()
84     }
85 
no_deps() -> cargo_metadata::Metadata86     pub(crate) fn no_deps() -> cargo_metadata::Metadata {
87         serde_json::from_str(include_str!(concat!(
88             env!("CARGO_MANIFEST_DIR"),
89             "/test_data/metadata/no_deps/metadata.json"
90         )))
91         .unwrap()
92     }
93 
optional_deps_disabled() -> cargo_metadata::Metadata94     pub(crate) fn optional_deps_disabled() -> cargo_metadata::Metadata {
95         serde_json::from_str(include_str!(concat!(
96             env!("CARGO_MANIFEST_DIR"),
97             "/test_data/metadata/crate_optional_deps_disabled/metadata.json"
98         )))
99         .unwrap()
100     }
101 
renamed_optional_deps_disabled() -> cargo_metadata::Metadata102     pub(crate) fn renamed_optional_deps_disabled() -> cargo_metadata::Metadata {
103         serde_json::from_str(include_str!(concat!(
104             env!("CARGO_MANIFEST_DIR"),
105             "/test_data/metadata/crate_renamed_optional_deps_disabled/metadata.json"
106         )))
107         .unwrap()
108     }
109 
optional_deps_disabled_build_dep_enabled() -> cargo_metadata::Metadata110     pub(crate) fn optional_deps_disabled_build_dep_enabled() -> cargo_metadata::Metadata {
111         serde_json::from_str(include_str!(concat!(
112             env!("CARGO_MANIFEST_DIR"),
113             "/test_data/metadata/crate_optional_deps_disabled_build_dep_enabled/metadata.json"
114         )))
115         .unwrap()
116     }
117 
optional_deps_enabled() -> cargo_metadata::Metadata118     pub(crate) fn optional_deps_enabled() -> cargo_metadata::Metadata {
119         serde_json::from_str(include_str!(concat!(
120             env!("CARGO_MANIFEST_DIR"),
121             "/test_data/metadata/crate_optional_deps_enabled/metadata.json"
122         )))
123         .unwrap()
124     }
125 
renamed_optional_deps_enabled() -> cargo_metadata::Metadata126     pub(crate) fn renamed_optional_deps_enabled() -> cargo_metadata::Metadata {
127         serde_json::from_str(include_str!(concat!(
128             env!("CARGO_MANIFEST_DIR"),
129             "/test_data/metadata/crate_renamed_optional_deps_enabled/metadata.json"
130         )))
131         .unwrap()
132     }
133 
common() -> cargo_metadata::Metadata134     pub(crate) fn common() -> cargo_metadata::Metadata {
135         serde_json::from_str(include_str!(concat!(
136             env!("CARGO_MANIFEST_DIR"),
137             "/test_data/metadata/common/metadata.json"
138         )))
139         .unwrap()
140     }
141 
example_proc_macro_dep() -> cargo_metadata::Metadata142     pub(crate) fn example_proc_macro_dep() -> cargo_metadata::Metadata {
143         serde_json::from_str(include_str!(concat!(
144             env!("CARGO_MANIFEST_DIR"),
145             "/test_data/metadata/example_proc_macro_dep/metadata.json"
146         )))
147         .unwrap()
148     }
149 
git_repos() -> cargo_metadata::Metadata150     pub(crate) fn git_repos() -> cargo_metadata::Metadata {
151         serde_json::from_str(include_str!(concat!(
152             env!("CARGO_MANIFEST_DIR"),
153             "/test_data/metadata/git_repos/metadata.json"
154         )))
155         .unwrap()
156     }
157 
has_package_metadata() -> cargo_metadata::Metadata158     pub(crate) fn has_package_metadata() -> cargo_metadata::Metadata {
159         serde_json::from_str(include_str!(concat!(
160             env!("CARGO_MANIFEST_DIR"),
161             "/test_data/metadata/has_package_metadata/metadata.json"
162         )))
163         .unwrap()
164     }
165 
resolver_2_deps_metadata() -> cargo_metadata::Metadata166     pub(crate) fn resolver_2_deps_metadata() -> cargo_metadata::Metadata {
167         serde_json::from_str(include_str!(concat!(
168             env!("CARGO_MANIFEST_DIR"),
169             "/test_data/metadata/resolver_2_deps/metadata.json"
170         )))
171         .unwrap()
172     }
173 }
174 
175 pub(crate) mod lockfile {
176     use std::str::FromStr;
177 
alias() -> cargo_lock::Lockfile178     pub(crate) fn alias() -> cargo_lock::Lockfile {
179         cargo_lock::Lockfile::from_str(include_str!(concat!(
180             env!("CARGO_MANIFEST_DIR"),
181             "/test_data/metadata/aliases/Cargo.lock"
182         )))
183         .unwrap()
184     }
185 
build_scripts() -> cargo_lock::Lockfile186     pub(crate) fn build_scripts() -> cargo_lock::Lockfile {
187         cargo_lock::Lockfile::from_str(include_str!(concat!(
188             env!("CARGO_MANIFEST_DIR"),
189             "/test_data/metadata/build_scripts/Cargo.lock"
190         )))
191         .unwrap()
192     }
193 
crate_types() -> cargo_lock::Lockfile194     pub(crate) fn crate_types() -> cargo_lock::Lockfile {
195         cargo_lock::Lockfile::from_str(include_str!(concat!(
196             env!("CARGO_MANIFEST_DIR"),
197             "/test_data/metadata/crate_types/Cargo.lock"
198         )))
199         .unwrap()
200     }
201 
multi_cfg_dep() -> cargo_lock::Lockfile202     pub(crate) fn multi_cfg_dep() -> cargo_lock::Lockfile {
203         cargo_lock::Lockfile::from_str(include_str!(concat!(
204             env!("CARGO_MANIFEST_DIR"),
205             "/test_data/metadata/multi_cfg_dep/Cargo.lock"
206         )))
207         .unwrap()
208     }
209 
no_deps() -> cargo_lock::Lockfile210     pub(crate) fn no_deps() -> cargo_lock::Lockfile {
211         cargo_lock::Lockfile::from_str(include_str!(concat!(
212             env!("CARGO_MANIFEST_DIR"),
213             "/test_data/metadata/no_deps/Cargo.lock"
214         )))
215         .unwrap()
216     }
217 
common() -> cargo_lock::Lockfile218     pub(crate) fn common() -> cargo_lock::Lockfile {
219         cargo_lock::Lockfile::from_str(include_str!(concat!(
220             env!("CARGO_MANIFEST_DIR"),
221             "/test_data/metadata/common/Cargo.lock"
222         )))
223         .unwrap()
224     }
225 
git_repos() -> cargo_lock::Lockfile226     pub(crate) fn git_repos() -> cargo_lock::Lockfile {
227         cargo_lock::Lockfile::from_str(include_str!(concat!(
228             env!("CARGO_MANIFEST_DIR"),
229             "/test_data/metadata/git_repos/Cargo.lock"
230         )))
231         .unwrap()
232     }
233 
has_package_metadata() -> cargo_lock::Lockfile234     pub(crate) fn has_package_metadata() -> cargo_lock::Lockfile {
235         cargo_lock::Lockfile::from_str(include_str!(concat!(
236             env!("CARGO_MANIFEST_DIR"),
237             "/test_data/metadata/has_package_metadata/Cargo.lock"
238         )))
239         .unwrap()
240     }
241 }
242