anor_common/utils/
build_profile.rs1#[derive(Debug, PartialEq)]
4pub enum BuildProfile {
5 Release,
7
8 Dev,
10
11 Test,
13 }
16
17pub fn debug_mode() -> bool {
19 #[cfg(debug_assertions)]
20 return true;
21
22 #[cfg(not(debug_assertions))]
23 return false;
24}
25
26pub fn is_cargo_test() -> bool {
28 build_profile() == BuildProfile::Test
29}
30
31pub fn build_profile() -> BuildProfile {
33 if cfg!(test) {
34 return BuildProfile::Test;
35 }
36 if debug_mode() {
37 return BuildProfile::Dev;
38 }
39
40 BuildProfile::Release
41}
42
43#[cfg(test)]
44mod test {
45 use crate::utils::build_profile::*;
46
47 #[test]
48 fn build_profile_test() {
49 assert_eq!(build_profile(), BuildProfile::Test);
50 }
51
52 #[test]
53 fn is_build_profile_test_() {
54 assert!(is_cargo_test());
55 }
56
57 #[test]
58 fn debug_mode_test() {
59 assert!(debug_mode());
60 }
61}