diff --git a/crates/stackable-versioned-macros/fixtures/README.md b/crates/stackable-versioned-macros/fixtures/README.md deleted file mode 100644 index 6da458512..000000000 --- a/crates/stackable-versioned-macros/fixtures/README.md +++ /dev/null @@ -1,62 +0,0 @@ -# Snapshot Testing - -> [!NOTE] -> Please have `rust-src` installed, e.g. using `rustup component add rust-src`. -> -> Also see the compile-fail tests, described [here](../tests/README.md). - -This folder contains fixtures for snapshot testing the `#[versioned()]` macro. Snapshot testing is -done using the [insta] crate. It provides a [CLI tool][insta-cli] called `cargo-insta` and a -[VS Code extension][insta-ext]. - -Test inputs and snapshots of the expected output are located in the `fixtures` folder. There are two -inputs to the `#[versioned()]` macro because it is an attribute macro: - -> The first TokenStream is the delimited token tree following the attribute’s name, not including -> the outer delimiters. If the attribute is written as a bare attribute name, the attribute -> TokenStream is empty. The second TokenStream is the rest of the item including other attributes on -> the item. -> -> _(Taken from the [Rust reference][rust-ref])_ - -Because of that, a special delimiter is used in the input files which separates the two inputs while -still enabling developers to write valid Rust code. The delimiter is `// ---\n`. Most of the inner -workings are located in [this file](../src/test_utils.rs). - -```rust -#[versioned( - version(name = "v1alpha1"), - version(name = "v1beta1"), - version(name = "v1") -)] -// --- <- See here! -pub(crate) struct Foo { - #[versioned( - changed(since = "v1beta1", from_name = "jjj", from_type = "u8"), - changed(since = "v1", from_type = "u16"), - )] - bar: usize, - baz: bool, -} -``` - -## Recommended Workflow - -First, add new input files (which automatically get picked up by `insta`) to the `fixtures/inputs` -folder. Make sure the delimiter is placed correctly between the attribute and the container -definition. Doc comments on the container have to be placed after the delimiter. Next, generate the -snapshot files (initially not accepted) by running - -```shell -cargo insta test -p stackable-versioned-macros -``` - -This command will place the new snapshot files (with a `.new` extension) in the `fixtures/snapshots` -folder. These new snapshot files must not appear on `main`, but can be shared on branches for -collaboration. To review them, run the `cargo insta review` command, then accept or fix the -snapshots. Once all are accepted (ie: no `.new` files remaining), check in the files. - -[rust-ref]: https://doc.rust-lang.org/reference/procedural-macros.html#attribute-macros -[insta-ext]: https://insta.rs/docs/vscode/ -[insta-cli]: https://insta.rs/docs/cli/ -[insta]: https://insta.rs/ diff --git a/crates/stackable-versioned-macros/src/lib.rs b/crates/stackable-versioned-macros/src/lib.rs index 469ee61b0..fdb955b51 100644 --- a/crates/stackable-versioned-macros/src/lib.rs +++ b/crates/stackable-versioned-macros/src/lib.rs @@ -922,16 +922,16 @@ where } #[cfg(test)] -mod test { +mod snapshot_tests { use insta::{assert_snapshot, glob}; use super::*; #[test] - fn default_snapshots() { + fn default() { let _settings_guard = test_utils::set_snapshot_path().bind_to_scope(); - glob!("../fixtures/inputs/default", "*.rs", |path| { + glob!("../tests/inputs/default/pass", "*.rs", |path| { let formatted = test_utils::expand_from_file(path) .inspect_err(|err| eprintln!("{err}")) .unwrap(); @@ -941,10 +941,10 @@ mod test { #[cfg(feature = "k8s")] #[test] - fn k8s_snapshots() { + fn k8s() { let _settings_guard = test_utils::set_snapshot_path().bind_to_scope(); - glob!("../fixtures/inputs/k8s", "*.rs", |path| { + glob!("../tests/inputs/k8s/pass", "*.rs", |path| { let formatted = test_utils::expand_from_file(path) .inspect_err(|err| eprintln!("{err}")) .unwrap(); diff --git a/crates/stackable-versioned-macros/src/test_utils.rs b/crates/stackable-versioned-macros/src/test_utils.rs index cc4960382..d3f14cbb8 100644 --- a/crates/stackable-versioned-macros/src/test_utils.rs +++ b/crates/stackable-versioned-macros/src/test_utils.rs @@ -7,7 +7,7 @@ use std::{ use insta::Settings; use proc_macro2::TokenStream; use regex::Regex; -use snafu::{OptionExt, ResultExt, Snafu}; +use snafu::{NoneError, OptionExt, ResultExt, Snafu}; use syn::Item; use crate::versioned_impl; @@ -24,8 +24,8 @@ pub(crate) enum Error { #[snafu(display("failed to read input file"))] ReadFile { source: std::io::Error }, - #[snafu(display("failed to find delimiter"))] - MissingDelimiter, + #[snafu(display("failed to find delimiters"))] + MissingDelimiters, #[snafu(display("failed to find regex match group"))] MissingRegexMatchGroup, @@ -51,7 +51,13 @@ pub(crate) fn expand_from_file(path: &Path) -> Result { } fn prepare_from_string(input: String) -> Result<(TokenStream, Item), Error> { - let (attrs, input) = input.split_once(DELIMITER).context(MissingDelimiterSnafu)?; + let parts: [&str; 4] = input + .split(DELIMITER) + .collect::>() + .try_into() + .map_err(|_| NoneError) + .context(MissingDelimitersSnafu)?; + let [_, attrs, input, _] = parts; let attrs = REGEX .captures(attrs) @@ -70,7 +76,7 @@ fn prepare_from_string(input: String) -> Result<(TokenStream, Item), Error> { pub(crate) fn set_snapshot_path() -> Settings { let dir = std::env::var("CARGO_MANIFEST_DIR").expect("env var CARGO_MANIFEST_DIR must be set"); let mut settings = Settings::clone_current(); - settings.set_snapshot_path(PathBuf::from(dir).join("fixtures/snapshots")); + settings.set_snapshot_path(PathBuf::from(dir).join("tests/snapshots")); settings } diff --git a/crates/stackable-versioned-macros/tests/README.md b/crates/stackable-versioned-macros/tests/README.md index a8d3f7598..7ecff1891 100644 --- a/crates/stackable-versioned-macros/tests/README.md +++ b/crates/stackable-versioned-macros/tests/README.md @@ -1,17 +1,97 @@ -# Compile-Fail Testing +# Testing the `#[versioned]` macro -> [!NOTE] -> Also see the snapshot tests, described [here](../fixtures/README.md). - -This type of testing is part of UI testing. These tests assert two things: First, the code should -**not** compile and secondly should also produce the expected rustc (compiler) error message. For -this type of testing, we use the [`trybuild`][trybuild] crate. +This folder contains both snapshot and compile (trybuild) tests. Both types of tests use the same +set of input files to both ensure the macro generates the expected code and either compiles or +produces the expected compile error. Tests are currently separated into two folders: `default` and `k8s`. The default test cases don't require any additional features to be activated. The Kubernetes specific tests require the `k8s` feature to be enabled. These tests can be run with `cargo test --all-features`. +## Snapshot Testing + +> [!NOTE] +> Please have `rust-src` installed, e.g. using `rustup component add rust-src`. +> +> Also see the compile-fail tests, described [here](#compile-fail-testing). + +Snapshot testing is done using the [insta] crate. It provides a [CLI tool][insta-cli] calle + `cargo-insta` and a [VS Code extension][insta-ext]. + +Test inputs and snapshots of the expected output are located in the `inputs` and `snapshots` folder +respectively. Each Rust attribute macro expects two inputs as a token stream: + +> The first TokenStream is the delimited token tree following the attribute’s name, not including +> the outer delimiters. If the attribute is written as a bare attribute name, the attribute +> TokenStream is empty. The second TokenStream is the rest of the item including other attributes on +> the item. +> +> _(Taken from the [Rust reference][rust-ref])_ + +Because of that, a special delimiter is used in the input files which separates different sections +of the input file while still enabling developers to write valid Rust code. The delimiter is +`// ---\n`. Most of the inner workings are located in [this file](../src/test_utils.rs). + +```rust +use stackable_versioned::versioned; +// --- <- See here! +#[versioned( + version(name = "v1alpha1"), + version(name = "v1beta1"), + version(name = "v1") +)] +// --- <- See here! +pub(crate) struct Foo { + #[versioned( + changed(since = "v1beta1", from_name = "jjj", from_type = "u8"), + changed(since = "v1", from_type = "u16"), + )] + bar: usize, + baz: bool, +} +// --- <- See here! +fn main() {} + +// Rest of code ... +``` + +Input files must include **three** separators which produce **four** distinct sections: + +- Imports, like `stackable_versioned::versioned` +- The attribute macro +- The item the macro is applied to +- The rest of the code, like the `main` function + +### Recommended Workflow + +First, add new input files (which automatically get picked up by `insta`) to the `inputs` +folder. Make sure the delimiter is placed correctly between the different sections. Doc comments on +the container have to be placed after the delimiter. Next, generate the snapshot files (initially +not accepted) by running + +```shell +cargo insta test -p stackable-versioned-macros --all-features +``` + +This command will place the new snapshot files (with a `.new` extension) in the `snapshots` folder. +These new snapshot files must not appear on `main`, but can be shared on branches for collaboration. +To review them, run the `cargo insta review` command, then accept or fix the snapshots. Once all are +accepted (ie: no `.new` files remaining), check in the files. + +## Compile-Fail Testing + +> [!NOTE] +> Also see the snapshot tests, described [here](#snapshot-testing). + +This type of testing is part of UI testing. These tests assert two things: First, some code should +compile without errors and secondly other code should produce the expected rustc (compiler) error +message. For this type of testing, we use the [`trybuild`][trybuild] crate. + Further information about the workflow are described [here][workflow]. +[rust-ref]: https://doc.rust-lang.org/reference/procedural-macros.html#attribute-macros [workflow]: https://docs.rs/trybuild/latest/trybuild/#workflow [trybuild]: https://docs.rs/trybuild/latest/trybuild/ +[insta-ext]: https://insta.rs/docs/vscode/ +[insta-cli]: https://insta.rs/docs/cli/ +[insta]: https://insta.rs/ diff --git a/crates/stackable-versioned-macros/tests/default/pass/added.rs b/crates/stackable-versioned-macros/tests/default/pass/added.rs deleted file mode 100644 index 0357b4877..000000000 --- a/crates/stackable-versioned-macros/tests/default/pass/added.rs +++ /dev/null @@ -1,23 +0,0 @@ -use stackable_versioned_macros::versioned; - -fn main() { - #[versioned( - version(name = "v1alpha1"), - version(name = "v1alpha2"), - version(name = "v1beta1"), - version(name = "v1") - )] - struct Foo { - username: String, - - #[versioned(added(since = "v1alpha2", default = default_first_name))] - first_name: String, - - #[versioned(added(since = "v1beta1"))] - last_name: String, - } -} - -fn default_first_name() -> String { - "foo".into() -} diff --git a/crates/stackable-versioned-macros/tests/default/fail/changed.rs b/crates/stackable-versioned-macros/tests/inputs/default/fail/changed.rs similarity index 100% rename from crates/stackable-versioned-macros/tests/default/fail/changed.rs rename to crates/stackable-versioned-macros/tests/inputs/default/fail/changed.rs diff --git a/crates/stackable-versioned-macros/tests/default/fail/changed.stderr b/crates/stackable-versioned-macros/tests/inputs/default/fail/changed.stderr similarity index 81% rename from crates/stackable-versioned-macros/tests/default/fail/changed.stderr rename to crates/stackable-versioned-macros/tests/inputs/default/fail/changed.stderr index 9f0b1519e..5290e5db3 100644 --- a/crates/stackable-versioned-macros/tests/default/fail/changed.stderr +++ b/crates/stackable-versioned-macros/tests/inputs/default/fail/changed.stderr @@ -1,11 +1,11 @@ error: the previous name must not start with the deprecation prefix - --> tests/default/fail/changed.rs:11:52 + --> tests/inputs/default/fail/changed.rs:11:52 | 11 | changed(since = "v1beta1", from_name = "deprecated_bar"), | ^^^^^^^^^^^^^^^^ error: the previous name must not start with the deprecation prefix - --> tests/default/fail/changed.rs:12:47 + --> tests/inputs/default/fail/changed.rs:12:47 | 12 | changed(since = "v1", from_name = "deprecated_baz") | ^^^^^^^^^^^^^^^^ diff --git a/crates/stackable-versioned-macros/tests/default/fail/deprecate.rs b/crates/stackable-versioned-macros/tests/inputs/default/fail/deprecate.rs similarity index 100% rename from crates/stackable-versioned-macros/tests/default/fail/deprecate.rs rename to crates/stackable-versioned-macros/tests/inputs/default/fail/deprecate.rs diff --git a/crates/stackable-versioned-macros/tests/default/fail/deprecate.stderr b/crates/stackable-versioned-macros/tests/inputs/default/fail/deprecate.stderr similarity index 72% rename from crates/stackable-versioned-macros/tests/default/fail/deprecate.stderr rename to crates/stackable-versioned-macros/tests/inputs/default/fail/deprecate.stderr index 271b0e082..46e1bbdcd 100644 --- a/crates/stackable-versioned-macros/tests/default/fail/deprecate.stderr +++ b/crates/stackable-versioned-macros/tests/inputs/default/fail/deprecate.stderr @@ -1,5 +1,5 @@ error: deprecation must be done using `#[versioned(deprecated(since = "VERSION"))]` - --> tests/default/fail/deprecate.rs:10:9 + --> tests/inputs/default/fail/deprecate.rs:10:9 | 10 | #[deprecated] | ^ diff --git a/crates/stackable-versioned-macros/tests/default/fail/skip_from_all.rs b/crates/stackable-versioned-macros/tests/inputs/default/fail/skip_from_all.rs similarity index 100% rename from crates/stackable-versioned-macros/tests/default/fail/skip_from_all.rs rename to crates/stackable-versioned-macros/tests/inputs/default/fail/skip_from_all.rs diff --git a/crates/stackable-versioned-macros/tests/default/fail/skip_from_all.stderr b/crates/stackable-versioned-macros/tests/inputs/default/fail/skip_from_all.stderr similarity index 88% rename from crates/stackable-versioned-macros/tests/default/fail/skip_from_all.stderr rename to crates/stackable-versioned-macros/tests/inputs/default/fail/skip_from_all.stderr index 622e3266b..d7733a74f 100644 --- a/crates/stackable-versioned-macros/tests/default/fail/skip_from_all.stderr +++ b/crates/stackable-versioned-macros/tests/inputs/default/fail/skip_from_all.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> tests/default/fail/skip_from_all.rs:23:42 + --> tests/inputs/default/fail/skip_from_all.rs:23:42 | 23 | let foo_v1beta1 = v1beta1::Foo::from(foo_v1alpha1); | ------------------ ^^^^^^^^^^^^ expected `v1beta1::Foo`, found `v1alpha1::Foo` @@ -8,7 +8,7 @@ error[E0308]: mismatched types | = note: `v1alpha1::Foo` and `v1beta1::Foo` have similar names, but are actually distinct types note: `v1alpha1::Foo` is defined in module `crate::main::v1alpha1` of the current crate - --> tests/default/fail/skip_from_all.rs:4:5 + --> tests/inputs/default/fail/skip_from_all.rs:4:5 | 4 | / #[versioned( 5 | | version(name = "v1alpha1"), @@ -18,7 +18,7 @@ note: `v1alpha1::Foo` is defined in module `crate::main::v1alpha1` of the curren 9 | | )] | |______^ note: `v1beta1::Foo` is defined in module `crate::main::v1beta1` of the current crate - --> tests/default/fail/skip_from_all.rs:4:5 + --> tests/inputs/default/fail/skip_from_all.rs:4:5 | 4 | / #[versioned( 5 | | version(name = "v1alpha1"), diff --git a/crates/stackable-versioned-macros/tests/default/fail/skip_from_version.rs b/crates/stackable-versioned-macros/tests/inputs/default/fail/skip_from_version.rs similarity index 100% rename from crates/stackable-versioned-macros/tests/default/fail/skip_from_version.rs rename to crates/stackable-versioned-macros/tests/inputs/default/fail/skip_from_version.rs diff --git a/crates/stackable-versioned-macros/tests/default/fail/skip_from_version.stderr b/crates/stackable-versioned-macros/tests/inputs/default/fail/skip_from_version.stderr similarity index 87% rename from crates/stackable-versioned-macros/tests/default/fail/skip_from_version.stderr rename to crates/stackable-versioned-macros/tests/inputs/default/fail/skip_from_version.stderr index 0fe75fea1..3b408c112 100644 --- a/crates/stackable-versioned-macros/tests/default/fail/skip_from_version.stderr +++ b/crates/stackable-versioned-macros/tests/inputs/default/fail/skip_from_version.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> tests/default/fail/skip_from_version.rs:23:32 + --> tests/inputs/default/fail/skip_from_version.rs:23:32 | 23 | let foo_v1 = v1::Foo::from(foo_v1beta1); | ------------- ^^^^^^^^^^^ expected `main::v1::Foo`, found `v1beta1::Foo` @@ -8,7 +8,7 @@ error[E0308]: mismatched types | = note: `v1beta1::Foo` and `main::v1::Foo` have similar names, but are actually distinct types note: `v1beta1::Foo` is defined in module `crate::main::v1beta1` of the current crate - --> tests/default/fail/skip_from_version.rs:4:5 + --> tests/inputs/default/fail/skip_from_version.rs:4:5 | 4 | / #[versioned( 5 | | version(name = "v1alpha1"), @@ -17,7 +17,7 @@ note: `v1beta1::Foo` is defined in module `crate::main::v1beta1` of the current 8 | | )] | |______^ note: `main::v1::Foo` is defined in module `crate::main::v1` of the current crate - --> tests/default/fail/skip_from_version.rs:4:5 + --> tests/inputs/default/fail/skip_from_version.rs:4:5 | 4 | / #[versioned( 5 | | version(name = "v1alpha1"), diff --git a/crates/stackable-versioned-macros/tests/default/fail/submodule_invalid_name.rs b/crates/stackable-versioned-macros/tests/inputs/default/fail/submodule_invalid_name.rs similarity index 100% rename from crates/stackable-versioned-macros/tests/default/fail/submodule_invalid_name.rs rename to crates/stackable-versioned-macros/tests/inputs/default/fail/submodule_invalid_name.rs diff --git a/crates/stackable-versioned-macros/tests/default/fail/submodule_invalid_name.stderr b/crates/stackable-versioned-macros/tests/inputs/default/fail/submodule_invalid_name.stderr similarity index 64% rename from crates/stackable-versioned-macros/tests/default/fail/submodule_invalid_name.stderr rename to crates/stackable-versioned-macros/tests/inputs/default/fail/submodule_invalid_name.stderr index b213f2ebd..80e82ef9f 100644 --- a/crates/stackable-versioned-macros/tests/default/fail/submodule_invalid_name.stderr +++ b/crates/stackable-versioned-macros/tests/inputs/default/fail/submodule_invalid_name.stderr @@ -1,5 +1,5 @@ error: submodules must use names which are defined as `version`s - --> tests/default/fail/submodule_invalid_name.rs:6:9 + --> tests/inputs/default/fail/submodule_invalid_name.rs:6:9 | 6 | mod v1alpha2 {} | ^^^ diff --git a/crates/stackable-versioned-macros/tests/default/fail/submodule_use_statement.rs b/crates/stackable-versioned-macros/tests/inputs/default/fail/submodule_use_statement.rs similarity index 100% rename from crates/stackable-versioned-macros/tests/default/fail/submodule_use_statement.rs rename to crates/stackable-versioned-macros/tests/inputs/default/fail/submodule_use_statement.rs diff --git a/crates/stackable-versioned-macros/tests/default/fail/submodule_use_statement.stderr b/crates/stackable-versioned-macros/tests/inputs/default/fail/submodule_use_statement.stderr similarity index 62% rename from crates/stackable-versioned-macros/tests/default/fail/submodule_use_statement.stderr rename to crates/stackable-versioned-macros/tests/inputs/default/fail/submodule_use_statement.stderr index 966b1061b..20c7f4e5a 100644 --- a/crates/stackable-versioned-macros/tests/default/fail/submodule_use_statement.stderr +++ b/crates/stackable-versioned-macros/tests/inputs/default/fail/submodule_use_statement.stderr @@ -1,5 +1,5 @@ error: submodules must only define `use` statements - --> tests/default/fail/submodule_use_statement.rs:7:13 + --> tests/inputs/default/fail/submodule_use_statement.rs:7:13 | 7 | struct Foo; | ^^^^^^ diff --git a/crates/stackable-versioned-macros/tests/inputs/default/pass/added.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/added.rs new file mode 100644 index 000000000..57ae9d420 --- /dev/null +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/added.rs @@ -0,0 +1,24 @@ +use stackable_versioned_macros::versioned; +// --- +#[versioned( + version(name = "v1alpha1"), + version(name = "v1alpha2"), + version(name = "v1beta1"), + version(name = "v1") +)] +// --- +struct Foo { + username: String, + + #[versioned(added(since = "v1alpha2", default = default_first_name))] + first_name: String, + + #[versioned(added(since = "v1beta1"))] + last_name: String, +} +// --- +fn main() {} + +fn default_first_name() -> String { + "foo".into() +} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/attribute_enum.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/attribute_enum.rs similarity index 94% rename from crates/stackable-versioned-macros/fixtures/inputs/default/attribute_enum.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/attribute_enum.rs index f3b78aa75..305774813 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/attribute_enum.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/attribute_enum.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version( @@ -36,3 +38,5 @@ enum Foo { #[versioned(changed(since = "v1", from_name = "Qaax"))] Quux, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/attribute_struct.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/attribute_struct.rs similarity index 94% rename from crates/stackable-versioned-macros/fixtures/inputs/default/attribute_struct.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/attribute_struct.rs index 649477dcb..0749a040a 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/attribute_struct.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/attribute_struct.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version( @@ -33,3 +35,5 @@ struct Foo { #[versioned(changed(since = "v1", from_name = "qaax"))] quux: String, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/basic_struct.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/basic_struct.rs similarity index 89% rename from crates/stackable-versioned-macros/fixtures/inputs/default/basic_struct.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/basic_struct.rs index 2b0dae2df..c074e9456 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/basic_struct.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/basic_struct.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1", deprecated), version(name = "v1beta1"), @@ -19,3 +21,5 @@ pub(crate) struct Foo { deprecated_bar: usize, baz: bool, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/convert_with.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/convert_with.rs similarity index 74% rename from crates/stackable-versioned-macros/fixtures/inputs/default/convert_with.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/convert_with.rs index 8055f961a..cfeea317e 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/convert_with.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/convert_with.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned(version(name = "v1alpha1"), version(name = "v1"), version(name = "v2"))] // --- struct Foo { @@ -10,3 +12,13 @@ struct Foo { )] baz: u64, } +// --- +fn main() {} + +fn u16_to_u32(input: u16) -> u32 { + input as u32 +} + +fn u32_to_u64(input: u32) -> u64 { + input as u64 +} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/deprecate_enum.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/deprecate_enum.rs similarity index 79% rename from crates/stackable-versioned-macros/fixtures/inputs/default/deprecate_enum.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/deprecate_enum.rs index af942c1d4..d996a9424 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/deprecate_enum.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/deprecate_enum.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1beta1"), @@ -11,3 +13,5 @@ enum Foo { DeprecatedBar, Baz, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/deprecate_struct.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/deprecate_struct.rs similarity index 81% rename from crates/stackable-versioned-macros/fixtures/inputs/default/deprecate_struct.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/deprecate_struct.rs index b20c25bbd..666a1dbc5 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/deprecate_struct.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/deprecate_struct.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1beta1"), @@ -11,3 +13,5 @@ struct Foo { deprecated_bar: usize, baz: bool, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/enum_data_simple.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/enum_data_simple.rs similarity index 77% rename from crates/stackable-versioned-macros/fixtures/inputs/default/enum_data_simple.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/enum_data_simple.rs index 732bb0c2b..99281f414 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/enum_data_simple.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/enum_data_simple.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned(version(name = "v1alpha1"), version(name = "v1alpha2"))] // --- enum Foo { @@ -10,3 +12,5 @@ enum Foo { name: String, }, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/generics_defaults.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/generics_defaults.rs similarity index 70% rename from crates/stackable-versioned-macros/fixtures/inputs/default/generics_defaults.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/generics_defaults.rs index 2b11c12e5..5f5b1053f 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/generics_defaults.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/generics_defaults.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned(version(name = "v1alpha1"), version(name = "v1"))] // --- pub struct Foo @@ -7,3 +9,5 @@ where bar: T, baz: u8, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/generics_enum.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/generics_enum.rs similarity index 67% rename from crates/stackable-versioned-macros/fixtures/inputs/default/generics_enum.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/generics_enum.rs index 1e0604a9a..8156a0844 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/generics_enum.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/generics_enum.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned(version(name = "v1alpha1"), version(name = "v1"))] // --- pub enum Foo @@ -7,3 +9,5 @@ where Bar(T), Baz, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/generics_module.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/generics_module.rs similarity index 83% rename from crates/stackable-versioned-macros/fixtures/inputs/default/generics_module.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/generics_module.rs index 70c5809d0..9342a213a 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/generics_module.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/generics_module.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1"), @@ -21,3 +23,5 @@ pub mod versioned { Shaq, } } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/generics_struct.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/generics_struct.rs similarity index 68% rename from crates/stackable-versioned-macros/fixtures/inputs/default/generics_struct.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/generics_struct.rs index 531db5bb9..572912949 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/generics_struct.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/generics_struct.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned(version(name = "v1alpha1"), version(name = "v1"))] // --- pub struct Foo @@ -7,3 +9,5 @@ where bar: T, baz: u8, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/module.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/module.rs similarity index 88% rename from crates/stackable-versioned-macros/fixtures/inputs/default/module.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/module.rs index e16336ed7..e87d10a2f 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/module.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/module.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1"), @@ -21,3 +23,5 @@ pub(crate) mod versioned { baz: String, } } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/module_preserve.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/module_preserve.rs similarity index 87% rename from crates/stackable-versioned-macros/fixtures/inputs/default/module_preserve.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/module_preserve.rs index d6d3c3b38..8bbb08224 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/module_preserve.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/module_preserve.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1"), @@ -21,3 +23,5 @@ pub(crate) mod versioned { baz: String, } } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/rename.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/rename.rs similarity index 77% rename from crates/stackable-versioned-macros/fixtures/inputs/default/rename.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/rename.rs index 4cfb1f0a4..bad659ea9 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/rename.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/rename.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1beta1"), @@ -9,3 +11,5 @@ struct Foo { bar: usize, baz: bool, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_for_version.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_for_version.rs similarity index 82% rename from crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_for_version.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_for_version.rs index bb7c6dfe0..f80c496d9 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_for_version.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_for_version.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1beta1", skip(from)), @@ -12,3 +14,5 @@ pub struct Foo { deprecated_bar: usize, baz: bool, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_module.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_module.rs similarity index 80% rename from crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_module.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_module.rs index 4ba3d1a87..e5d033ac3 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_module.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_module.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1beta1"), @@ -12,3 +14,5 @@ pub(crate) mod versioned { baz: bool, } } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_module_for_version.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_module_for_version.rs similarity index 85% rename from crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_module_for_version.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_module_for_version.rs index b50a410a6..456cb4ffb 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_module_for_version.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_module_for_version.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1beta1", skip(from)), @@ -19,3 +21,5 @@ pub(crate) mod versioned { faz: bool, } } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/default/submodule.rs b/crates/stackable-versioned-macros/tests/inputs/default/pass/submodule.rs similarity index 54% rename from crates/stackable-versioned-macros/fixtures/inputs/default/submodule.rs rename to crates/stackable-versioned-macros/tests/inputs/default/pass/submodule.rs index b1665c729..cf4e6b563 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/default/submodule.rs +++ b/crates/stackable-versioned-macros/tests/inputs/default/pass/submodule.rs @@ -1,7 +1,10 @@ +use stackable_versioned::versioned; +// --- #[versioned(version(name = "v1alpha1"), version(name = "v1"))] // --- mod versioned { mod v1alpha1 { + #[allow(unused_imports)] pub use my::reexport::v1alpha1::*; } @@ -9,3 +12,11 @@ mod versioned { bar: usize, } } +// --- +fn main() {} + +mod my { + pub mod reexport { + pub mod v1alpha1 {} + } +} diff --git a/crates/stackable-versioned-macros/tests/k8s/fail/crd.rs b/crates/stackable-versioned-macros/tests/inputs/k8s/fail/crd.rs similarity index 100% rename from crates/stackable-versioned-macros/tests/k8s/fail/crd.rs rename to crates/stackable-versioned-macros/tests/inputs/k8s/fail/crd.rs diff --git a/crates/stackable-versioned-macros/tests/k8s/fail/crd.stderr b/crates/stackable-versioned-macros/tests/inputs/k8s/fail/crd.stderr similarity index 81% rename from crates/stackable-versioned-macros/tests/k8s/fail/crd.stderr rename to crates/stackable-versioned-macros/tests/inputs/k8s/fail/crd.stderr index cbd2faa7e..2fdc1a566 100644 --- a/crates/stackable-versioned-macros/tests/k8s/fail/crd.stderr +++ b/crates/stackable-versioned-macros/tests/inputs/k8s/fail/crd.stderr @@ -1,11 +1,11 @@ error: struct name needs to include the `Spec` suffix if Kubernetes features are enabled via `#[versioned(k8s())]` - --> tests/k8s/fail/crd.rs:14:16 + --> tests/inputs/k8s/fail/crd.rs:14:16 | 14 | pub struct Foo { | ^^^ error[E0433]: failed to resolve: use of undeclared type `Foo` - --> tests/k8s/fail/crd.rs:23:22 + --> tests/inputs/k8s/fail/crd.rs:23:22 | 23 | let merged_crd = Foo::merged_crd("v1").unwrap(); | ^^^ use of undeclared type `Foo` diff --git a/crates/stackable-versioned-macros/fixtures/inputs/k8s/basic.rs b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/basic.rs similarity index 89% rename from crates/stackable-versioned-macros/fixtures/inputs/k8s/basic.rs rename to crates/stackable-versioned-macros/tests/inputs/k8s/pass/basic.rs index 275c43b86..95499f5d8 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/k8s/basic.rs +++ b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/basic.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1beta1"), @@ -21,3 +23,5 @@ pub(crate) struct FooSpec { bar: usize, baz: bool, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/k8s/crate_overrides.rs b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/crate_overrides.rs similarity index 90% rename from crates/stackable-versioned-macros/fixtures/inputs/k8s/crate_overrides.rs rename to crates/stackable-versioned-macros/tests/inputs/k8s/pass/crate_overrides.rs index 8b441cd03..e6a21dbb2 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/k8s/crate_overrides.rs +++ b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/crate_overrides.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1beta1"), @@ -24,3 +26,5 @@ pub struct FooSpec { bar: usize, baz: bool, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/k8s/module.rs b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/module.rs similarity index 94% rename from crates/stackable-versioned-macros/fixtures/inputs/k8s/module.rs rename to crates/stackable-versioned-macros/tests/inputs/k8s/pass/module.rs index 06822a914..d633bbdb0 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/k8s/module.rs +++ b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/module.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1"), @@ -48,3 +50,5 @@ pub(crate) mod versioned { Shaq, } } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/k8s/module_preserve.rs b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/module_preserve.rs similarity index 94% rename from crates/stackable-versioned-macros/fixtures/inputs/k8s/module_preserve.rs rename to crates/stackable-versioned-macros/tests/inputs/k8s/pass/module_preserve.rs index 14b338f18..3fdf905a8 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/k8s/module_preserve.rs +++ b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/module_preserve.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1"), @@ -49,3 +51,5 @@ pub(crate) mod versioned { Shaq, } } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/k8s/renamed_kind.rs b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/renamed_kind.rs similarity index 89% rename from crates/stackable-versioned-macros/fixtures/inputs/k8s/renamed_kind.rs rename to crates/stackable-versioned-macros/tests/inputs/k8s/pass/renamed_kind.rs index 8cfa272df..29c99d76f 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/k8s/renamed_kind.rs +++ b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/renamed_kind.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1beta1"), @@ -22,3 +24,5 @@ pub struct FooSpec { bar: usize, baz: bool, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/k8s/shortnames.rs b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/shortnames.rs similarity index 80% rename from crates/stackable-versioned-macros/fixtures/inputs/k8s/shortnames.rs rename to crates/stackable-versioned-macros/tests/inputs/k8s/pass/shortnames.rs index aa43ca7b0..9ae034db3 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/k8s/shortnames.rs +++ b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/shortnames.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), k8s(group = "stackable.tech", shortname = "f", shortname = "fo",) @@ -7,3 +9,5 @@ Clone, Debug, serde::Deserialize, serde::Serialize, schemars::JsonSchema, kube::CustomResource, )] pub(crate) struct FooSpec {} +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/fixtures/inputs/k8s/skip.rs b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/skip.rs similarity index 89% rename from crates/stackable-versioned-macros/fixtures/inputs/k8s/skip.rs rename to crates/stackable-versioned-macros/tests/inputs/k8s/pass/skip.rs index 651ca184e..773b0ff16 100644 --- a/crates/stackable-versioned-macros/fixtures/inputs/k8s/skip.rs +++ b/crates/stackable-versioned-macros/tests/inputs/k8s/pass/skip.rs @@ -1,3 +1,5 @@ +use stackable_versioned::versioned; +// --- #[versioned( version(name = "v1alpha1"), version(name = "v1beta1"), @@ -22,3 +24,5 @@ pub struct FooSpec { bar: usize, baz: bool, } +// --- +fn main() {} diff --git a/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@added.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@added.rs.snap new file mode 100644 index 000000000..01950c0b4 --- /dev/null +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@added.rs.snap @@ -0,0 +1,67 @@ +--- +source: crates/stackable-versioned-macros/src/lib.rs +expression: formatted +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/added.rs +--- +#[automatically_derived] +mod v1alpha1 { + use super::*; + pub struct Foo { + pub username: String, + } +} +#[automatically_derived] +impl ::std::convert::From for v1alpha2::Foo { + fn from(__sv_foo: v1alpha1::Foo) -> Self { + Self { + username: __sv_foo.username.into(), + first_name: default_first_name(), + } + } +} +#[automatically_derived] +mod v1alpha2 { + use super::*; + pub struct Foo { + pub username: String, + pub first_name: String, + } +} +#[automatically_derived] +impl ::std::convert::From for v1beta1::Foo { + fn from(__sv_foo: v1alpha2::Foo) -> Self { + Self { + username: __sv_foo.username.into(), + first_name: __sv_foo.first_name.into(), + last_name: ::std::default::Default::default(), + } + } +} +#[automatically_derived] +mod v1beta1 { + use super::*; + pub struct Foo { + pub username: String, + pub first_name: String, + pub last_name: String, + } +} +#[automatically_derived] +impl ::std::convert::From for v1::Foo { + fn from(__sv_foo: v1beta1::Foo) -> Self { + Self { + username: __sv_foo.username.into(), + first_name: __sv_foo.first_name.into(), + last_name: __sv_foo.last_name.into(), + } + } +} +#[automatically_derived] +mod v1 { + use super::*; + pub struct Foo { + pub username: String, + pub first_name: String, + pub last_name: String, + } +} diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@attribute_enum.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@attribute_enum.rs.snap similarity index 96% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@attribute_enum.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@attribute_enum.rs.snap index 22a6eaa73..d2ae4b57b 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@attribute_enum.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@attribute_enum.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/attribute_enum.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/attribute_enum.rs --- #[automatically_derived] mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@attribute_struct.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@attribute_struct.rs.snap similarity index 96% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@attribute_struct.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@attribute_struct.rs.snap index 05b0bfd21..d4c560ee1 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@attribute_struct.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@attribute_struct.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/attribute_struct.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/attribute_struct.rs --- #[automatically_derived] mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@basic_struct.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@basic_struct.rs.snap similarity index 96% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@basic_struct.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@basic_struct.rs.snap index 93dea7303..6bacdab22 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@basic_struct.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@basic_struct.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/basic_struct.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/basic_struct.rs --- #[automatically_derived] #[deprecated = "Version v1alpha1 is deprecated"] diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@convert_with.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@convert_with.rs.snap similarity index 90% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@convert_with.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@convert_with.rs.snap index ae5a50e8e..5d3a432dd 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@convert_with.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@convert_with.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/convert_with.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/convert_with.rs --- #[automatically_derived] mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@deprecate_enum.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@deprecate_enum.rs.snap similarity index 95% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@deprecate_enum.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@deprecate_enum.rs.snap index df0e35530..a0ca3f518 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@deprecate_enum.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@deprecate_enum.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/deprecate_enum.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/deprecate_enum.rs --- #[automatically_derived] mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@deprecate_struct.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@deprecate_struct.rs.snap similarity index 95% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@deprecate_struct.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@deprecate_struct.rs.snap index c23badb37..0b141ae28 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@deprecate_struct.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@deprecate_struct.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/deprecate_struct.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/deprecate_struct.rs --- #[automatically_derived] mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@enum_data_simple.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@enum_data_simple.rs.snap similarity index 88% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@enum_data_simple.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@enum_data_simple.rs.snap index d945ef961..6bc2a4efd 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@enum_data_simple.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@enum_data_simple.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/enum_data_simple.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/enum_data_simple.rs --- #[automatically_derived] mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_defaults.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_defaults.rs.snap similarity index 88% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_defaults.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_defaults.rs.snap index aa4910bda..0d97edfab 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_defaults.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_defaults.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/generics_defaults.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/generics_defaults.rs --- #[automatically_derived] pub mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_enum.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_enum.rs.snap similarity index 88% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_enum.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_enum.rs.snap index 8adccda04..bdcd82562 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_enum.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_enum.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/generics_enum.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/generics_enum.rs --- #[automatically_derived] pub mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_module.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_module.rs.snap similarity index 93% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_module.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_module.rs.snap index 72c56daa2..033a18f3b 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_module.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_module.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/generics_module.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/generics_module.rs --- #[automatically_derived] pub mod versioned { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_struct.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_struct.rs.snap similarity index 88% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_struct.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_struct.rs.snap index 76781812f..7504298eb 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_struct.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@generics_struct.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/generics_struct.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/generics_struct.rs --- #[automatically_derived] pub mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@module.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@module.rs.snap similarity index 95% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@module.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@module.rs.snap index 5b91b66f9..073eb41cd 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@module.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@module.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/module.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/module.rs --- #[automatically_derived] pub(crate) mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@module_preserve.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@module_preserve.rs.snap similarity index 95% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@module_preserve.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@module_preserve.rs.snap index b74af9f05..0e818835b 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@module_preserve.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@module_preserve.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/module_preserve.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/module_preserve.rs --- #[automatically_derived] pub(crate) mod versioned { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@rename.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@rename.rs.snap similarity index 92% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@rename.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@rename.rs.snap index bf200c9f5..a01141775 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@rename.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@rename.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/rename.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/rename.rs --- #[automatically_derived] mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@skip_from_for_version.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@skip_from_for_version.rs.snap similarity index 88% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@skip_from_for_version.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@skip_from_for_version.rs.snap index 1dd6c5a6a..84d4bf428 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@skip_from_for_version.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@skip_from_for_version.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_for_version.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_for_version.rs --- #[automatically_derived] pub mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@skip_from_module.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@skip_from_module.rs.snap similarity index 79% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@skip_from_module.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@skip_from_module.rs.snap index 33f8fdeee..75dc220f9 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@skip_from_module.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@skip_from_module.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_module.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_module.rs --- #[automatically_derived] pub(crate) mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@skip_from_module_for_version.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@skip_from_module_for_version.rs.snap similarity index 92% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@skip_from_module_for_version.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@skip_from_module_for_version.rs.snap index 8db99d15c..209dbcd95 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@skip_from_module_for_version.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@skip_from_module_for_version.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/skip_from_module_for_version.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/skip_from_module_for_version.rs --- #[automatically_derived] pub(crate) mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@submodule.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@submodule.rs.snap similarity index 81% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@submodule.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@submodule.rs.snap index 7b6b9bc3d..49d7b51b1 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@submodule.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__default@submodule.rs.snap @@ -1,11 +1,12 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/default/submodule.rs +input_file: crates/stackable-versioned-macros/tests/inputs/default/pass/submodule.rs --- #[automatically_derived] mod v1alpha1 { use super::*; + #[allow(unused_imports)] pub use my::reexport::v1alpha1::*; pub struct Foo { pub bar: usize, diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@basic.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@basic.rs.snap similarity index 97% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@basic.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@basic.rs.snap index 83bab4878..babcabc0b 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@basic.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@basic.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/k8s/basic.rs +input_file: crates/stackable-versioned-macros/tests/inputs/k8s/pass/basic.rs --- #[automatically_derived] pub(crate) mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@crate_overrides.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@crate_overrides.rs.snap similarity index 97% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@crate_overrides.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@crate_overrides.rs.snap index 2999586ad..d48520b30 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@crate_overrides.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@crate_overrides.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/k8s/crate_overrides.rs +input_file: crates/stackable-versioned-macros/tests/inputs/k8s/pass/crate_overrides.rs --- #[automatically_derived] pub mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@module.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@module.rs.snap similarity index 98% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@module.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@module.rs.snap index d01dbc544..05b547893 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@module.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@module.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/k8s/module.rs +input_file: crates/stackable-versioned-macros/tests/inputs/k8s/pass/module.rs --- #[automatically_derived] pub(crate) mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@module_preserve.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@module_preserve.rs.snap similarity index 98% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@module_preserve.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@module_preserve.rs.snap index 601a8a0a9..ed18728fd 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@module_preserve.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@module_preserve.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/k8s/module_preserve.rs +input_file: crates/stackable-versioned-macros/tests/inputs/k8s/pass/module_preserve.rs --- #[automatically_derived] pub(crate) mod versioned { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@renamed_kind.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@renamed_kind.rs.snap similarity index 97% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@renamed_kind.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@renamed_kind.rs.snap index fbda4713a..60f5201f8 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@renamed_kind.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@renamed_kind.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/k8s/renamed_kind.rs +input_file: crates/stackable-versioned-macros/tests/inputs/k8s/pass/renamed_kind.rs --- #[automatically_derived] pub mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@shortnames.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@shortnames.rs.snap similarity index 94% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@shortnames.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@shortnames.rs.snap index b92e44ecb..582d1db4e 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@shortnames.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@shortnames.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/k8s/shortnames.rs +input_file: crates/stackable-versioned-macros/tests/inputs/k8s/pass/shortnames.rs --- #[automatically_derived] pub(crate) mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@skip.rs.snap b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@skip.rs.snap similarity index 96% rename from crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@skip.rs.snap rename to crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@skip.rs.snap index 39f0b2263..c78bc3cc4 100644 --- a/crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__k8s_snapshots@skip.rs.snap +++ b/crates/stackable-versioned-macros/tests/snapshots/stackable_versioned_macros__snapshot_tests__k8s@skip.rs.snap @@ -1,7 +1,7 @@ --- source: crates/stackable-versioned-macros/src/lib.rs expression: formatted -input_file: crates/stackable-versioned-macros/fixtures/inputs/k8s/skip.rs +input_file: crates/stackable-versioned-macros/tests/inputs/k8s/pass/skip.rs --- #[automatically_derived] pub mod v1alpha1 { diff --git a/crates/stackable-versioned-macros/tests/trybuild.rs b/crates/stackable-versioned-macros/tests/trybuild.rs index dbe5f1d63..891cc6023 100644 --- a/crates/stackable-versioned-macros/tests/trybuild.rs +++ b/crates/stackable-versioned-macros/tests/trybuild.rs @@ -15,32 +15,65 @@ // syntax highlighting and code completion. You will need to comment them out // again but before running tests, otherwise compilation will fail (as expected). #[allow(dead_code)] -mod default { - // mod fail { - // mod deprecate; - // mod skip_from_all; - // mod skip_from_version; - // } +mod inputs { + mod default { + mod pass { + // mod attribute_enum; + // mod attribute_struct; + // mod basic_struct; + // mod convert_with; + // mod deprecate_enum; + // mod deprecate_struct; + // mod enum_data_simple; + // mod generics_defaults; + // mod generics_module; + // mod generics_struct; + // mod module; + // mod module_preserve; + // mod rename; + // mod skip_from_for_version; + // mod skip_from_module; + // mod skip_from_module_for_version; + // mod submodule; + } + mod fail { + // mod changed; + // mod deprecate; + // mod skip_from_all; + // mod skip_from_version; + // mod submodule_invalid_name; + // mod submodule_use_statement; + } + } + + #[cfg(feature = "k8s")] + mod k8s { + mod pass { + // mod basic; + // mod crate_overrides; + // mod module; + // mod module_preserve; + // mod renamed_kind; + // mod shortnames; + // mod skip; + } + + mod fail { + // mod crd; + } + } } #[test] -fn default_macros() { +fn default() { let t = trybuild::TestCases::new(); - t.compile_fail("tests/default/fail/*.rs"); - t.pass("tests/default/pass/*.rs"); -} - -#[cfg(feature = "k8s")] -#[allow(dead_code)] -mod k8s { - // mod fail { - // mod crd; - // } + t.compile_fail("tests/inputs/default/fail/*.rs"); + t.pass("tests/inputs/default/pass/*.rs"); } #[cfg(feature = "k8s")] #[test] -fn k8s_macros() { +fn k8s() { let t = trybuild::TestCases::new(); - t.compile_fail("tests/k8s/fail/*.rs"); + t.compile_fail("tests/inputs/k8s/fail/*.rs"); }