summaryrefslogtreecommitdiffstats
path: root/rust/vendor/rustversion/tests/test_parse.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 17:39:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 17:39:49 +0000
commita0aa2307322cd47bbf416810ac0292925e03be87 (patch)
tree37076262a026c4b48c8a0e84f44ff9187556ca35 /rust/vendor/rustversion/tests/test_parse.rs
parentInitial commit. (diff)
downloadsuricata-a0aa2307322cd47bbf416810ac0292925e03be87.tar.xz
suricata-a0aa2307322cd47bbf416810ac0292925e03be87.zip
Adding upstream version 1:7.0.3.upstream/1%7.0.3
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'rust/vendor/rustversion/tests/test_parse.rs')
-rw-r--r--rust/vendor/rustversion/tests/test_parse.rs103
1 files changed, 103 insertions, 0 deletions
diff --git a/rust/vendor/rustversion/tests/test_parse.rs b/rust/vendor/rustversion/tests/test_parse.rs
new file mode 100644
index 0000000..95064ee
--- /dev/null
+++ b/rust/vendor/rustversion/tests/test_parse.rs
@@ -0,0 +1,103 @@
+#![allow(
+ clippy::derive_partial_eq_without_eq,
+ clippy::enum_glob_use,
+ clippy::must_use_candidate
+)]
+
+include!("../build/rustc.rs");
+
+#[test]
+fn test_parse() {
+ let cases = &[
+ (
+ "rustc 1.0.0 (a59de37e9 2015-05-13) (built 2015-05-14)",
+ Version {
+ minor: 0,
+ patch: 0,
+ channel: Stable,
+ },
+ ),
+ (
+ "rustc 1.18.0",
+ Version {
+ minor: 18,
+ patch: 0,
+ channel: Stable,
+ },
+ ),
+ (
+ "rustc 1.24.1 (d3ae9a9e0 2018-02-27)",
+ Version {
+ minor: 24,
+ patch: 1,
+ channel: Stable,
+ },
+ ),
+ (
+ "rustc 1.35.0-beta.3 (c13114dc8 2019-04-27)",
+ Version {
+ minor: 35,
+ patch: 0,
+ channel: Beta,
+ },
+ ),
+ (
+ "rustc 1.36.0-nightly (938d4ffe1 2019-04-27)",
+ Version {
+ minor: 36,
+ patch: 0,
+ channel: Nightly(Date {
+ year: 2019,
+ month: 4,
+ day: 27,
+ }),
+ },
+ ),
+ (
+ "rustc 1.36.0-dev",
+ Version {
+ minor: 36,
+ patch: 0,
+ channel: Dev,
+ },
+ ),
+ (
+ "rustc 1.36.0-nightly",
+ Version {
+ minor: 36,
+ patch: 0,
+ channel: Dev,
+ },
+ ),
+ (
+ "warning: invalid logging spec 'warning', ignoring it
+ rustc 1.30.0-nightly (3bc2ca7e4 2018-09-20)",
+ Version {
+ minor: 30,
+ patch: 0,
+ channel: Nightly(Date {
+ year: 2018,
+ month: 9,
+ day: 20,
+ }),
+ },
+ ),
+ (
+ "rustc 1.52.1-nightly (gentoo)",
+ Version {
+ minor: 52,
+ patch: 1,
+ channel: Dev,
+ },
+ ),
+ ];
+
+ for (string, expected) in cases {
+ match parse(string) {
+ ParseResult::Success(version) => assert_eq!(version, *expected),
+ ParseResult::OopsClippy | ParseResult::Unrecognized => {
+ panic!("unrecognized: {:?}", string);
+ }
+ }
+ }
+}