Loading lcov.info +300 −286 Original line number Diff line number Diff line Loading @@ -138,81 +138,79 @@ DA:55,0 DA:56,0 DA:58,0 DA:59,0 DA:62,0 DA:64,0 DA:66,0 DA:68,0 DA:69,0 DA:72,0 DA:73,0 DA:70,0 DA:71,0 DA:74,0 DA:77,0 DA:75,0 DA:76,0 DA:79,0 DA:80,0 DA:81,0 DA:82,0 DA:83,0 DA:86,0 DA:87,0 DA:85,0 DA:88,0 DA:89,0 DA:90,0 DA:91,0 DA:92,0 DA:93,0 DA:94,0 DA:95,0 DA:96,0 DA:97,0 DA:98,0 DA:99,0 DA:103,0 DA:104,0 DA:101,0 DA:105,0 DA:106,0 DA:107,0 DA:108,0 DA:112,0 DA:110,0 DA:114,0 DA:116,0 DA:117,0 DA:118,0 DA:119,0 DA:120,0 DA:121,0 DA:122,0 DA:123,0 DA:124,0 DA:129,0 DA:130,0 DA:126,0 DA:131,0 DA:134,0 DA:132,0 DA:133,0 DA:136,0 DA:138,0 DA:141,0 DA:140,0 DA:143,0 DA:145,0 DA:146,0 DA:147,0 DA:148,0 DA:149,0 DA:151,0 DA:153,0 DA:154,0 DA:155,0 DA:156,0 DA:157,0 DA:158,0 DA:159,0 DA:160,0 DA:163,0 DA:164,0 DA:167,0 DA:168,0 DA:161,0 DA:162,0 DA:165,0 DA:166,0 DA:169,0 DA:172,0 DA:170,0 DA:171,0 DA:174,0 DA:175,0 DA:178,0 DA:179,0 DA:183,0 DA:184,0 DA:176,0 DA:177,0 DA:180,0 DA:181,0 DA:185,0 DA:186,0 DA:187,0 DA:190,0 DA:191,0 DA:188,0 DA:189,0 DA:192,0 DA:193,0 DA:194,0 Loading @@ -222,13 +220,15 @@ DA:197,0 DA:198,0 DA:199,0 DA:200,0 DA:201,0 DA:202,0 DA:205,0 DA:208,0 DA:211,0 DA:204,0 DA:207,0 DA:210,0 DA:213,0 DA:216,0 DA:215,0 DA:218,0 DA:220,0 LF:118 LH:0 end_of_record Loading Loading @@ -374,39 +374,41 @@ FN:556,Label::run FN:560,Label::using FN:566,ModuleUri<'_>::from FN:576,ModuleUri<'_>::hash FN:590,ModuleUri<'_>::test FN:591,ModuleUri<'_>::test::check FN:610,ModuleUri<'_>::working_directory FN:622,SemanticVersion::from_string FN:643,Script::expand_arguments FN:673,Script::expand_arguments_from FN:706,Script::from_template FN:735,Script::from_path FN:747,Script::get_command FN:753,Script::get_arguments FN:764,Script::maybe_create_conda_environment FN:797,Script::maybe_git_clone FN:804,Script::python_default FN:817,Script::run FN:884,Script::with_current_dir FN:910,Script::with_environment FN:915,Script::with_envs FN:924,StringTemplate::new FN:933,StringTemplate::expand FN:940,StringTemplate::get_variable FN:970,StringTemplate::is_handlebars FN:994,StringTemplate::remove_spaces FN:1004,add_forward_slash FN:1012,get_conda_environment_list FN:1048,get_conda_environment_name FN:1080,get_extension FN:1084,get_parent FN:1097,has_extension FN:1107,is_stdin_piped FN:1121,is_stdout_piped FN:1139,read_file FN:1153,to_string FNF:59 FN:600,ModuleUri<'_>::get_whitelist FN:603,ModuleUri<'_>::is_allowed FN:606,ModuleUri<'_>::test FN:607,ModuleUri<'_>::test::check FN:627,ModuleUri<'_>::working_directory FN:639,SemanticVersion::from_string FN:660,Script::expand_arguments FN:690,Script::expand_arguments_from FN:723,Script::from_template FN:752,Script::from_path FN:764,Script::get_command FN:770,Script::get_arguments FN:781,Script::maybe_create_conda_environment FN:814,Script::maybe_git_clone FN:821,Script::python_default FN:834,Script::run FN:901,Script::with_current_dir FN:927,Script::with_environment FN:932,Script::with_envs FN:941,StringTemplate::new FN:950,StringTemplate::expand FN:957,StringTemplate::get_variable FN:987,StringTemplate::is_handlebars FN:1011,StringTemplate::remove_spaces FN:1021,add_forward_slash FN:1029,get_conda_environment_list FN:1065,get_conda_environment_name FN:1097,get_extension FN:1101,get_parent FN:1114,has_extension FN:1124,is_stdin_piped FN:1138,is_stdout_piped FN:1156,read_file FN:1170,to_string FNF:61 FNDA:1,Command::test FNDA:1,Config::read FNDA:1,Config::read_json Loading @@ -432,8 +434,10 @@ FNDA:0,Label::read FNDA:0,Label::rejected FNDA:0,Label::run FNDA:0,Label::using FNDA:1,ModuleUri<'_>::from FNDA:2,ModuleUri<'_>::from FNDA:1,ModuleUri<'_>::hash FNDA:0,ModuleUri<'_>::get_whitelist FNDA:0,ModuleUri<'_>::is_allowed FNDA:0,ModuleUri<'_>::test FNDA:0,ModuleUri<'_>::test::check FNDA:0,ModuleUri<'_>::working_directory Loading @@ -443,7 +447,7 @@ FNDA:1,Script::expand_arguments_from FNDA:1,Script::from_template FNDA:1,Script::from_path FNDA:1,Script::get_command FNDA:2,Script::get_arguments FNDA:1,Script::get_arguments FNDA:0,Script::maybe_create_conda_environment FNDA:1,Script::maybe_git_clone FNDA:0,Script::python_default Loading @@ -451,7 +455,7 @@ FNDA:1,Script::run FNDA:1,Script::with_current_dir FNDA:1,Script::with_environment FNDA:0,Script::with_envs FNDA:1,StringTemplate::new FNDA:2,StringTemplate::new FNDA:1,StringTemplate::expand FNDA:1,StringTemplate::get_variable FNDA:1,StringTemplate::is_handlebars Loading Loading @@ -493,15 +497,15 @@ DA:383,0 DA:384,0 DA:395,1 DA:396,2 DA:397,2 DA:397,3 DA:399,0 DA:400,0 DA:403,2 DA:404,1 DA:405,2 DA:403,4 DA:404,2 DA:405,4 DA:406,0 DA:408,6 DA:409,1 DA:408,12 DA:409,2 DA:416,1 DA:417,2 DA:418,1 Loading Loading @@ -548,9 +552,9 @@ DA:483,0 DA:485,0 DA:487,1 DA:488,1 DA:489,3 DA:490,3 DA:491,3 DA:489,2 DA:490,2 DA:491,2 DA:492,2 DA:493,1 DA:497,0 Loading Loading @@ -584,8 +588,8 @@ DA:540,0 DA:541,0 DA:542,0 DA:544,1 DA:545,1 DA:546,1 DA:545,3 DA:546,3 DA:548,0 DA:549,0 DA:550,0 Loading @@ -598,9 +602,9 @@ DA:558,0 DA:560,0 DA:561,0 DA:562,0 DA:566,1 DA:567,1 DA:568,2 DA:566,2 DA:567,2 DA:568,3 DA:569,1 DA:570,2 DA:571,0 Loading @@ -611,235 +615,245 @@ DA:578,1 DA:579,1 DA:580,1 DA:581,0 DA:583,4 DA:584,1 DA:586,0 DA:590,0 DA:591,0 DA:592,0 DA:593,0 DA:594,0 DA:583,2 DA:587,2 DA:588,2 DA:590,2 DA:591,2 DA:593,1 DA:596,0 DA:597,0 DA:598,0 DA:600,0 DA:601,0 DA:602,0 DA:603,0 DA:604,0 DA:606,0 DA:607,0 DA:608,0 DA:609,0 DA:610,0 DA:611,0 DA:612,0 DA:613,0 DA:614,0 DA:615,0 DA:616,0 DA:617,0 DA:622,1 DA:623,1 DA:624,3 DA:625,3 DA:626,3 DA:643,1 DA:644,2 DA:647,2 DA:648,1 DA:649,2 DA:650,1 DA:651,1 DA:653,2 DA:657,1 DA:658,1 DA:673,1 DA:674,3 DA:677,2 DA:678,2 DA:679,2 DA:680,2 DA:683,2 DA:685,1 DA:687,2 DA:691,1 DA:692,1 DA:706,1 DA:707,1 DA:708,3 DA:712,2 DA:714,2 DA:716,2 DA:719,1 DA:720,2 DA:721,2 DA:735,1 DA:736,2 DA:737,1 DA:739,0 DA:740,0 DA:743,2 DA:744,1 DA:745,1 DA:747,1 DA:748,1 DA:749,1 DA:750,2 DA:618,0 DA:619,0 DA:621,0 DA:623,0 DA:627,0 DA:628,0 DA:629,0 DA:630,0 DA:631,0 DA:633,0 DA:634,0 DA:639,1 DA:640,1 DA:641,3 DA:642,3 DA:643,3 DA:660,1 DA:661,2 DA:664,2 DA:665,1 DA:666,2 DA:667,1 DA:668,1 DA:670,2 DA:674,1 DA:675,1 DA:690,1 DA:691,2 DA:694,2 DA:695,1 DA:696,2 DA:697,2 DA:700,2 DA:702,1 DA:704,2 DA:708,1 DA:709,1 DA:723,1 DA:724,1 DA:725,3 DA:729,2 DA:731,2 DA:733,2 DA:736,1 DA:737,2 DA:738,2 DA:752,1 DA:753,2 DA:754,1 DA:755,1 DA:756,1 DA:757,2 DA:758,1 DA:756,0 DA:757,0 DA:760,2 DA:764,0 DA:765,0 DA:766,0 DA:767,0 DA:769,0 DA:770,0 DA:771,0 DA:772,0 DA:773,0 DA:774,0 DA:776,0 DA:777,0 DA:778,0 DA:779,0 DA:780,0 DA:761,1 DA:762,1 DA:764,1 DA:765,1 DA:766,1 DA:767,1 DA:770,1 DA:771,1 DA:772,1 DA:773,1 DA:774,2 DA:775,1 DA:777,1 DA:781,0 DA:782,0 DA:783,0 DA:784,0 DA:785,0 DA:786,0 DA:787,0 DA:788,0 DA:792,0 DA:789,0 DA:790,0 DA:791,0 DA:793,0 DA:797,1 DA:798,2 DA:799,2 DA:800,2 DA:801,1 DA:802,1 DA:804,0 DA:794,0 DA:795,0 DA:796,0 DA:797,0 DA:798,0 DA:799,0 DA:801,0 DA:802,0 DA:805,0 DA:806,0 DA:814,0 DA:817,1 DA:809,0 DA:810,0 DA:814,1 DA:815,2 DA:816,2 DA:817,2 DA:818,1 DA:819,1 DA:820,3 DA:821,3 DA:822,7 DA:823,2 DA:824,11 DA:825,3 DA:826,1 DA:827,1 DA:828,1 DA:829,1 DA:821,0 DA:822,0 DA:823,0 DA:831,0 DA:834,1 DA:835,2 DA:837,0 DA:838,0 DA:841,1 DA:835,1 DA:836,1 DA:837,2 DA:838,2 DA:839,5 DA:840,1 DA:841,6 DA:842,2 DA:843,4 DA:844,10 DA:845,4 DA:848,4 DA:849,2 DA:851,0 DA:852,0 DA:855,3 DA:856,3 DA:857,6 DA:858,0 DA:859,0 DA:862,6 DA:863,3 DA:864,9 DA:865,3 DA:866,15 DA:867,15 DA:868,3 DA:870,5 DA:871,5 DA:872,2 DA:843,1 DA:844,1 DA:845,1 DA:846,1 DA:851,1 DA:852,1 DA:854,0 DA:855,0 DA:858,1 DA:859,1 DA:860,2 DA:861,5 DA:862,2 DA:865,2 DA:866,1 DA:868,0 DA:869,0 DA:872,1 DA:873,1 DA:874,2 DA:875,0 DA:876,0 DA:877,0 DA:884,1 DA:885,2 DA:886,1 DA:910,1 DA:911,1 DA:912,1 DA:915,0 DA:916,0 DA:917,0 DA:924,1 DA:926,1 DA:933,1 DA:934,4 DA:935,3 DA:940,1 DA:879,2 DA:880,1 DA:881,3 DA:882,1 DA:883,5 DA:884,5 DA:885,1 DA:887,5 DA:888,5 DA:889,2 DA:892,0 DA:893,0 DA:894,0 DA:901,1 DA:902,2 DA:903,1 DA:927,1 DA:928,1 DA:929,1 DA:932,0 DA:933,0 DA:934,0 DA:941,2 DA:942,2 DA:943,1 DA:944,2 DA:946,0 DA:970,1 DA:971,2 DA:972,2 DA:973,1 DA:974,0 DA:976,0 DA:994,1 DA:995,2 DA:996,1 DA:997,0 DA:999,3 DA:1000,1 DA:1004,1 DA:1005,2 DA:1006,0 DA:1008,2 DA:1012,1 DA:950,1 DA:951,4 DA:952,3 DA:957,1 DA:958,2 DA:959,2 DA:960,1 DA:961,2 DA:963,0 DA:987,1 DA:988,2 DA:989,2 DA:990,1 DA:991,0 DA:993,0 DA:1011,1 DA:1012,2 DA:1013,1 DA:1014,2 DA:1015,2 DA:1016,5 DA:1019,1 DA:1021,2 DA:1023,4 DA:1048,1 DA:1049,1 DA:1050,1 DA:1051,6 DA:1063,1 DA:1065,0 DA:1014,0 DA:1016,4 DA:1017,2 DA:1021,1 DA:1022,2 DA:1023,0 DA:1025,2 DA:1029,1 DA:1030,1 DA:1031,2 DA:1032,2 DA:1033,5 DA:1036,1 DA:1038,2 DA:1040,4 DA:1065,1 DA:1066,1 DA:1067,1 DA:1068,6 DA:1080,1 DA:1081,1 DA:1084,1 DA:1085,3 DA:1082,0 DA:1097,1 DA:1098,1 DA:1107,0 DA:1108,0 DA:1109,0 DA:1111,0 DA:1121,0 DA:1122,0 DA:1123,0 DA:1101,1 DA:1102,3 DA:1114,1 DA:1115,1 DA:1124,0 DA:1125,0 DA:1139,1 DA:1140,1 DA:1141,3 DA:1142,2 DA:1143,9 DA:1144,3 DA:1146,1 DA:1147,5 DA:1148,1 DA:1151,1 DA:1153,1 DA:1154,9 LF:374 LH:220 DA:1126,0 DA:1128,0 DA:1138,0 DA:1139,0 DA:1140,0 DA:1142,0 DA:1156,1 DA:1157,1 DA:1158,3 DA:1159,1 DA:1160,9 DA:1161,3 DA:1163,1 DA:1164,5 DA:1165,1 DA:1168,2 DA:1170,1 DA:1171,4 LF:384 LH:224 end_of_record src/util/mod.rs +13 −3 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ pub enum ModuleUri<'a> { /// "uri": "ssh://git@code.ornl.gov/GSHS/GDS/Common/PIPE/module-a" /// } /// ``` //TODO: Need to implement Serialize/Deserialize for URI - https://serde.rs/impl-serialize.html //TODO: Implement Serialize/Deserialize for URI - https://serde.rs/impl-serialize.html Url(URI<'a>), Unknown(String), } Loading Loading @@ -580,9 +580,19 @@ impl ModuleUri<'_> { | Some(value) => value.clone().to_string().replace('.', "_"), | None => "".to_string(), }; let segments = uri.path().segments().iter().map(|s| s.to_string()).collect::<Vec<_>>(); let segments = uri .path() .segments() .iter() .map(|s| s.to_string()) .filter(|s| !s.is_empty()) .collect::<Vec<_>>(); if segments.is_empty() { host.to_string() } else { format!("{}_{}", host, segments[segments.len() - 2..].join("_").to_lowercase()) } } | ModuleUri::File(value) => value.clone().into_os_string().into_string().unwrap(), | ModuleUri::Unknown(_) => unimplemented!(), } Loading src/util/tests.rs +8 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ fn test_config_read_json() { let path = "tests/fixtures/config.json"; let config = Config::read_json(PathBuf::from(path)).expect("=> [ERROR] Cannot import config in tests"); assert_eq!(config.variables.clone().unwrap().get("ANSWER").unwrap(), 42); assert_eq!(config.modules.len(), 4); assert_eq!(config.modules.len(), 3); } #[test] Loading Loading @@ -170,11 +170,18 @@ fn test_module_uri() { } | _ => panic!(), } } #[test] fn test_module_uri_hash() { let expected = "code_ornl_gov_pipe_module-a"; let url = ModuleUri::from("http://code.ornl.gov/PIPE/module-a"); assert_eq!(expected, url.hash()); let url = ModuleUri::from("https://code.ornl.gov/GSHS/GDS/Common/PIPE/module-a"); assert_eq!(expected, url.hash()); let expected = "example_com"; let url = ModuleUri::from("http://example.com"); assert_eq!(expected, url.hash()); } #[test] Loading Loading
lcov.info +300 −286 Original line number Diff line number Diff line Loading @@ -138,81 +138,79 @@ DA:55,0 DA:56,0 DA:58,0 DA:59,0 DA:62,0 DA:64,0 DA:66,0 DA:68,0 DA:69,0 DA:72,0 DA:73,0 DA:70,0 DA:71,0 DA:74,0 DA:77,0 DA:75,0 DA:76,0 DA:79,0 DA:80,0 DA:81,0 DA:82,0 DA:83,0 DA:86,0 DA:87,0 DA:85,0 DA:88,0 DA:89,0 DA:90,0 DA:91,0 DA:92,0 DA:93,0 DA:94,0 DA:95,0 DA:96,0 DA:97,0 DA:98,0 DA:99,0 DA:103,0 DA:104,0 DA:101,0 DA:105,0 DA:106,0 DA:107,0 DA:108,0 DA:112,0 DA:110,0 DA:114,0 DA:116,0 DA:117,0 DA:118,0 DA:119,0 DA:120,0 DA:121,0 DA:122,0 DA:123,0 DA:124,0 DA:129,0 DA:130,0 DA:126,0 DA:131,0 DA:134,0 DA:132,0 DA:133,0 DA:136,0 DA:138,0 DA:141,0 DA:140,0 DA:143,0 DA:145,0 DA:146,0 DA:147,0 DA:148,0 DA:149,0 DA:151,0 DA:153,0 DA:154,0 DA:155,0 DA:156,0 DA:157,0 DA:158,0 DA:159,0 DA:160,0 DA:163,0 DA:164,0 DA:167,0 DA:168,0 DA:161,0 DA:162,0 DA:165,0 DA:166,0 DA:169,0 DA:172,0 DA:170,0 DA:171,0 DA:174,0 DA:175,0 DA:178,0 DA:179,0 DA:183,0 DA:184,0 DA:176,0 DA:177,0 DA:180,0 DA:181,0 DA:185,0 DA:186,0 DA:187,0 DA:190,0 DA:191,0 DA:188,0 DA:189,0 DA:192,0 DA:193,0 DA:194,0 Loading @@ -222,13 +220,15 @@ DA:197,0 DA:198,0 DA:199,0 DA:200,0 DA:201,0 DA:202,0 DA:205,0 DA:208,0 DA:211,0 DA:204,0 DA:207,0 DA:210,0 DA:213,0 DA:216,0 DA:215,0 DA:218,0 DA:220,0 LF:118 LH:0 end_of_record Loading Loading @@ -374,39 +374,41 @@ FN:556,Label::run FN:560,Label::using FN:566,ModuleUri<'_>::from FN:576,ModuleUri<'_>::hash FN:590,ModuleUri<'_>::test FN:591,ModuleUri<'_>::test::check FN:610,ModuleUri<'_>::working_directory FN:622,SemanticVersion::from_string FN:643,Script::expand_arguments FN:673,Script::expand_arguments_from FN:706,Script::from_template FN:735,Script::from_path FN:747,Script::get_command FN:753,Script::get_arguments FN:764,Script::maybe_create_conda_environment FN:797,Script::maybe_git_clone FN:804,Script::python_default FN:817,Script::run FN:884,Script::with_current_dir FN:910,Script::with_environment FN:915,Script::with_envs FN:924,StringTemplate::new FN:933,StringTemplate::expand FN:940,StringTemplate::get_variable FN:970,StringTemplate::is_handlebars FN:994,StringTemplate::remove_spaces FN:1004,add_forward_slash FN:1012,get_conda_environment_list FN:1048,get_conda_environment_name FN:1080,get_extension FN:1084,get_parent FN:1097,has_extension FN:1107,is_stdin_piped FN:1121,is_stdout_piped FN:1139,read_file FN:1153,to_string FNF:59 FN:600,ModuleUri<'_>::get_whitelist FN:603,ModuleUri<'_>::is_allowed FN:606,ModuleUri<'_>::test FN:607,ModuleUri<'_>::test::check FN:627,ModuleUri<'_>::working_directory FN:639,SemanticVersion::from_string FN:660,Script::expand_arguments FN:690,Script::expand_arguments_from FN:723,Script::from_template FN:752,Script::from_path FN:764,Script::get_command FN:770,Script::get_arguments FN:781,Script::maybe_create_conda_environment FN:814,Script::maybe_git_clone FN:821,Script::python_default FN:834,Script::run FN:901,Script::with_current_dir FN:927,Script::with_environment FN:932,Script::with_envs FN:941,StringTemplate::new FN:950,StringTemplate::expand FN:957,StringTemplate::get_variable FN:987,StringTemplate::is_handlebars FN:1011,StringTemplate::remove_spaces FN:1021,add_forward_slash FN:1029,get_conda_environment_list FN:1065,get_conda_environment_name FN:1097,get_extension FN:1101,get_parent FN:1114,has_extension FN:1124,is_stdin_piped FN:1138,is_stdout_piped FN:1156,read_file FN:1170,to_string FNF:61 FNDA:1,Command::test FNDA:1,Config::read FNDA:1,Config::read_json Loading @@ -432,8 +434,10 @@ FNDA:0,Label::read FNDA:0,Label::rejected FNDA:0,Label::run FNDA:0,Label::using FNDA:1,ModuleUri<'_>::from FNDA:2,ModuleUri<'_>::from FNDA:1,ModuleUri<'_>::hash FNDA:0,ModuleUri<'_>::get_whitelist FNDA:0,ModuleUri<'_>::is_allowed FNDA:0,ModuleUri<'_>::test FNDA:0,ModuleUri<'_>::test::check FNDA:0,ModuleUri<'_>::working_directory Loading @@ -443,7 +447,7 @@ FNDA:1,Script::expand_arguments_from FNDA:1,Script::from_template FNDA:1,Script::from_path FNDA:1,Script::get_command FNDA:2,Script::get_arguments FNDA:1,Script::get_arguments FNDA:0,Script::maybe_create_conda_environment FNDA:1,Script::maybe_git_clone FNDA:0,Script::python_default Loading @@ -451,7 +455,7 @@ FNDA:1,Script::run FNDA:1,Script::with_current_dir FNDA:1,Script::with_environment FNDA:0,Script::with_envs FNDA:1,StringTemplate::new FNDA:2,StringTemplate::new FNDA:1,StringTemplate::expand FNDA:1,StringTemplate::get_variable FNDA:1,StringTemplate::is_handlebars Loading Loading @@ -493,15 +497,15 @@ DA:383,0 DA:384,0 DA:395,1 DA:396,2 DA:397,2 DA:397,3 DA:399,0 DA:400,0 DA:403,2 DA:404,1 DA:405,2 DA:403,4 DA:404,2 DA:405,4 DA:406,0 DA:408,6 DA:409,1 DA:408,12 DA:409,2 DA:416,1 DA:417,2 DA:418,1 Loading Loading @@ -548,9 +552,9 @@ DA:483,0 DA:485,0 DA:487,1 DA:488,1 DA:489,3 DA:490,3 DA:491,3 DA:489,2 DA:490,2 DA:491,2 DA:492,2 DA:493,1 DA:497,0 Loading Loading @@ -584,8 +588,8 @@ DA:540,0 DA:541,0 DA:542,0 DA:544,1 DA:545,1 DA:546,1 DA:545,3 DA:546,3 DA:548,0 DA:549,0 DA:550,0 Loading @@ -598,9 +602,9 @@ DA:558,0 DA:560,0 DA:561,0 DA:562,0 DA:566,1 DA:567,1 DA:568,2 DA:566,2 DA:567,2 DA:568,3 DA:569,1 DA:570,2 DA:571,0 Loading @@ -611,235 +615,245 @@ DA:578,1 DA:579,1 DA:580,1 DA:581,0 DA:583,4 DA:584,1 DA:586,0 DA:590,0 DA:591,0 DA:592,0 DA:593,0 DA:594,0 DA:583,2 DA:587,2 DA:588,2 DA:590,2 DA:591,2 DA:593,1 DA:596,0 DA:597,0 DA:598,0 DA:600,0 DA:601,0 DA:602,0 DA:603,0 DA:604,0 DA:606,0 DA:607,0 DA:608,0 DA:609,0 DA:610,0 DA:611,0 DA:612,0 DA:613,0 DA:614,0 DA:615,0 DA:616,0 DA:617,0 DA:622,1 DA:623,1 DA:624,3 DA:625,3 DA:626,3 DA:643,1 DA:644,2 DA:647,2 DA:648,1 DA:649,2 DA:650,1 DA:651,1 DA:653,2 DA:657,1 DA:658,1 DA:673,1 DA:674,3 DA:677,2 DA:678,2 DA:679,2 DA:680,2 DA:683,2 DA:685,1 DA:687,2 DA:691,1 DA:692,1 DA:706,1 DA:707,1 DA:708,3 DA:712,2 DA:714,2 DA:716,2 DA:719,1 DA:720,2 DA:721,2 DA:735,1 DA:736,2 DA:737,1 DA:739,0 DA:740,0 DA:743,2 DA:744,1 DA:745,1 DA:747,1 DA:748,1 DA:749,1 DA:750,2 DA:618,0 DA:619,0 DA:621,0 DA:623,0 DA:627,0 DA:628,0 DA:629,0 DA:630,0 DA:631,0 DA:633,0 DA:634,0 DA:639,1 DA:640,1 DA:641,3 DA:642,3 DA:643,3 DA:660,1 DA:661,2 DA:664,2 DA:665,1 DA:666,2 DA:667,1 DA:668,1 DA:670,2 DA:674,1 DA:675,1 DA:690,1 DA:691,2 DA:694,2 DA:695,1 DA:696,2 DA:697,2 DA:700,2 DA:702,1 DA:704,2 DA:708,1 DA:709,1 DA:723,1 DA:724,1 DA:725,3 DA:729,2 DA:731,2 DA:733,2 DA:736,1 DA:737,2 DA:738,2 DA:752,1 DA:753,2 DA:754,1 DA:755,1 DA:756,1 DA:757,2 DA:758,1 DA:756,0 DA:757,0 DA:760,2 DA:764,0 DA:765,0 DA:766,0 DA:767,0 DA:769,0 DA:770,0 DA:771,0 DA:772,0 DA:773,0 DA:774,0 DA:776,0 DA:777,0 DA:778,0 DA:779,0 DA:780,0 DA:761,1 DA:762,1 DA:764,1 DA:765,1 DA:766,1 DA:767,1 DA:770,1 DA:771,1 DA:772,1 DA:773,1 DA:774,2 DA:775,1 DA:777,1 DA:781,0 DA:782,0 DA:783,0 DA:784,0 DA:785,0 DA:786,0 DA:787,0 DA:788,0 DA:792,0 DA:789,0 DA:790,0 DA:791,0 DA:793,0 DA:797,1 DA:798,2 DA:799,2 DA:800,2 DA:801,1 DA:802,1 DA:804,0 DA:794,0 DA:795,0 DA:796,0 DA:797,0 DA:798,0 DA:799,0 DA:801,0 DA:802,0 DA:805,0 DA:806,0 DA:814,0 DA:817,1 DA:809,0 DA:810,0 DA:814,1 DA:815,2 DA:816,2 DA:817,2 DA:818,1 DA:819,1 DA:820,3 DA:821,3 DA:822,7 DA:823,2 DA:824,11 DA:825,3 DA:826,1 DA:827,1 DA:828,1 DA:829,1 DA:821,0 DA:822,0 DA:823,0 DA:831,0 DA:834,1 DA:835,2 DA:837,0 DA:838,0 DA:841,1 DA:835,1 DA:836,1 DA:837,2 DA:838,2 DA:839,5 DA:840,1 DA:841,6 DA:842,2 DA:843,4 DA:844,10 DA:845,4 DA:848,4 DA:849,2 DA:851,0 DA:852,0 DA:855,3 DA:856,3 DA:857,6 DA:858,0 DA:859,0 DA:862,6 DA:863,3 DA:864,9 DA:865,3 DA:866,15 DA:867,15 DA:868,3 DA:870,5 DA:871,5 DA:872,2 DA:843,1 DA:844,1 DA:845,1 DA:846,1 DA:851,1 DA:852,1 DA:854,0 DA:855,0 DA:858,1 DA:859,1 DA:860,2 DA:861,5 DA:862,2 DA:865,2 DA:866,1 DA:868,0 DA:869,0 DA:872,1 DA:873,1 DA:874,2 DA:875,0 DA:876,0 DA:877,0 DA:884,1 DA:885,2 DA:886,1 DA:910,1 DA:911,1 DA:912,1 DA:915,0 DA:916,0 DA:917,0 DA:924,1 DA:926,1 DA:933,1 DA:934,4 DA:935,3 DA:940,1 DA:879,2 DA:880,1 DA:881,3 DA:882,1 DA:883,5 DA:884,5 DA:885,1 DA:887,5 DA:888,5 DA:889,2 DA:892,0 DA:893,0 DA:894,0 DA:901,1 DA:902,2 DA:903,1 DA:927,1 DA:928,1 DA:929,1 DA:932,0 DA:933,0 DA:934,0 DA:941,2 DA:942,2 DA:943,1 DA:944,2 DA:946,0 DA:970,1 DA:971,2 DA:972,2 DA:973,1 DA:974,0 DA:976,0 DA:994,1 DA:995,2 DA:996,1 DA:997,0 DA:999,3 DA:1000,1 DA:1004,1 DA:1005,2 DA:1006,0 DA:1008,2 DA:1012,1 DA:950,1 DA:951,4 DA:952,3 DA:957,1 DA:958,2 DA:959,2 DA:960,1 DA:961,2 DA:963,0 DA:987,1 DA:988,2 DA:989,2 DA:990,1 DA:991,0 DA:993,0 DA:1011,1 DA:1012,2 DA:1013,1 DA:1014,2 DA:1015,2 DA:1016,5 DA:1019,1 DA:1021,2 DA:1023,4 DA:1048,1 DA:1049,1 DA:1050,1 DA:1051,6 DA:1063,1 DA:1065,0 DA:1014,0 DA:1016,4 DA:1017,2 DA:1021,1 DA:1022,2 DA:1023,0 DA:1025,2 DA:1029,1 DA:1030,1 DA:1031,2 DA:1032,2 DA:1033,5 DA:1036,1 DA:1038,2 DA:1040,4 DA:1065,1 DA:1066,1 DA:1067,1 DA:1068,6 DA:1080,1 DA:1081,1 DA:1084,1 DA:1085,3 DA:1082,0 DA:1097,1 DA:1098,1 DA:1107,0 DA:1108,0 DA:1109,0 DA:1111,0 DA:1121,0 DA:1122,0 DA:1123,0 DA:1101,1 DA:1102,3 DA:1114,1 DA:1115,1 DA:1124,0 DA:1125,0 DA:1139,1 DA:1140,1 DA:1141,3 DA:1142,2 DA:1143,9 DA:1144,3 DA:1146,1 DA:1147,5 DA:1148,1 DA:1151,1 DA:1153,1 DA:1154,9 LF:374 LH:220 DA:1126,0 DA:1128,0 DA:1138,0 DA:1139,0 DA:1140,0 DA:1142,0 DA:1156,1 DA:1157,1 DA:1158,3 DA:1159,1 DA:1160,9 DA:1161,3 DA:1163,1 DA:1164,5 DA:1165,1 DA:1168,2 DA:1170,1 DA:1171,4 LF:384 LH:224 end_of_record
src/util/mod.rs +13 −3 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ pub enum ModuleUri<'a> { /// "uri": "ssh://git@code.ornl.gov/GSHS/GDS/Common/PIPE/module-a" /// } /// ``` //TODO: Need to implement Serialize/Deserialize for URI - https://serde.rs/impl-serialize.html //TODO: Implement Serialize/Deserialize for URI - https://serde.rs/impl-serialize.html Url(URI<'a>), Unknown(String), } Loading Loading @@ -580,9 +580,19 @@ impl ModuleUri<'_> { | Some(value) => value.clone().to_string().replace('.', "_"), | None => "".to_string(), }; let segments = uri.path().segments().iter().map(|s| s.to_string()).collect::<Vec<_>>(); let segments = uri .path() .segments() .iter() .map(|s| s.to_string()) .filter(|s| !s.is_empty()) .collect::<Vec<_>>(); if segments.is_empty() { host.to_string() } else { format!("{}_{}", host, segments[segments.len() - 2..].join("_").to_lowercase()) } } | ModuleUri::File(value) => value.clone().into_os_string().into_string().unwrap(), | ModuleUri::Unknown(_) => unimplemented!(), } Loading
src/util/tests.rs +8 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ fn test_config_read_json() { let path = "tests/fixtures/config.json"; let config = Config::read_json(PathBuf::from(path)).expect("=> [ERROR] Cannot import config in tests"); assert_eq!(config.variables.clone().unwrap().get("ANSWER").unwrap(), 42); assert_eq!(config.modules.len(), 4); assert_eq!(config.modules.len(), 3); } #[test] Loading Loading @@ -170,11 +170,18 @@ fn test_module_uri() { } | _ => panic!(), } } #[test] fn test_module_uri_hash() { let expected = "code_ornl_gov_pipe_module-a"; let url = ModuleUri::from("http://code.ornl.gov/PIPE/module-a"); assert_eq!(expected, url.hash()); let url = ModuleUri::from("https://code.ornl.gov/GSHS/GDS/Common/PIPE/module-a"); assert_eq!(expected, url.hash()); let expected = "example_com"; let url = ModuleUri::from("http://example.com"); assert_eq!(expected, url.hash()); } #[test] Loading