xref: /aosp_15_r20/development/tools/cargo_embargo/testdata/README.md (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker# Test data for `cargo_embargo`
2*90c8c64dSAndroid Build Coastguard Worker
3*90c8c64dSAndroid Build Coastguard WorkerThe files here are used for `cargo_embargo` integration tests. Run the tests with
4*90c8c64dSAndroid Build Coastguard Worker
5*90c8c64dSAndroid Build Coastguard Worker```shell
6*90c8c64dSAndroid Build Coastguard Workeratest --host cargo_embargo.test
7*90c8c64dSAndroid Build Coastguard Worker```
8*90c8c64dSAndroid Build Coastguard Worker
9*90c8c64dSAndroid Build Coastguard Worker## Handling changes in Cargo output
10*90c8c64dSAndroid Build Coastguard Worker
11*90c8c64dSAndroid Build Coastguard WorkerWhen the output of `cargo metadata` changes, you need to update the
12*90c8c64dSAndroid Build Coastguard Worker`cargo.metadata` files found in the subdirectories here. Do this with:
13*90c8c64dSAndroid Build Coastguard Worker
14*90c8c64dSAndroid Build Coastguard Worker```
15*90c8c64dSAndroid Build Coastguard Workerfor crate in aho-corasick async-trait either plotters rustc-demangle-capi; do
16*90c8c64dSAndroid Build Coastguard Worker    pushd $ANDROID_BUILD_TOP/external/rust/crates/$crate
17*90c8c64dSAndroid Build Coastguard Worker    cargo metadata --format-version 1 | jq --sort-keys \
18*90c8c64dSAndroid Build Coastguard Worker      > $ANDROID_BUILD_TOP/development/tools/cargo_embargo/testdata/$crate/cargo.metadata
19*90c8c64dSAndroid Build Coastguard Worker    popd
20*90c8c64dSAndroid Build Coastguard Workerdone
21*90c8c64dSAndroid Build Coastguard Worker```
22*90c8c64dSAndroid Build Coastguard Worker
23*90c8c64dSAndroid Build Coastguard WorkerRun the integration tests again after updating the crate metadata.
24*90c8c64dSAndroid Build Coastguard Worker
25*90c8c64dSAndroid Build Coastguard WorkerSome tests will likely fail because of outdated information in the other test
26*90c8c64dSAndroid Build Coastguard Workerfiles:
27*90c8c64dSAndroid Build Coastguard Worker
28*90c8c64dSAndroid Build Coastguard Worker- `expected_Android.bp`: Adjust the version numbers to match the current version
29*90c8c64dSAndroid Build Coastguard Worker  from `cargo.metadata`.
30*90c8c64dSAndroid Build Coastguard Worker- `crates.json`: Adjust version numbers and `package_dir` as necessary.
31*90c8c64dSAndroid Build Coastguard Worker- `cargo_embargo.json`: Adjust the list of Cargo features if this has changed
32*90c8c64dSAndroid Build Coastguard Worker  since the file was last touched.
33