diff --git a/os_info/src/linux/file_release.rs b/os_info/src/linux/file_release.rs index 4374a438..0cebba1d 100644 --- a/os_info/src/linux/file_release.rs +++ b/os_info/src/linux/file_release.rs @@ -7,12 +7,12 @@ use log::{trace, warn}; use crate::{matcher::Matcher, Bitness, Info, Type, Version}; pub fn get() -> Option { - retrieve(&DISTRIBUTIONS) + retrieve(&DISTRIBUTIONS, "/") } -fn retrieve(distributions: &[ReleaseInfo]) -> Option { +fn retrieve(distributions: &[ReleaseInfo], root: &str) -> Option { for release_info in distributions { - let path = Path::new(release_info.path); + let path = Path::new(root).join(release_info.path); if !path.exists() { trace!("Path '{}' doesn't exist", release_info.path); @@ -71,11 +71,11 @@ fn retrieve(distributions: &[ReleaseInfo]) -> Option { /// ``` #[derive(Clone)] struct ReleaseInfo<'a> { - /// The release file the struct corresponds to. + /// Relative path to the release file this struct corresponds to from root. /// /// # Example /// ```rust,ignore - /// path: "/etc/os-release" + /// path: "etc/os-release" /// ``` path: &'a str, @@ -116,7 +116,7 @@ impl fmt::Debug for ReleaseInfo<'_> { static DISTRIBUTIONS: [ReleaseInfo; 6] = [ // Keep this first; most modern distributions have this file. ReleaseInfo { - path: "/etc/os-release", + path: "etc/os-release", os_type: |release| { Matcher::KeyValue { key: "ID" } .find(release) @@ -180,7 +180,7 @@ static DISTRIBUTIONS: [ReleaseInfo; 6] = [ }, // Older distributions must have their specific release file parsed. ReleaseInfo { - path: "/etc/mariner-release", + path: "etc/mariner-release", os_type: |_| Some(Type::Mariner), version: |release| { Matcher::PrefixedVersion { @@ -191,7 +191,7 @@ static DISTRIBUTIONS: [ReleaseInfo; 6] = [ }, }, ReleaseInfo { - path: "/etc/centos-release", + path: "etc/centos-release", os_type: |_| Some(Type::CentOS), version: |release| { Matcher::PrefixedVersion { prefix: "release" } @@ -200,7 +200,7 @@ static DISTRIBUTIONS: [ReleaseInfo; 6] = [ }, }, ReleaseInfo { - path: "/etc/fedora-release", + path: "etc/fedora-release", os_type: |_| Some(Type::Fedora), version: |release| { Matcher::PrefixedVersion { prefix: "release" } @@ -209,12 +209,12 @@ static DISTRIBUTIONS: [ReleaseInfo; 6] = [ }, }, ReleaseInfo { - path: "/etc/alpine-release", + path: "etc/alpine-release", os_type: |_| Some(Type::Alpine), version: |release| Matcher::AllTrimmed.find(release).map(Version::from_string), }, ReleaseInfo { - path: "/etc/redhat-release", + path: "etc/redhat-release", os_type: |_| Some(Type::RedHatEnterprise), version: |release| { Matcher::PrefixedVersion { prefix: "release" } @@ -230,35 +230,32 @@ mod tests { use pretty_assertions::assert_eq; #[test] - fn oracle_linux() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release"; + fn alpine_3_12_os_release() { + let root = "src/linux/tests/Alpine_3_12"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::OracleLinux); - assert_eq!(info.version, Version::Semantic(8, 1, 0)); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::Alpine); + assert_eq!(info.version, Version::Semantic(3, 12, 0)); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn os_release_alpine_3_12() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-alpine-3-12"; + fn alpine_release() { + let root = "src/linux/tests/Alpine"; - let info = retrieve(&distributions).unwrap(); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); assert_eq!(info.os_type(), Type::Alpine); - assert_eq!(info.version, Version::Semantic(3, 12, 0)); + assert_eq!(info.version, Version::Custom("A.B.C".to_owned())); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn os_release_amazon_1() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-amazon-1"; + fn amazon_1_os_release() { + let root = "src/linux/tests/Amazon_1"; - let info = retrieve(&distributions).unwrap(); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); assert_eq!(info.os_type(), Type::Amazon); assert_eq!(info.version, Version::Semantic(2018, 3, 0)); assert_eq!(info.edition, None); @@ -266,11 +263,10 @@ mod tests { } #[test] - fn os_release_amazon_2() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-amazon-2"; + fn amazon_2_os_release() { + let root = "src/linux/tests/Amazon_2"; - let info = retrieve(&distributions).unwrap(); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); assert_eq!(info.os_type(), Type::Amazon); assert_eq!(info.version, Version::Semantic(2, 0, 0)); assert_eq!(info.edition, None); @@ -278,11 +274,10 @@ mod tests { } #[test] - fn os_release_centos() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-centos"; + fn centos_7_os_release() { + let root = "src/linux/tests/CentOS_7"; - let info = retrieve(&distributions).unwrap(); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); assert_eq!(info.os_type(), Type::CentOS); assert_eq!(info.version, Version::Semantic(7, 0, 0)); assert_eq!(info.edition, None); @@ -290,11 +285,10 @@ mod tests { } #[test] - fn os_release_centos_stream() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-centos-stream"; + fn centos_stream_os_release() { + let root = "src/linux/tests/CentOS_Stream"; - let info = retrieve(&distributions).unwrap(); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); assert_eq!(info.os_type(), Type::CentOS); assert_eq!(info.version, Version::Semantic(8, 0, 0)); assert_eq!(info.edition, None); @@ -302,11 +296,32 @@ mod tests { } #[test] - fn os_release_fedora() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-fedora-32"; + fn centos_release() { + let root = "src/linux/tests/CentOS"; + + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::CentOS); + assert_eq!(info.version, Version::Custom("XX".to_owned())); + assert_eq!(info.edition, None); + assert_eq!(info.codename, None); + } + + #[test] + fn centos_release_unknown() { + let root = "src/linux/tests/CentOS_Unknown"; + + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::CentOS); + assert_eq!(info.version, Version::Unknown); + assert_eq!(info.edition, None); + assert_eq!(info.codename, None); + } + + #[test] + fn fedora_32_os_release() { + let root = "src/linux/tests/Fedora_32"; - let info = retrieve(&distributions).unwrap(); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); assert_eq!(info.os_type(), Type::Fedora); assert_eq!(info.version, Version::Semantic(32, 0, 0)); assert_eq!(info.edition, None); @@ -314,11 +329,10 @@ mod tests { } #[test] - fn os_release_fedora_35() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-fedora-35"; + fn fedora_35_os_release() { + let root = "src/linux/tests/Fedora_35"; - let info = retrieve(&distributions).unwrap(); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); assert_eq!(info.os_type(), Type::Fedora); assert_eq!(info.version, Version::Semantic(35, 0, 0)); assert_eq!(info.edition, None); @@ -326,122 +340,136 @@ mod tests { } #[test] - fn os_release_nixos() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-nixos"; + fn fedora_release() { + let root = "src/linux/tests/Fedora"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::NixOS); - assert_eq!( - info.version, - Version::Custom("21.05pre275822.916ee862e87".to_string()) - ); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::Fedora); + assert_eq!(info.version, Version::Semantic(26, 0, 0)); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn os_release_rhel() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-rhel"; + fn fedora_release_unknown() { + let root = "src/linux/tests/Fedora_Unknown"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::RedHatEnterprise); - assert_eq!(info.version, Version::Semantic(8, 2, 0)); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::Fedora); + assert_eq!(info.version, Version::Unknown); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn os_release_rhel_7() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-rhel-7"; + fn mariner_release() { + let root = "src/linux/tests/Mariner"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::RedHatEnterprise); - assert_eq!(info.version, Version::Semantic(7, 9, 0)); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::Mariner); + assert_eq!(info.version, Version::Semantic(2, 0, 20220210)); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn os_release_suse_12() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-suse-12"; + fn mariner_release_unknown() { + let root = "src/linux/tests/Mariner_Unknown"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::SUSE); - assert_eq!(info.version, Version::Semantic(12, 5, 0)); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::Mariner); + assert_eq!(info.version, Version::Unknown); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn os_release_suse_15() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-suse-15"; + fn mint_os_release() { + let root = "src/linux/tests/Mint"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::SUSE); - assert_eq!(info.version, Version::Semantic(15, 2, 0)); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::Mint); + assert_eq!(info.version, Version::Semantic(20, 0, 0)); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn os_release_ubuntu() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-ubuntu"; + fn nixos_os_release() { + let root = "src/linux/tests/NixOS"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::Ubuntu); - assert_eq!(info.version, Version::Semantic(18, 10, 0)); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::NixOS); + assert_eq!( + info.version, + Version::Custom("21.05pre275822.916ee862e87".to_string()) + ); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn os_release_mint() { - let mut distributions = [DISTRIBUTIONS[0].clone()]; - distributions[0].path = "src/linux/tests/os-release-mint"; + fn none_invalid_os_release() { + let root = "src/linux/tests/none_invalid_os_release"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::Mint); - assert_eq!(info.version, Version::Semantic(20, 0, 0)); + let info = retrieve(&DISTRIBUTIONS, root); + assert_eq!(info, None); + } + + #[test] + fn none_no_release() { + let root = "src/linux/tests/none_no_release"; + + let info = retrieve(&DISTRIBUTIONS, root); + assert_eq!(info, None); + } + + #[test] + fn none_no_path() { + let root = "src/linux/tests/none_no_path"; + + let info = retrieve(&DISTRIBUTIONS, root); + assert_eq!(info, None); + } + + #[test] + fn oracle_linux_os_release() { + let root = "src/linux/tests/OracleLinux"; + + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::OracleLinux); + assert_eq!(info.version, Version::Semantic(8, 1, 0)); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn centos() { - let mut distributions = [DISTRIBUTIONS[2].clone()]; - distributions[0].path = "src/linux/tests/centos-release"; + fn rhel_8_os_release() { + let root = "src/linux/tests/RedHatEnterprise_8"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::CentOS); - assert_eq!(info.version, Version::Custom("XX".to_owned())); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::RedHatEnterprise); + assert_eq!(info.version, Version::Semantic(8, 2, 0)); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn fedora() { - let mut distributions = [DISTRIBUTIONS[3].clone()]; - distributions[0].path = "src/linux/tests/fedora-release"; + fn rhel_7_os_release() { + let root = "src/linux/tests/RedHatEnterprise_7"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::Fedora); - assert_eq!(info.version, Version::Semantic(26, 0, 0)); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::RedHatEnterprise); + assert_eq!(info.version, Version::Semantic(7, 9, 0)); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn redhat() { - let mut distributions = [DISTRIBUTIONS[5].clone()]; - distributions[0].path = "src/linux/tests/redhat-release"; + fn redhat_release() { + let root = "src/linux/tests/RedHatEnterprise"; - let info = retrieve(&distributions).unwrap(); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); assert_eq!(info.os_type(), Type::RedHatEnterprise); assert_eq!(info.version, Version::Custom("XX".to_owned())); assert_eq!(info.edition, None); @@ -449,25 +477,45 @@ mod tests { } #[test] - fn alpine() { - let mut distributions = [DISTRIBUTIONS[4].clone()]; - distributions[0].path = "src/linux/tests/alpine-release"; + fn redhat_release_unknown() { + let root = "src/linux/tests/RedHatEnterprise_Unknown"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::Alpine); - assert_eq!(info.version, Version::Custom("A.B.C".to_owned())); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::RedHatEnterprise); + assert_eq!(info.version, Version::Unknown); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } #[test] - fn mariner() { - let mut distributions = [DISTRIBUTIONS[1].clone()]; - distributions[0].path = "src/linux/tests/mariner-release"; + fn suse_12_os_release() { + let root = "src/linux/tests/SUSE_12"; - let info = retrieve(&distributions).unwrap(); - assert_eq!(info.os_type(), Type::Mariner); - assert_eq!(info.version, Version::Semantic(2, 0, 20220210)); + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::SUSE); + assert_eq!(info.version, Version::Semantic(12, 5, 0)); + assert_eq!(info.edition, None); + assert_eq!(info.codename, None); + } + + #[test] + fn suse_15_os_release() { + let root = "src/linux/tests/SUSE_15"; + + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::SUSE); + assert_eq!(info.version, Version::Semantic(15, 2, 0)); + assert_eq!(info.edition, None); + assert_eq!(info.codename, None); + } + + #[test] + fn ubuntu_os_release() { + let root = "src/linux/tests/Ubuntu"; + + let info = retrieve(&DISTRIBUTIONS, root).unwrap(); + assert_eq!(info.os_type(), Type::Ubuntu); + assert_eq!(info.version, Version::Semantic(18, 10, 0)); assert_eq!(info.edition, None); assert_eq!(info.codename, None); } diff --git a/os_info/src/linux/tests/alpine-release b/os_info/src/linux/tests/Alpine/etc/alpine-release similarity index 100% rename from os_info/src/linux/tests/alpine-release rename to os_info/src/linux/tests/Alpine/etc/alpine-release diff --git a/os_info/src/linux/tests/os-release-alpine-3-12 b/os_info/src/linux/tests/Alpine_3_12/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-alpine-3-12 rename to os_info/src/linux/tests/Alpine_3_12/etc/os-release diff --git a/os_info/src/linux/tests/os-release-amazon-1 b/os_info/src/linux/tests/Amazon_1/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-amazon-1 rename to os_info/src/linux/tests/Amazon_1/etc/os-release diff --git a/os_info/src/linux/tests/os-release-amazon-2 b/os_info/src/linux/tests/Amazon_2/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-amazon-2 rename to os_info/src/linux/tests/Amazon_2/etc/os-release diff --git a/os_info/src/linux/tests/centos-release b/os_info/src/linux/tests/CentOS/etc/centos-release similarity index 100% rename from os_info/src/linux/tests/centos-release rename to os_info/src/linux/tests/CentOS/etc/centos-release diff --git a/os_info/src/linux/tests/os-release-centos b/os_info/src/linux/tests/CentOS_7/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-centos rename to os_info/src/linux/tests/CentOS_7/etc/os-release diff --git a/os_info/src/linux/tests/os-release-centos-stream b/os_info/src/linux/tests/CentOS_Stream/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-centos-stream rename to os_info/src/linux/tests/CentOS_Stream/etc/os-release diff --git a/os_info/src/linux/tests/CentOS_Unknown/etc/centos-release b/os_info/src/linux/tests/CentOS_Unknown/etc/centos-release new file mode 100644 index 00000000..e6b865bc --- /dev/null +++ b/os_info/src/linux/tests/CentOS_Unknown/etc/centos-release @@ -0,0 +1 @@ +Centos Linux diff --git a/os_info/src/linux/tests/fedora-release b/os_info/src/linux/tests/Fedora/etc/fedora-release similarity index 100% rename from os_info/src/linux/tests/fedora-release rename to os_info/src/linux/tests/Fedora/etc/fedora-release diff --git a/os_info/src/linux/tests/os-release-fedora-32 b/os_info/src/linux/tests/Fedora_32/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-fedora-32 rename to os_info/src/linux/tests/Fedora_32/etc/os-release diff --git a/os_info/src/linux/tests/os-release-fedora-35 b/os_info/src/linux/tests/Fedora_35/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-fedora-35 rename to os_info/src/linux/tests/Fedora_35/etc/os-release diff --git a/os_info/src/linux/tests/Fedora_Unknown/etc/fedora-release b/os_info/src/linux/tests/Fedora_Unknown/etc/fedora-release new file mode 100644 index 00000000..adc01153 --- /dev/null +++ b/os_info/src/linux/tests/Fedora_Unknown/etc/fedora-release @@ -0,0 +1 @@ +Fedora (Foo Bar) diff --git a/os_info/src/linux/tests/mariner-release b/os_info/src/linux/tests/Mariner/etc/mariner-release similarity index 100% rename from os_info/src/linux/tests/mariner-release rename to os_info/src/linux/tests/Mariner/etc/mariner-release diff --git a/os_info/src/linux/tests/Mariner_Unknown/etc/mariner-release b/os_info/src/linux/tests/Mariner_Unknown/etc/mariner-release new file mode 100644 index 00000000..d64fd530 --- /dev/null +++ b/os_info/src/linux/tests/Mariner_Unknown/etc/mariner-release @@ -0,0 +1 @@ +CBL-Mariner \ No newline at end of file diff --git a/os_info/src/linux/tests/os-release-mint b/os_info/src/linux/tests/Mint/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-mint rename to os_info/src/linux/tests/Mint/etc/os-release diff --git a/os_info/src/linux/tests/os-release-nixos b/os_info/src/linux/tests/NixOS/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-nixos rename to os_info/src/linux/tests/NixOS/etc/os-release diff --git a/os_info/src/linux/tests/os-release b/os_info/src/linux/tests/OracleLinux/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release rename to os_info/src/linux/tests/OracleLinux/etc/os-release diff --git a/os_info/src/linux/tests/OracleLinux/etc/redhat-release b/os_info/src/linux/tests/OracleLinux/etc/redhat-release new file mode 100644 index 00000000..994041ed --- /dev/null +++ b/os_info/src/linux/tests/OracleLinux/etc/redhat-release @@ -0,0 +1 @@ +Redhat Linux release XX \ No newline at end of file diff --git a/os_info/src/linux/tests/redhat-release b/os_info/src/linux/tests/RedHatEnterprise/etc/redhat-release similarity index 100% rename from os_info/src/linux/tests/redhat-release rename to os_info/src/linux/tests/RedHatEnterprise/etc/redhat-release diff --git a/os_info/src/linux/tests/os-release-rhel-7 b/os_info/src/linux/tests/RedHatEnterprise_7/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-rhel-7 rename to os_info/src/linux/tests/RedHatEnterprise_7/etc/os-release diff --git a/os_info/src/linux/tests/os-release-rhel b/os_info/src/linux/tests/RedHatEnterprise_8/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-rhel rename to os_info/src/linux/tests/RedHatEnterprise_8/etc/os-release diff --git a/os_info/src/linux/tests/RedHatEnterprise_Unknown/etc/redhat-release b/os_info/src/linux/tests/RedHatEnterprise_Unknown/etc/redhat-release new file mode 100644 index 00000000..e69de29b diff --git a/os_info/src/linux/tests/os-release-suse-12 b/os_info/src/linux/tests/SUSE_12/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-suse-12 rename to os_info/src/linux/tests/SUSE_12/etc/os-release diff --git a/os_info/src/linux/tests/os-release-suse-15 b/os_info/src/linux/tests/SUSE_15/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-suse-15 rename to os_info/src/linux/tests/SUSE_15/etc/os-release diff --git a/os_info/src/linux/tests/os-release-ubuntu b/os_info/src/linux/tests/Ubuntu/etc/os-release similarity index 100% rename from os_info/src/linux/tests/os-release-ubuntu rename to os_info/src/linux/tests/Ubuntu/etc/os-release diff --git a/os_info/src/linux/tests/none_invalid_os_release/etc/os-release b/os_info/src/linux/tests/none_invalid_os_release/etc/os-release new file mode 100644 index 00000000..92258e65 --- /dev/null +++ b/os_info/src/linux/tests/none_invalid_os_release/etc/os-release @@ -0,0 +1,2 @@ +ID="Lorem ipsum dolor sit amet" +VERSION_ID="It's all greek to me"