Loading Cargo.lock +10 −0 Original line number Diff line number Diff line Loading @@ -1655,6 +1655,15 @@ dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "is_executable" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" dependencies = [ "winapi 0.3.9", ] [[package]] name = "itoa" version = "1.0.11" Loading Loading @@ -2234,6 +2243,7 @@ dependencies = [ "exitcode", "fancy-regex", "is-terminal", "is_executable", "owo-colors 4.0.0", "rayon", "reqwest", Loading lcov.info +553 −544 Original line number Diff line number Diff line Loading @@ -260,78 +260,78 @@ LH:0 end_of_record TN: SF:/root/dev/command/pipe-lib/src/lib.rs FN:467,Command::test FN:490,Config::get_environment_variables FN:502,Config::get_inputs FN:539,Config::prepare_modules FN:721,Config::read FN:745,Config::read_json FN:766,Config::read_yaml FN:786,Config::run_workflow FN:858,Config::set_environment_variables FN:874,Config::verify_requirements FN:892,Config::verify_resources FN:901,<impl PartialEq for Details>::eq FN:908,EnvironmentValue::from_string FN:911,EnvironmentValue::from_value FN:919,EnvironmentValue::prepend_prefix FN:923,EnvironmentValue::trim_prefix FN:927,EnvironmentValue::get_from_serde FN:941,EnvironmentValue::get_all FN:951,EnvironmentValue::print_all FN:956,EnvironmentValue::set_variable FN:966,EnvironmentValue::set_variables FN:973,Extension::from_string FN:982,Label::dry_run FN:986,Label::invalid FN:989,Label::fmt_invalid FN:993,Label::fail FN:996,Label::fmt_fail FN:1000,Label::found FN:1004,Label::not_found FN:1007,Label::fmt_not_found FN:1011,Label::output FN:1014,Label::fmt_output FN:1018,Label::pass FN:1022,Label::read FN:1026,Label::rejected FN:1030,Label::run FN:1034,Label::using FN:1040,ModuleUri<'_>::from FN:1050,ModuleUri<'_>::hash FN:1074,ModuleUri<'_>::get_whitelist FN:1077,ModuleUri<'_>::is_allowed FN:1080,ModuleUri<'_>::test FN:1081,ModuleUri<'_>::test::check FN:1098,ModuleUri<'_>::working_directory FN:1110,SemanticVersion::from_string FN:1119,Script::ensure_relative FN:1138,Script::expand_arguments FN:1173,Script::expand_arguments_from FN:1208,Script::from_module FN:1266,Script::from_path FN:1281,Script::from_template FN:1301,Script::get_command FN:1311,Script::get_arguments FN:1351,Script::maybe_create_virtual_environment FN:1392,Script::maybe_git_clone FN:1399,Script::python_default FN:1413,Script::run FN:1480,Script::with_container FN:1487,Script::with_current_dir FN:1492,Script::with_envs FN:1534,Script::with_virtual_environment FN:1540,ScriptTemplate::from_path FN:1552,ScriptTemplate::resolve_python_virtual_environment FN:1580,StringTemplate::new FN:1589,StringTemplate::expand FN:1596,StringTemplate::get_variable FN:1626,StringTemplate::is_handlebars FN:1661,StringTemplate::remove_spaces FN:1671,add_dot_slash FN:1679,add_forward_slash FN:1686,download_binary FN:1687,download_binary::download FN:468,Command::test FN:491,Config::get_environment_variables FN:503,Config::get_inputs FN:540,Config::prepare_modules FN:737,Config::read FN:761,Config::read_json FN:782,Config::read_yaml FN:802,Config::run_workflow FN:874,Config::set_environment_variables FN:890,Config::verify_requirements FN:908,Config::verify_resources FN:917,<impl PartialEq for Details>::eq FN:924,EnvironmentValue::from_string FN:927,EnvironmentValue::from_value FN:935,EnvironmentValue::prepend_prefix FN:939,EnvironmentValue::trim_prefix FN:943,EnvironmentValue::get_from_serde FN:957,EnvironmentValue::get_all FN:967,EnvironmentValue::print_all FN:972,EnvironmentValue::set_variable FN:982,EnvironmentValue::set_variables FN:989,Extension::from_string FN:998,Label::dry_run FN:1002,Label::invalid FN:1005,Label::fmt_invalid FN:1009,Label::fail FN:1012,Label::fmt_fail FN:1016,Label::found FN:1020,Label::not_found FN:1023,Label::fmt_not_found FN:1027,Label::output FN:1030,Label::fmt_output FN:1034,Label::pass FN:1038,Label::read FN:1042,Label::rejected FN:1046,Label::run FN:1050,Label::using FN:1056,ModuleUri<'_>::from FN:1066,ModuleUri<'_>::hash FN:1090,ModuleUri<'_>::get_whitelist FN:1093,ModuleUri<'_>::is_allowed FN:1096,ModuleUri<'_>::test FN:1097,ModuleUri<'_>::test::check FN:1114,ModuleUri<'_>::working_directory FN:1126,SemanticVersion::from_string FN:1135,Script::ensure_relative FN:1154,Script::expand_arguments FN:1189,Script::expand_arguments_from FN:1224,Script::from_module FN:1282,Script::from_path FN:1297,Script::from_template FN:1317,Script::get_command FN:1327,Script::get_arguments FN:1367,Script::maybe_create_virtual_environment FN:1408,Script::maybe_git_clone FN:1415,Script::python_default FN:1429,Script::run FN:1496,Script::with_container FN:1503,Script::with_current_dir FN:1508,Script::with_envs FN:1550,Script::with_virtual_environment FN:1556,ScriptTemplate::from_path FN:1568,ScriptTemplate::resolve_python_virtual_environment FN:1596,StringTemplate::new FN:1605,StringTemplate::expand FN:1612,StringTemplate::get_variable FN:1642,StringTemplate::is_handlebars FN:1677,StringTemplate::remove_spaces FN:1687,add_dot_slash FN:1695,add_forward_slash FN:1702,download_binary FN:1703,download_binary::download FNF:72 FNDA:1,Command::test FNDA:0,Config::get_environment_variables Loading Loading @@ -393,7 +393,7 @@ FNDA:1,Script::run FNDA:1,Script::with_container FNDA:1,Script::with_current_dir FNDA:0,Script::with_envs FNDA:1,Script::with_virtual_environment FNDA:2,Script::with_virtual_environment FNDA:1,ScriptTemplate::from_path FNDA:0,ScriptTemplate::resolve_python_virtual_environment FNDA:2,StringTemplate::new Loading @@ -405,668 +405,677 @@ FNDA:1,add_dot_slash FNDA:1,add_forward_slash FNDA:0,download_binary FNDA:0,download_binary::download DA:467,1 DA:468,2 DA:469,1 DA:470,5 DA:471,4 DA:473,6 DA:474,2 DA:477,0 DA:468,1 DA:469,2 DA:470,1 DA:471,5 DA:472,4 DA:474,6 DA:475,2 DA:478,0 DA:483,3 DA:484,1 DA:490,0 DA:479,0 DA:484,3 DA:485,1 DA:491,0 DA:492,0 DA:493,0 DA:494,0 DA:495,0 DA:496,0 DA:502,0 DA:497,0 DA:503,0 DA:504,0 DA:505,0 DA:506,0 DA:507,0 DA:509,0 DA:508,0 DA:510,0 DA:511,0 DA:513,0 DA:512,0 DA:514,0 DA:518,0 DA:515,0 DA:519,0 DA:523,0 DA:520,0 DA:524,0 DA:529,0 DA:539,0 DA:525,0 DA:530,0 DA:540,0 DA:541,0 DA:542,0 DA:544,0 DA:547,0 DA:543,0 DA:545,0 DA:548,0 DA:549,0 DA:550,0 DA:551,0 DA:552,0 DA:553,0 DA:555,0 DA:554,0 DA:556,0 DA:557,0 DA:558,0 DA:559,0 DA:563,0 DA:569,0 DA:571,0 DA:574,0 DA:579,0 DA:560,0 DA:561,0 DA:566,0 DA:568,0 DA:570,0 DA:575,0 DA:581,0 DA:583,0 DA:586,0 DA:589,0 DA:592,0 DA:594,0 DA:596,0 DA:598,0 DA:601,0 DA:602,0 DA:591,0 DA:593,0 DA:597,0 DA:600,0 DA:603,0 DA:606,0 DA:605,0 DA:607,0 DA:608,0 DA:609,0 DA:610,0 DA:612,0 DA:611,0 DA:613,0 DA:617,0 DA:618,0 DA:619,0 DA:621,0 DA:623,0 DA:622,0 DA:624,0 DA:625,0 DA:626,0 DA:628,0 DA:629,0 DA:630,0 DA:633,0 DA:635,0 DA:636,0 DA:638,0 DA:641,0 DA:642,0 DA:637,0 DA:639,0 DA:640,0 DA:644,0 DA:645,0 DA:647,0 DA:648,0 DA:646,0 DA:649,0 DA:650,0 DA:651,0 DA:652,0 DA:654,0 DA:657,0 DA:658,0 DA:660,0 DA:661,0 DA:663,0 DA:664,0 DA:665,0 DA:666,0 DA:667,0 DA:669,0 DA:673,0 DA:675,0 DA:677,0 DA:678,0 DA:668,0 DA:670,0 DA:680,0 DA:681,0 DA:682,0 DA:692,0 DA:683,0 DA:685,0 DA:689,0 DA:691,0 DA:693,0 DA:694,0 DA:695,0 DA:697,0 DA:702,0 DA:703,0 DA:707,0 DA:698,0 DA:708,0 DA:709,0 DA:710,0 DA:711,0 DA:713,0 DA:715,0 DA:717,0 DA:718,0 DA:719,0 DA:721,1 DA:722,2 DA:723,2 DA:724,1 DA:725,0 DA:727,2 DA:728,1 DA:723,0 DA:726,0 DA:729,0 DA:733,2 DA:734,1 DA:736,0 DA:737,0 DA:745,1 DA:746,2 DA:747,2 DA:749,0 DA:750,0 DA:753,3 DA:754,2 DA:755,4 DA:756,0 DA:758,6 DA:759,2 DA:766,1 DA:767,2 DA:768,1 DA:770,0 DA:771,0 DA:774,2 DA:775,1 DA:776,2 DA:777,0 DA:779,3 DA:780,1 DA:731,0 DA:733,0 DA:735,0 DA:737,1 DA:738,2 DA:739,2 DA:740,1 DA:741,0 DA:743,2 DA:744,1 DA:745,0 DA:749,2 DA:750,1 DA:752,0 DA:753,0 DA:761,1 DA:762,2 DA:763,2 DA:765,0 DA:766,0 DA:769,3 DA:770,2 DA:771,4 DA:772,0 DA:774,6 DA:775,2 DA:782,1 DA:783,2 DA:784,1 DA:786,0 DA:787,0 DA:789,0 DA:790,0 DA:791,0 DA:792,0 DA:790,2 DA:791,1 DA:792,2 DA:793,0 DA:794,0 DA:795,0 DA:797,0 DA:800,0 DA:795,3 DA:796,1 DA:802,0 DA:803,0 DA:805,0 DA:806,0 DA:807,0 DA:808,0 DA:809,0 DA:810,0 DA:811,0 DA:812,0 DA:813,0 DA:814,0 DA:816,0 DA:819,0 DA:822,0 DA:824,0 DA:825,0 DA:826,0 DA:827,0 DA:828,0 DA:829,0 DA:830,0 DA:832,0 DA:833,0 DA:835,0 DA:836,0 DA:837,0 DA:838,0 DA:839,0 DA:840,0 DA:841,0 DA:842,0 DA:843,0 DA:844,0 DA:845,0 DA:846,0 DA:848,0 DA:849,0 DA:851,0 DA:852,0 DA:853,0 DA:854,0 DA:858,0 DA:855,0 DA:856,0 DA:857,0 DA:859,0 DA:860,0 DA:861,0 DA:862,0 DA:863,0 DA:865,0 DA:868,0 DA:870,0 DA:874,0 DA:875,0 DA:876,0 DA:877,0 DA:878,0 DA:879,0 DA:880,0 DA:884,0 DA:886,0 DA:890,0 DA:891,0 DA:892,0 DA:893,0 DA:901,1 DA:902,1 DA:894,0 DA:895,0 DA:896,0 DA:900,0 DA:902,0 DA:908,0 DA:909,0 DA:911,0 DA:912,0 DA:913,0 DA:914,0 DA:915,0 DA:916,0 DA:919,0 DA:920,0 DA:923,1 DA:924,1 DA:925,2 DA:917,1 DA:918,1 DA:924,0 DA:925,0 DA:927,0 DA:928,0 DA:929,0 DA:930,0 DA:931,0 DA:932,0 DA:933,0 DA:934,0 DA:935,0 DA:937,0 DA:939,0 DA:941,1 DA:942,1 DA:943,2 DA:944,2 DA:945,2 DA:946,2 DA:947,1 DA:936,0 DA:939,1 DA:940,1 DA:941,2 DA:943,0 DA:944,0 DA:945,0 DA:946,0 DA:947,0 DA:948,0 DA:949,0 DA:950,0 DA:951,0 DA:952,0 DA:953,0 DA:956,0 DA:957,0 DA:958,0 DA:959,0 DA:960,0 DA:961,0 DA:962,0 DA:966,0 DA:955,0 DA:957,1 DA:958,1 DA:959,2 DA:960,2 DA:961,2 DA:962,2 DA:963,1 DA:967,0 DA:968,0 DA:969,0 DA:973,1 DA:974,2 DA:975,2 DA:976,3 DA:972,0 DA:973,0 DA:974,0 DA:975,0 DA:976,0 DA:977,0 DA:978,0 DA:982,0 DA:983,0 DA:984,0 DA:986,0 DA:987,0 DA:989,0 DA:990,0 DA:991,0 DA:985,0 DA:989,1 DA:990,2 DA:991,2 DA:992,3 DA:993,0 DA:994,0 DA:996,0 DA:997,0 DA:998,0 DA:999,0 DA:1000,0 DA:1001,0 DA:1002,0 DA:1004,0 DA:1003,0 DA:1005,0 DA:1006,0 DA:1007,0 DA:1008,0 DA:1009,0 DA:1011,1 DA:1012,3 DA:1014,3 DA:1015,3 DA:1016,3 DA:1010,0 DA:1012,0 DA:1013,0 DA:1014,0 DA:1016,0 DA:1017,0 DA:1018,0 DA:1019,0 DA:1020,0 DA:1022,0 DA:1021,0 DA:1023,0 DA:1024,0 DA:1026,0 DA:1027,0 DA:1028,0 DA:1030,0 DA:1031,0 DA:1032,0 DA:1025,0 DA:1027,1 DA:1028,3 DA:1030,3 DA:1031,3 DA:1032,3 DA:1034,0 DA:1035,0 DA:1036,0 DA:1040,2 DA:1041,2 DA:1042,3 DA:1043,1 DA:1044,2 DA:1045,0 DA:1047,1 DA:1050,1 DA:1051,1 DA:1052,1 DA:1053,1 DA:1054,1 DA:1055,0 DA:1038,0 DA:1039,0 DA:1040,0 DA:1042,0 DA:1043,0 DA:1044,0 DA:1046,0 DA:1047,0 DA:1048,0 DA:1050,0 DA:1051,0 DA:1052,0 DA:1056,2 DA:1057,2 DA:1061,2 DA:1062,2 DA:1064,2 DA:1065,2 DA:1067,2 DA:1070,0 DA:1074,0 DA:1075,0 DA:1077,0 DA:1078,0 DA:1080,0 DA:1081,0 DA:1082,0 DA:1084,0 DA:1085,0 DA:1058,3 DA:1059,1 DA:1060,2 DA:1061,0 DA:1063,1 DA:1066,1 DA:1067,1 DA:1068,1 DA:1069,1 DA:1070,1 DA:1071,0 DA:1073,2 DA:1077,2 DA:1078,2 DA:1080,2 DA:1081,2 DA:1083,2 DA:1086,0 DA:1087,0 DA:1088,0 DA:1089,0 DA:1090,0 DA:1092,0 DA:1091,0 DA:1093,0 DA:1094,0 DA:1096,0 DA:1097,0 DA:1098,0 DA:1099,0 DA:1100,0 DA:1101,0 DA:1102,0 DA:1103,0 DA:1104,0 DA:1105,0 DA:1110,1 DA:1111,1 DA:1112,3 DA:1113,3 DA:1114,3 DA:1119,1 DA:1120,1 DA:1121,2 DA:1122,1 DA:1106,0 DA:1108,0 DA:1110,0 DA:1114,0 DA:1115,0 DA:1116,0 DA:1117,0 DA:1118,0 DA:1120,0 DA:1121,0 DA:1126,1 DA:1127,1 DA:1128,3 DA:1129,3 DA:1130,3 DA:1135,1 DA:1136,1 DA:1137,2 DA:1138,1 DA:1139,2 DA:1142,2 DA:1143,1 DA:1144,2 DA:1145,1 DA:1146,1 DA:1148,2 DA:1152,1 DA:1153,1 DA:1173,1 DA:1174,2 DA:1177,2 DA:1178,1 DA:1179,2 DA:1180,2 DA:1183,2 DA:1185,1 DA:1187,2 DA:1191,1 DA:1192,1 DA:1208,0 DA:1210,0 DA:1211,0 DA:1212,0 DA:1215,0 DA:1216,0 DA:1217,0 DA:1218,0 DA:1219,0 DA:1221,0 DA:1222,0 DA:1223,0 DA:1154,1 DA:1155,2 DA:1158,2 DA:1159,1 DA:1160,2 DA:1161,1 DA:1162,1 DA:1164,2 DA:1168,1 DA:1169,1 DA:1189,1 DA:1190,2 DA:1193,2 DA:1194,1 DA:1195,2 DA:1196,2 DA:1199,2 DA:1201,1 DA:1203,2 DA:1207,1 DA:1208,1 DA:1224,0 DA:1226,0 DA:1227,0 DA:1228,0 DA:1229,0 DA:1231,0 DA:1232,0 DA:1233,0 DA:1234,0 DA:1235,0 DA:1237,0 DA:1238,0 DA:1239,0 DA:1240,0 DA:1242,0 DA:1243,0 DA:1244,0 DA:1245,0 DA:1248,0 DA:1249,0 DA:1250,0 DA:1266,1 DA:1267,1 DA:1268,1 DA:1281,1 DA:1253,0 DA:1255,0 DA:1256,0 DA:1259,0 DA:1265,0 DA:1266,0 DA:1282,1 DA:1283,3 DA:1287,2 DA:1289,2 DA:1291,2 DA:1295,1 DA:1296,1 DA:1283,1 DA:1284,1 DA:1297,1 DA:1299,2 DA:1301,1 DA:1302,1 DA:1303,1 DA:1304,1 DA:1306,1 DA:1298,1 DA:1299,3 DA:1303,2 DA:1305,2 DA:1307,2 DA:1308,1 DA:1311,1 DA:1312,1 DA:1313,1 DA:1314,1 DA:1315,1 DA:1316,1 DA:1317,0 DA:1319,0 DA:1320,0 DA:1315,2 DA:1317,1 DA:1318,1 DA:1319,1 DA:1320,1 DA:1322,1 DA:1323,2 DA:1324,2 DA:1326,1 DA:1324,1 DA:1327,1 DA:1328,1 DA:1329,1 DA:1330,2 DA:1331,2 DA:1332,2 DA:1334,2 DA:1336,4 DA:1337,2 DA:1339,0 DA:1340,0 DA:1343,2 DA:1344,2 DA:1346,1 DA:1351,0 DA:1352,0 DA:1353,0 DA:1354,0 DA:1330,1 DA:1331,1 DA:1332,1 DA:1333,0 DA:1335,0 DA:1336,0 DA:1339,2 DA:1340,2 DA:1342,1 DA:1344,1 DA:1345,1 DA:1346,2 DA:1347,2 DA:1348,2 DA:1350,2 DA:1352,4 DA:1353,2 DA:1355,0 DA:1356,0 DA:1357,0 DA:1358,0 DA:1359,0 DA:1360,0 DA:1361,0 DA:1363,0 DA:1364,0 DA:1365,0 DA:1366,0 DA:1359,2 DA:1360,2 DA:1362,1 DA:1367,0 DA:1368,0 DA:1369,0 DA:1371,0 DA:1370,0 DA:1372,0 DA:1373,0 DA:1374,0 DA:1375,0 DA:1376,0 DA:1377,0 DA:1379,0 DA:1380,0 DA:1381,0 DA:1382,0 DA:1383,0 DA:1384,0 DA:1385,0 DA:1387,0 DA:1388,0 DA:1392,1 DA:1393,2 DA:1394,2 DA:1395,2 DA:1396,3 DA:1397,1 DA:1391,0 DA:1395,0 DA:1396,0 DA:1399,0 DA:1400,0 DA:1401,0 DA:1409,0 DA:1404,0 DA:1408,1 DA:1409,2 DA:1410,2 DA:1411,2 DA:1412,3 DA:1413,1 DA:1414,1 DA:1415,1 DA:1416,2 DA:1417,2 DA:1418,3 DA:1419,1 DA:1420,7 DA:1421,2 DA:1422,1 DA:1423,1 DA:1424,1 DA:1425,1 DA:1430,2 DA:1415,0 DA:1416,0 DA:1417,0 DA:1425,0 DA:1429,1 DA:1430,1 DA:1431,1 DA:1433,0 DA:1434,0 DA:1437,1 DA:1432,2 DA:1433,2 DA:1434,3 DA:1435,1 DA:1436,7 DA:1437,2 DA:1438,1 DA:1439,2 DA:1440,2 DA:1443,2 DA:1444,1 DA:1446,0 DA:1447,0 DA:1450,1 DA:1451,1 DA:1452,2 DA:1453,3 DA:1454,2 DA:1457,2 DA:1458,1 DA:1459,3 DA:1439,1 DA:1440,1 DA:1441,1 DA:1446,2 DA:1447,1 DA:1449,0 DA:1450,0 DA:1453,1 DA:1454,1 DA:1455,2 DA:1456,2 DA:1459,2 DA:1460,1 DA:1461,3 DA:1462,3 DA:1463,1 DA:1465,0 DA:1466,0 DA:1467,0 DA:1470,0 DA:1471,0 DA:1472,0 DA:1476,0 DA:1477,0 DA:1480,1 DA:1481,1 DA:1482,1 DA:1487,1 DA:1488,2 DA:1489,1 DA:1462,0 DA:1463,0 DA:1466,1 DA:1467,1 DA:1468,2 DA:1469,3 DA:1470,2 DA:1473,2 DA:1474,1 DA:1475,3 DA:1476,1 DA:1477,3 DA:1478,3 DA:1479,1 DA:1481,0 DA:1482,0 DA:1483,0 DA:1486,0 DA:1487,0 DA:1488,0 DA:1492,0 DA:1493,0 DA:1494,0 DA:1534,1 DA:1535,1 DA:1536,1 DA:1540,1 DA:1541,2 DA:1542,1 DA:1544,0 DA:1545,0 DA:1548,2 DA:1550,1 DA:1552,0 DA:1553,0 DA:1554,0 DA:1555,0 DA:1556,0 DA:1557,0 DA:1558,0 DA:1559,0 DA:1496,1 DA:1497,1 DA:1498,1 DA:1503,1 DA:1504,2 DA:1505,1 DA:1508,0 DA:1509,0 DA:1510,0 DA:1550,2 DA:1551,1 DA:1552,1 DA:1556,1 DA:1557,2 DA:1558,1 DA:1560,0 DA:1561,0 DA:1562,0 DA:1563,0 DA:1564,2 DA:1566,1 DA:1568,0 DA:1569,0 DA:1570,0 DA:1580,2 DA:1582,2 DA:1589,1 DA:1590,6 DA:1591,5 DA:1596,1 DA:1597,2 DA:1571,0 DA:1572,0 DA:1573,0 DA:1574,0 DA:1575,0 DA:1577,0 DA:1578,0 DA:1579,0 DA:1584,0 DA:1585,0 DA:1586,0 DA:1596,2 DA:1598,2 DA:1599,1 DA:1600,2 DA:1602,0 DA:1626,2 DA:1627,4 DA:1628,4 DA:1629,2 DA:1630,0 DA:1632,0 DA:1661,1 DA:1662,2 DA:1663,1 DA:1664,0 DA:1666,3 DA:1667,1 DA:1671,1 DA:1672,2 DA:1673,2 DA:1675,4 DA:1605,1 DA:1606,6 DA:1607,5 DA:1612,1 DA:1613,2 DA:1614,2 DA:1615,1 DA:1616,2 DA:1618,0 DA:1642,2 DA:1643,4 DA:1644,4 DA:1645,2 DA:1646,0 DA:1648,0 DA:1677,1 DA:1678,2 DA:1679,1 DA:1680,2 DA:1681,0 DA:1683,2 DA:1686,0 DA:1687,0 DA:1688,0 DA:1689,0 DA:1690,0 DA:1691,0 DA:1692,0 DA:1693,0 DA:1694,0 DA:1695,0 DA:1696,0 DA:1680,0 DA:1682,3 DA:1683,1 DA:1687,1 DA:1688,2 DA:1689,2 DA:1691,4 DA:1695,1 DA:1696,2 DA:1697,0 DA:1699,0 DA:1701,0 DA:1699,2 DA:1702,0 DA:1703,0 DA:1704,0 DA:1705,0 DA:1706,0 DA:1707,0 DA:1722,1 DA:1723,1 DA:1724,4 DA:1725,2 DA:1729,1 DA:1730,2 DA:1731,2 DA:1732,2 DA:1733,2 DA:1734,5 DA:1737,1 DA:1739,2 DA:1741,4 DA:1744,0 DA:1771,1 DA:1772,2 DA:1773,2 DA:1774,1 DA:1775,6 DA:1708,0 DA:1709,0 DA:1710,0 DA:1711,0 DA:1712,0 DA:1713,0 DA:1715,0 DA:1717,0 DA:1720,0 DA:1721,0 DA:1722,0 DA:1723,0 DA:1738,1 DA:1739,1 DA:1740,4 DA:1741,2 DA:1745,1 DA:1746,2 DA:1747,2 DA:1748,2 DA:1749,2 DA:1750,5 DA:1753,1 DA:1755,2 DA:1757,4 DA:1760,0 DA:1787,1 DA:1789,0 DA:1791,1 DA:1806,1 DA:1788,2 DA:1789,2 DA:1790,1 DA:1791,6 DA:1803,1 DA:1805,0 DA:1807,1 DA:1810,1 DA:1811,3 DA:1822,1 DA:1823,1 DA:1824,1 DA:1827,0 DA:1828,0 DA:1829,0 DA:1831,0 DA:1835,0 DA:1836,0 DA:1837,0 DA:1839,0 DA:1826,1 DA:1827,3 DA:1839,1 DA:1840,1 DA:1843,0 DA:1844,0 DA:1845,0 DA:1851,1 DA:1853,2 DA:1854,1 DA:1855,1 DA:1857,3 DA:1870,2 DA:1847,0 DA:1851,0 DA:1852,0 DA:1853,0 DA:1855,0 DA:1859,0 DA:1861,0 DA:1862,0 DA:1869,1 DA:1871,2 DA:1872,4 DA:1873,4 DA:1874,12 DA:1875,8 DA:1877,1 DA:1878,3 DA:1879,1 DA:1882,1 DA:1884,1 DA:1885,8 LF:662 DA:1872,1 DA:1873,1 DA:1875,3 DA:1888,2 DA:1889,2 DA:1890,4 DA:1891,4 DA:1892,12 DA:1893,8 DA:1895,1 DA:1896,3 DA:1897,1 DA:1900,1 DA:1902,1 DA:1903,8 LF:671 LH:263 end_of_record pipe-lib/Cargo.toml +1 −0 Original line number Diff line number Diff line Loading @@ -32,3 +32,4 @@ sha2 = "0.10.8" which = "6.0.3" reqwest = "0.12.8" bytes = "1.7.2" is_executable = "1.0.4" pipe-lib/src/lib.rs +23 −5 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use clap::ValueEnum; use color_eyre::eyre::{Report, Result}; use derive_more::{Display, FromStr}; use fancy_regex::Regex; use is_executable::IsExecutable; use is_terminal::IsTerminal; use owo_colors::{OwoColorize, Style, Styled}; use rayon::prelude::*; Loading Loading @@ -556,7 +557,18 @@ impl Config { | Some(value) if value == &calculated_checksum => { info!(module = module.name, url, "=> {} Checksum verified", Label::pass()); if let Ok(path) = output { make_executable(&path); if !make_executable(&path) { error!( module = module.name, url, checksum, "=> {} Downloaded binary is not executable", Label::fail() ); std::process::exit(exitcode::USAGE); } else { info!(module = module.name, url, "=> {} Downloaded binary is executable", Label::pass()); } } } | Some(_) => { Loading @@ -581,7 +593,6 @@ impl Config { std::process::exit(exitcode::UNAVAILABLE); } } // TODO: Verify binary is executable (https://docs.rs/is_executable/latest/is_executable/) } else { warn!(module = module.name, url, "=> {} Skipping checksum verification", Label::pass()); } Loading @@ -594,8 +605,13 @@ impl Config { | ModuleUri::File(value) => match value.try_exists() { | Ok(true) => { let path = value.into_os_string().into_string().unwrap(); // TODO: Verify binary is executable (https://docs.rs/is_executable/latest/is_executable/) debug!(module = module.name, path, "=> {} Local binary", Label::found()); if !make_executable(&PathBuf::from(path.clone())) { error!(module = module.name, path, "=> {} Binary is not executable", Label::fail()); std::process::exit(exitcode::USAGE); } else { info!(module = module.name, path, "=> {} Binary is executable", Label::pass()); } } | _ => { let path = value.into_os_string().into_string().unwrap(); Loading Loading @@ -1840,13 +1856,15 @@ pub fn is_stdout_piped() -> StdoutIsPipedResult { } } #[cfg(any(unix, target_os = "wasi", target_os = "redox"))] fn make_executable(path: &PathBuf) { fn make_executable(path: &PathBuf) -> bool { use std::os::unix::fs::PermissionsExt; std::fs::set_permissions(path, std::fs::Permissions::from_mode(0o755)).unwrap(); path.is_executable() } #[cfg(windows)] fn make_executable(path: &PathBuf) { fn make_executable(path: &PathBuf) -> bool { // TODO: Add windows support...pass through? path.is_executable() } fn path_to_string(path: PathBuf) -> String { // NOTE: fs::canonicalize might cause problems on Windows Loading Loading
Cargo.lock +10 −0 Original line number Diff line number Diff line Loading @@ -1655,6 +1655,15 @@ dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "is_executable" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" dependencies = [ "winapi 0.3.9", ] [[package]] name = "itoa" version = "1.0.11" Loading Loading @@ -2234,6 +2243,7 @@ dependencies = [ "exitcode", "fancy-regex", "is-terminal", "is_executable", "owo-colors 4.0.0", "rayon", "reqwest", Loading
lcov.info +553 −544 Original line number Diff line number Diff line Loading @@ -260,78 +260,78 @@ LH:0 end_of_record TN: SF:/root/dev/command/pipe-lib/src/lib.rs FN:467,Command::test FN:490,Config::get_environment_variables FN:502,Config::get_inputs FN:539,Config::prepare_modules FN:721,Config::read FN:745,Config::read_json FN:766,Config::read_yaml FN:786,Config::run_workflow FN:858,Config::set_environment_variables FN:874,Config::verify_requirements FN:892,Config::verify_resources FN:901,<impl PartialEq for Details>::eq FN:908,EnvironmentValue::from_string FN:911,EnvironmentValue::from_value FN:919,EnvironmentValue::prepend_prefix FN:923,EnvironmentValue::trim_prefix FN:927,EnvironmentValue::get_from_serde FN:941,EnvironmentValue::get_all FN:951,EnvironmentValue::print_all FN:956,EnvironmentValue::set_variable FN:966,EnvironmentValue::set_variables FN:973,Extension::from_string FN:982,Label::dry_run FN:986,Label::invalid FN:989,Label::fmt_invalid FN:993,Label::fail FN:996,Label::fmt_fail FN:1000,Label::found FN:1004,Label::not_found FN:1007,Label::fmt_not_found FN:1011,Label::output FN:1014,Label::fmt_output FN:1018,Label::pass FN:1022,Label::read FN:1026,Label::rejected FN:1030,Label::run FN:1034,Label::using FN:1040,ModuleUri<'_>::from FN:1050,ModuleUri<'_>::hash FN:1074,ModuleUri<'_>::get_whitelist FN:1077,ModuleUri<'_>::is_allowed FN:1080,ModuleUri<'_>::test FN:1081,ModuleUri<'_>::test::check FN:1098,ModuleUri<'_>::working_directory FN:1110,SemanticVersion::from_string FN:1119,Script::ensure_relative FN:1138,Script::expand_arguments FN:1173,Script::expand_arguments_from FN:1208,Script::from_module FN:1266,Script::from_path FN:1281,Script::from_template FN:1301,Script::get_command FN:1311,Script::get_arguments FN:1351,Script::maybe_create_virtual_environment FN:1392,Script::maybe_git_clone FN:1399,Script::python_default FN:1413,Script::run FN:1480,Script::with_container FN:1487,Script::with_current_dir FN:1492,Script::with_envs FN:1534,Script::with_virtual_environment FN:1540,ScriptTemplate::from_path FN:1552,ScriptTemplate::resolve_python_virtual_environment FN:1580,StringTemplate::new FN:1589,StringTemplate::expand FN:1596,StringTemplate::get_variable FN:1626,StringTemplate::is_handlebars FN:1661,StringTemplate::remove_spaces FN:1671,add_dot_slash FN:1679,add_forward_slash FN:1686,download_binary FN:1687,download_binary::download FN:468,Command::test FN:491,Config::get_environment_variables FN:503,Config::get_inputs FN:540,Config::prepare_modules FN:737,Config::read FN:761,Config::read_json FN:782,Config::read_yaml FN:802,Config::run_workflow FN:874,Config::set_environment_variables FN:890,Config::verify_requirements FN:908,Config::verify_resources FN:917,<impl PartialEq for Details>::eq FN:924,EnvironmentValue::from_string FN:927,EnvironmentValue::from_value FN:935,EnvironmentValue::prepend_prefix FN:939,EnvironmentValue::trim_prefix FN:943,EnvironmentValue::get_from_serde FN:957,EnvironmentValue::get_all FN:967,EnvironmentValue::print_all FN:972,EnvironmentValue::set_variable FN:982,EnvironmentValue::set_variables FN:989,Extension::from_string FN:998,Label::dry_run FN:1002,Label::invalid FN:1005,Label::fmt_invalid FN:1009,Label::fail FN:1012,Label::fmt_fail FN:1016,Label::found FN:1020,Label::not_found FN:1023,Label::fmt_not_found FN:1027,Label::output FN:1030,Label::fmt_output FN:1034,Label::pass FN:1038,Label::read FN:1042,Label::rejected FN:1046,Label::run FN:1050,Label::using FN:1056,ModuleUri<'_>::from FN:1066,ModuleUri<'_>::hash FN:1090,ModuleUri<'_>::get_whitelist FN:1093,ModuleUri<'_>::is_allowed FN:1096,ModuleUri<'_>::test FN:1097,ModuleUri<'_>::test::check FN:1114,ModuleUri<'_>::working_directory FN:1126,SemanticVersion::from_string FN:1135,Script::ensure_relative FN:1154,Script::expand_arguments FN:1189,Script::expand_arguments_from FN:1224,Script::from_module FN:1282,Script::from_path FN:1297,Script::from_template FN:1317,Script::get_command FN:1327,Script::get_arguments FN:1367,Script::maybe_create_virtual_environment FN:1408,Script::maybe_git_clone FN:1415,Script::python_default FN:1429,Script::run FN:1496,Script::with_container FN:1503,Script::with_current_dir FN:1508,Script::with_envs FN:1550,Script::with_virtual_environment FN:1556,ScriptTemplate::from_path FN:1568,ScriptTemplate::resolve_python_virtual_environment FN:1596,StringTemplate::new FN:1605,StringTemplate::expand FN:1612,StringTemplate::get_variable FN:1642,StringTemplate::is_handlebars FN:1677,StringTemplate::remove_spaces FN:1687,add_dot_slash FN:1695,add_forward_slash FN:1702,download_binary FN:1703,download_binary::download FNF:72 FNDA:1,Command::test FNDA:0,Config::get_environment_variables Loading Loading @@ -393,7 +393,7 @@ FNDA:1,Script::run FNDA:1,Script::with_container FNDA:1,Script::with_current_dir FNDA:0,Script::with_envs FNDA:1,Script::with_virtual_environment FNDA:2,Script::with_virtual_environment FNDA:1,ScriptTemplate::from_path FNDA:0,ScriptTemplate::resolve_python_virtual_environment FNDA:2,StringTemplate::new Loading @@ -405,668 +405,677 @@ FNDA:1,add_dot_slash FNDA:1,add_forward_slash FNDA:0,download_binary FNDA:0,download_binary::download DA:467,1 DA:468,2 DA:469,1 DA:470,5 DA:471,4 DA:473,6 DA:474,2 DA:477,0 DA:468,1 DA:469,2 DA:470,1 DA:471,5 DA:472,4 DA:474,6 DA:475,2 DA:478,0 DA:483,3 DA:484,1 DA:490,0 DA:479,0 DA:484,3 DA:485,1 DA:491,0 DA:492,0 DA:493,0 DA:494,0 DA:495,0 DA:496,0 DA:502,0 DA:497,0 DA:503,0 DA:504,0 DA:505,0 DA:506,0 DA:507,0 DA:509,0 DA:508,0 DA:510,0 DA:511,0 DA:513,0 DA:512,0 DA:514,0 DA:518,0 DA:515,0 DA:519,0 DA:523,0 DA:520,0 DA:524,0 DA:529,0 DA:539,0 DA:525,0 DA:530,0 DA:540,0 DA:541,0 DA:542,0 DA:544,0 DA:547,0 DA:543,0 DA:545,0 DA:548,0 DA:549,0 DA:550,0 DA:551,0 DA:552,0 DA:553,0 DA:555,0 DA:554,0 DA:556,0 DA:557,0 DA:558,0 DA:559,0 DA:563,0 DA:569,0 DA:571,0 DA:574,0 DA:579,0 DA:560,0 DA:561,0 DA:566,0 DA:568,0 DA:570,0 DA:575,0 DA:581,0 DA:583,0 DA:586,0 DA:589,0 DA:592,0 DA:594,0 DA:596,0 DA:598,0 DA:601,0 DA:602,0 DA:591,0 DA:593,0 DA:597,0 DA:600,0 DA:603,0 DA:606,0 DA:605,0 DA:607,0 DA:608,0 DA:609,0 DA:610,0 DA:612,0 DA:611,0 DA:613,0 DA:617,0 DA:618,0 DA:619,0 DA:621,0 DA:623,0 DA:622,0 DA:624,0 DA:625,0 DA:626,0 DA:628,0 DA:629,0 DA:630,0 DA:633,0 DA:635,0 DA:636,0 DA:638,0 DA:641,0 DA:642,0 DA:637,0 DA:639,0 DA:640,0 DA:644,0 DA:645,0 DA:647,0 DA:648,0 DA:646,0 DA:649,0 DA:650,0 DA:651,0 DA:652,0 DA:654,0 DA:657,0 DA:658,0 DA:660,0 DA:661,0 DA:663,0 DA:664,0 DA:665,0 DA:666,0 DA:667,0 DA:669,0 DA:673,0 DA:675,0 DA:677,0 DA:678,0 DA:668,0 DA:670,0 DA:680,0 DA:681,0 DA:682,0 DA:692,0 DA:683,0 DA:685,0 DA:689,0 DA:691,0 DA:693,0 DA:694,0 DA:695,0 DA:697,0 DA:702,0 DA:703,0 DA:707,0 DA:698,0 DA:708,0 DA:709,0 DA:710,0 DA:711,0 DA:713,0 DA:715,0 DA:717,0 DA:718,0 DA:719,0 DA:721,1 DA:722,2 DA:723,2 DA:724,1 DA:725,0 DA:727,2 DA:728,1 DA:723,0 DA:726,0 DA:729,0 DA:733,2 DA:734,1 DA:736,0 DA:737,0 DA:745,1 DA:746,2 DA:747,2 DA:749,0 DA:750,0 DA:753,3 DA:754,2 DA:755,4 DA:756,0 DA:758,6 DA:759,2 DA:766,1 DA:767,2 DA:768,1 DA:770,0 DA:771,0 DA:774,2 DA:775,1 DA:776,2 DA:777,0 DA:779,3 DA:780,1 DA:731,0 DA:733,0 DA:735,0 DA:737,1 DA:738,2 DA:739,2 DA:740,1 DA:741,0 DA:743,2 DA:744,1 DA:745,0 DA:749,2 DA:750,1 DA:752,0 DA:753,0 DA:761,1 DA:762,2 DA:763,2 DA:765,0 DA:766,0 DA:769,3 DA:770,2 DA:771,4 DA:772,0 DA:774,6 DA:775,2 DA:782,1 DA:783,2 DA:784,1 DA:786,0 DA:787,0 DA:789,0 DA:790,0 DA:791,0 DA:792,0 DA:790,2 DA:791,1 DA:792,2 DA:793,0 DA:794,0 DA:795,0 DA:797,0 DA:800,0 DA:795,3 DA:796,1 DA:802,0 DA:803,0 DA:805,0 DA:806,0 DA:807,0 DA:808,0 DA:809,0 DA:810,0 DA:811,0 DA:812,0 DA:813,0 DA:814,0 DA:816,0 DA:819,0 DA:822,0 DA:824,0 DA:825,0 DA:826,0 DA:827,0 DA:828,0 DA:829,0 DA:830,0 DA:832,0 DA:833,0 DA:835,0 DA:836,0 DA:837,0 DA:838,0 DA:839,0 DA:840,0 DA:841,0 DA:842,0 DA:843,0 DA:844,0 DA:845,0 DA:846,0 DA:848,0 DA:849,0 DA:851,0 DA:852,0 DA:853,0 DA:854,0 DA:858,0 DA:855,0 DA:856,0 DA:857,0 DA:859,0 DA:860,0 DA:861,0 DA:862,0 DA:863,0 DA:865,0 DA:868,0 DA:870,0 DA:874,0 DA:875,0 DA:876,0 DA:877,0 DA:878,0 DA:879,0 DA:880,0 DA:884,0 DA:886,0 DA:890,0 DA:891,0 DA:892,0 DA:893,0 DA:901,1 DA:902,1 DA:894,0 DA:895,0 DA:896,0 DA:900,0 DA:902,0 DA:908,0 DA:909,0 DA:911,0 DA:912,0 DA:913,0 DA:914,0 DA:915,0 DA:916,0 DA:919,0 DA:920,0 DA:923,1 DA:924,1 DA:925,2 DA:917,1 DA:918,1 DA:924,0 DA:925,0 DA:927,0 DA:928,0 DA:929,0 DA:930,0 DA:931,0 DA:932,0 DA:933,0 DA:934,0 DA:935,0 DA:937,0 DA:939,0 DA:941,1 DA:942,1 DA:943,2 DA:944,2 DA:945,2 DA:946,2 DA:947,1 DA:936,0 DA:939,1 DA:940,1 DA:941,2 DA:943,0 DA:944,0 DA:945,0 DA:946,0 DA:947,0 DA:948,0 DA:949,0 DA:950,0 DA:951,0 DA:952,0 DA:953,0 DA:956,0 DA:957,0 DA:958,0 DA:959,0 DA:960,0 DA:961,0 DA:962,0 DA:966,0 DA:955,0 DA:957,1 DA:958,1 DA:959,2 DA:960,2 DA:961,2 DA:962,2 DA:963,1 DA:967,0 DA:968,0 DA:969,0 DA:973,1 DA:974,2 DA:975,2 DA:976,3 DA:972,0 DA:973,0 DA:974,0 DA:975,0 DA:976,0 DA:977,0 DA:978,0 DA:982,0 DA:983,0 DA:984,0 DA:986,0 DA:987,0 DA:989,0 DA:990,0 DA:991,0 DA:985,0 DA:989,1 DA:990,2 DA:991,2 DA:992,3 DA:993,0 DA:994,0 DA:996,0 DA:997,0 DA:998,0 DA:999,0 DA:1000,0 DA:1001,0 DA:1002,0 DA:1004,0 DA:1003,0 DA:1005,0 DA:1006,0 DA:1007,0 DA:1008,0 DA:1009,0 DA:1011,1 DA:1012,3 DA:1014,3 DA:1015,3 DA:1016,3 DA:1010,0 DA:1012,0 DA:1013,0 DA:1014,0 DA:1016,0 DA:1017,0 DA:1018,0 DA:1019,0 DA:1020,0 DA:1022,0 DA:1021,0 DA:1023,0 DA:1024,0 DA:1026,0 DA:1027,0 DA:1028,0 DA:1030,0 DA:1031,0 DA:1032,0 DA:1025,0 DA:1027,1 DA:1028,3 DA:1030,3 DA:1031,3 DA:1032,3 DA:1034,0 DA:1035,0 DA:1036,0 DA:1040,2 DA:1041,2 DA:1042,3 DA:1043,1 DA:1044,2 DA:1045,0 DA:1047,1 DA:1050,1 DA:1051,1 DA:1052,1 DA:1053,1 DA:1054,1 DA:1055,0 DA:1038,0 DA:1039,0 DA:1040,0 DA:1042,0 DA:1043,0 DA:1044,0 DA:1046,0 DA:1047,0 DA:1048,0 DA:1050,0 DA:1051,0 DA:1052,0 DA:1056,2 DA:1057,2 DA:1061,2 DA:1062,2 DA:1064,2 DA:1065,2 DA:1067,2 DA:1070,0 DA:1074,0 DA:1075,0 DA:1077,0 DA:1078,0 DA:1080,0 DA:1081,0 DA:1082,0 DA:1084,0 DA:1085,0 DA:1058,3 DA:1059,1 DA:1060,2 DA:1061,0 DA:1063,1 DA:1066,1 DA:1067,1 DA:1068,1 DA:1069,1 DA:1070,1 DA:1071,0 DA:1073,2 DA:1077,2 DA:1078,2 DA:1080,2 DA:1081,2 DA:1083,2 DA:1086,0 DA:1087,0 DA:1088,0 DA:1089,0 DA:1090,0 DA:1092,0 DA:1091,0 DA:1093,0 DA:1094,0 DA:1096,0 DA:1097,0 DA:1098,0 DA:1099,0 DA:1100,0 DA:1101,0 DA:1102,0 DA:1103,0 DA:1104,0 DA:1105,0 DA:1110,1 DA:1111,1 DA:1112,3 DA:1113,3 DA:1114,3 DA:1119,1 DA:1120,1 DA:1121,2 DA:1122,1 DA:1106,0 DA:1108,0 DA:1110,0 DA:1114,0 DA:1115,0 DA:1116,0 DA:1117,0 DA:1118,0 DA:1120,0 DA:1121,0 DA:1126,1 DA:1127,1 DA:1128,3 DA:1129,3 DA:1130,3 DA:1135,1 DA:1136,1 DA:1137,2 DA:1138,1 DA:1139,2 DA:1142,2 DA:1143,1 DA:1144,2 DA:1145,1 DA:1146,1 DA:1148,2 DA:1152,1 DA:1153,1 DA:1173,1 DA:1174,2 DA:1177,2 DA:1178,1 DA:1179,2 DA:1180,2 DA:1183,2 DA:1185,1 DA:1187,2 DA:1191,1 DA:1192,1 DA:1208,0 DA:1210,0 DA:1211,0 DA:1212,0 DA:1215,0 DA:1216,0 DA:1217,0 DA:1218,0 DA:1219,0 DA:1221,0 DA:1222,0 DA:1223,0 DA:1154,1 DA:1155,2 DA:1158,2 DA:1159,1 DA:1160,2 DA:1161,1 DA:1162,1 DA:1164,2 DA:1168,1 DA:1169,1 DA:1189,1 DA:1190,2 DA:1193,2 DA:1194,1 DA:1195,2 DA:1196,2 DA:1199,2 DA:1201,1 DA:1203,2 DA:1207,1 DA:1208,1 DA:1224,0 DA:1226,0 DA:1227,0 DA:1228,0 DA:1229,0 DA:1231,0 DA:1232,0 DA:1233,0 DA:1234,0 DA:1235,0 DA:1237,0 DA:1238,0 DA:1239,0 DA:1240,0 DA:1242,0 DA:1243,0 DA:1244,0 DA:1245,0 DA:1248,0 DA:1249,0 DA:1250,0 DA:1266,1 DA:1267,1 DA:1268,1 DA:1281,1 DA:1253,0 DA:1255,0 DA:1256,0 DA:1259,0 DA:1265,0 DA:1266,0 DA:1282,1 DA:1283,3 DA:1287,2 DA:1289,2 DA:1291,2 DA:1295,1 DA:1296,1 DA:1283,1 DA:1284,1 DA:1297,1 DA:1299,2 DA:1301,1 DA:1302,1 DA:1303,1 DA:1304,1 DA:1306,1 DA:1298,1 DA:1299,3 DA:1303,2 DA:1305,2 DA:1307,2 DA:1308,1 DA:1311,1 DA:1312,1 DA:1313,1 DA:1314,1 DA:1315,1 DA:1316,1 DA:1317,0 DA:1319,0 DA:1320,0 DA:1315,2 DA:1317,1 DA:1318,1 DA:1319,1 DA:1320,1 DA:1322,1 DA:1323,2 DA:1324,2 DA:1326,1 DA:1324,1 DA:1327,1 DA:1328,1 DA:1329,1 DA:1330,2 DA:1331,2 DA:1332,2 DA:1334,2 DA:1336,4 DA:1337,2 DA:1339,0 DA:1340,0 DA:1343,2 DA:1344,2 DA:1346,1 DA:1351,0 DA:1352,0 DA:1353,0 DA:1354,0 DA:1330,1 DA:1331,1 DA:1332,1 DA:1333,0 DA:1335,0 DA:1336,0 DA:1339,2 DA:1340,2 DA:1342,1 DA:1344,1 DA:1345,1 DA:1346,2 DA:1347,2 DA:1348,2 DA:1350,2 DA:1352,4 DA:1353,2 DA:1355,0 DA:1356,0 DA:1357,0 DA:1358,0 DA:1359,0 DA:1360,0 DA:1361,0 DA:1363,0 DA:1364,0 DA:1365,0 DA:1366,0 DA:1359,2 DA:1360,2 DA:1362,1 DA:1367,0 DA:1368,0 DA:1369,0 DA:1371,0 DA:1370,0 DA:1372,0 DA:1373,0 DA:1374,0 DA:1375,0 DA:1376,0 DA:1377,0 DA:1379,0 DA:1380,0 DA:1381,0 DA:1382,0 DA:1383,0 DA:1384,0 DA:1385,0 DA:1387,0 DA:1388,0 DA:1392,1 DA:1393,2 DA:1394,2 DA:1395,2 DA:1396,3 DA:1397,1 DA:1391,0 DA:1395,0 DA:1396,0 DA:1399,0 DA:1400,0 DA:1401,0 DA:1409,0 DA:1404,0 DA:1408,1 DA:1409,2 DA:1410,2 DA:1411,2 DA:1412,3 DA:1413,1 DA:1414,1 DA:1415,1 DA:1416,2 DA:1417,2 DA:1418,3 DA:1419,1 DA:1420,7 DA:1421,2 DA:1422,1 DA:1423,1 DA:1424,1 DA:1425,1 DA:1430,2 DA:1415,0 DA:1416,0 DA:1417,0 DA:1425,0 DA:1429,1 DA:1430,1 DA:1431,1 DA:1433,0 DA:1434,0 DA:1437,1 DA:1432,2 DA:1433,2 DA:1434,3 DA:1435,1 DA:1436,7 DA:1437,2 DA:1438,1 DA:1439,2 DA:1440,2 DA:1443,2 DA:1444,1 DA:1446,0 DA:1447,0 DA:1450,1 DA:1451,1 DA:1452,2 DA:1453,3 DA:1454,2 DA:1457,2 DA:1458,1 DA:1459,3 DA:1439,1 DA:1440,1 DA:1441,1 DA:1446,2 DA:1447,1 DA:1449,0 DA:1450,0 DA:1453,1 DA:1454,1 DA:1455,2 DA:1456,2 DA:1459,2 DA:1460,1 DA:1461,3 DA:1462,3 DA:1463,1 DA:1465,0 DA:1466,0 DA:1467,0 DA:1470,0 DA:1471,0 DA:1472,0 DA:1476,0 DA:1477,0 DA:1480,1 DA:1481,1 DA:1482,1 DA:1487,1 DA:1488,2 DA:1489,1 DA:1462,0 DA:1463,0 DA:1466,1 DA:1467,1 DA:1468,2 DA:1469,3 DA:1470,2 DA:1473,2 DA:1474,1 DA:1475,3 DA:1476,1 DA:1477,3 DA:1478,3 DA:1479,1 DA:1481,0 DA:1482,0 DA:1483,0 DA:1486,0 DA:1487,0 DA:1488,0 DA:1492,0 DA:1493,0 DA:1494,0 DA:1534,1 DA:1535,1 DA:1536,1 DA:1540,1 DA:1541,2 DA:1542,1 DA:1544,0 DA:1545,0 DA:1548,2 DA:1550,1 DA:1552,0 DA:1553,0 DA:1554,0 DA:1555,0 DA:1556,0 DA:1557,0 DA:1558,0 DA:1559,0 DA:1496,1 DA:1497,1 DA:1498,1 DA:1503,1 DA:1504,2 DA:1505,1 DA:1508,0 DA:1509,0 DA:1510,0 DA:1550,2 DA:1551,1 DA:1552,1 DA:1556,1 DA:1557,2 DA:1558,1 DA:1560,0 DA:1561,0 DA:1562,0 DA:1563,0 DA:1564,2 DA:1566,1 DA:1568,0 DA:1569,0 DA:1570,0 DA:1580,2 DA:1582,2 DA:1589,1 DA:1590,6 DA:1591,5 DA:1596,1 DA:1597,2 DA:1571,0 DA:1572,0 DA:1573,0 DA:1574,0 DA:1575,0 DA:1577,0 DA:1578,0 DA:1579,0 DA:1584,0 DA:1585,0 DA:1586,0 DA:1596,2 DA:1598,2 DA:1599,1 DA:1600,2 DA:1602,0 DA:1626,2 DA:1627,4 DA:1628,4 DA:1629,2 DA:1630,0 DA:1632,0 DA:1661,1 DA:1662,2 DA:1663,1 DA:1664,0 DA:1666,3 DA:1667,1 DA:1671,1 DA:1672,2 DA:1673,2 DA:1675,4 DA:1605,1 DA:1606,6 DA:1607,5 DA:1612,1 DA:1613,2 DA:1614,2 DA:1615,1 DA:1616,2 DA:1618,0 DA:1642,2 DA:1643,4 DA:1644,4 DA:1645,2 DA:1646,0 DA:1648,0 DA:1677,1 DA:1678,2 DA:1679,1 DA:1680,2 DA:1681,0 DA:1683,2 DA:1686,0 DA:1687,0 DA:1688,0 DA:1689,0 DA:1690,0 DA:1691,0 DA:1692,0 DA:1693,0 DA:1694,0 DA:1695,0 DA:1696,0 DA:1680,0 DA:1682,3 DA:1683,1 DA:1687,1 DA:1688,2 DA:1689,2 DA:1691,4 DA:1695,1 DA:1696,2 DA:1697,0 DA:1699,0 DA:1701,0 DA:1699,2 DA:1702,0 DA:1703,0 DA:1704,0 DA:1705,0 DA:1706,0 DA:1707,0 DA:1722,1 DA:1723,1 DA:1724,4 DA:1725,2 DA:1729,1 DA:1730,2 DA:1731,2 DA:1732,2 DA:1733,2 DA:1734,5 DA:1737,1 DA:1739,2 DA:1741,4 DA:1744,0 DA:1771,1 DA:1772,2 DA:1773,2 DA:1774,1 DA:1775,6 DA:1708,0 DA:1709,0 DA:1710,0 DA:1711,0 DA:1712,0 DA:1713,0 DA:1715,0 DA:1717,0 DA:1720,0 DA:1721,0 DA:1722,0 DA:1723,0 DA:1738,1 DA:1739,1 DA:1740,4 DA:1741,2 DA:1745,1 DA:1746,2 DA:1747,2 DA:1748,2 DA:1749,2 DA:1750,5 DA:1753,1 DA:1755,2 DA:1757,4 DA:1760,0 DA:1787,1 DA:1789,0 DA:1791,1 DA:1806,1 DA:1788,2 DA:1789,2 DA:1790,1 DA:1791,6 DA:1803,1 DA:1805,0 DA:1807,1 DA:1810,1 DA:1811,3 DA:1822,1 DA:1823,1 DA:1824,1 DA:1827,0 DA:1828,0 DA:1829,0 DA:1831,0 DA:1835,0 DA:1836,0 DA:1837,0 DA:1839,0 DA:1826,1 DA:1827,3 DA:1839,1 DA:1840,1 DA:1843,0 DA:1844,0 DA:1845,0 DA:1851,1 DA:1853,2 DA:1854,1 DA:1855,1 DA:1857,3 DA:1870,2 DA:1847,0 DA:1851,0 DA:1852,0 DA:1853,0 DA:1855,0 DA:1859,0 DA:1861,0 DA:1862,0 DA:1869,1 DA:1871,2 DA:1872,4 DA:1873,4 DA:1874,12 DA:1875,8 DA:1877,1 DA:1878,3 DA:1879,1 DA:1882,1 DA:1884,1 DA:1885,8 LF:662 DA:1872,1 DA:1873,1 DA:1875,3 DA:1888,2 DA:1889,2 DA:1890,4 DA:1891,4 DA:1892,12 DA:1893,8 DA:1895,1 DA:1896,3 DA:1897,1 DA:1900,1 DA:1902,1 DA:1903,8 LF:671 LH:263 end_of_record
pipe-lib/Cargo.toml +1 −0 Original line number Diff line number Diff line Loading @@ -32,3 +32,4 @@ sha2 = "0.10.8" which = "6.0.3" reqwest = "0.12.8" bytes = "1.7.2" is_executable = "1.0.4"
pipe-lib/src/lib.rs +23 −5 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use clap::ValueEnum; use color_eyre::eyre::{Report, Result}; use derive_more::{Display, FromStr}; use fancy_regex::Regex; use is_executable::IsExecutable; use is_terminal::IsTerminal; use owo_colors::{OwoColorize, Style, Styled}; use rayon::prelude::*; Loading Loading @@ -556,7 +557,18 @@ impl Config { | Some(value) if value == &calculated_checksum => { info!(module = module.name, url, "=> {} Checksum verified", Label::pass()); if let Ok(path) = output { make_executable(&path); if !make_executable(&path) { error!( module = module.name, url, checksum, "=> {} Downloaded binary is not executable", Label::fail() ); std::process::exit(exitcode::USAGE); } else { info!(module = module.name, url, "=> {} Downloaded binary is executable", Label::pass()); } } } | Some(_) => { Loading @@ -581,7 +593,6 @@ impl Config { std::process::exit(exitcode::UNAVAILABLE); } } // TODO: Verify binary is executable (https://docs.rs/is_executable/latest/is_executable/) } else { warn!(module = module.name, url, "=> {} Skipping checksum verification", Label::pass()); } Loading @@ -594,8 +605,13 @@ impl Config { | ModuleUri::File(value) => match value.try_exists() { | Ok(true) => { let path = value.into_os_string().into_string().unwrap(); // TODO: Verify binary is executable (https://docs.rs/is_executable/latest/is_executable/) debug!(module = module.name, path, "=> {} Local binary", Label::found()); if !make_executable(&PathBuf::from(path.clone())) { error!(module = module.name, path, "=> {} Binary is not executable", Label::fail()); std::process::exit(exitcode::USAGE); } else { info!(module = module.name, path, "=> {} Binary is executable", Label::pass()); } } | _ => { let path = value.into_os_string().into_string().unwrap(); Loading Loading @@ -1840,13 +1856,15 @@ pub fn is_stdout_piped() -> StdoutIsPipedResult { } } #[cfg(any(unix, target_os = "wasi", target_os = "redox"))] fn make_executable(path: &PathBuf) { fn make_executable(path: &PathBuf) -> bool { use std::os::unix::fs::PermissionsExt; std::fs::set_permissions(path, std::fs::Permissions::from_mode(0o755)).unwrap(); path.is_executable() } #[cfg(windows)] fn make_executable(path: &PathBuf) { fn make_executable(path: &PathBuf) -> bool { // TODO: Add windows support...pass through? path.is_executable() } fn path_to_string(path: PathBuf) -> String { // NOTE: fs::canonicalize might cause problems on Windows Loading