this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: adding test stubs

+586 -84
+464 -84
Cargo.lock
··· 9 9 checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 10 10 11 11 [[package]] 12 + name = "aho-corasick" 13 + version = "1.0.2" 14 + source = "registry+https://github.com/rust-lang/crates.io-index" 15 + checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" 16 + dependencies = [ 17 + "memchr", 18 + ] 19 + 20 + [[package]] 12 21 name = "anstream" 13 - version = "0.2.6" 22 + version = "0.3.2" 14 23 source = "registry+https://github.com/rust-lang/crates.io-index" 15 - checksum = "342258dd14006105c2b75ab1bd7543a03bdf0cfc94383303ac212a04939dff6f" 24 + checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" 16 25 dependencies = [ 17 26 "anstyle", 18 27 "anstyle-parse", 28 + "anstyle-query", 19 29 "anstyle-wincon", 20 - "concolor-override", 21 - "concolor-query", 30 + "colorchoice", 22 31 "is-terminal", 23 32 "utf8parse", 24 33 ] 25 34 26 35 [[package]] 27 36 name = "anstyle" 28 - version = "0.3.5" 37 + version = "1.0.1" 29 38 source = "registry+https://github.com/rust-lang/crates.io-index" 30 - checksum = "23ea9e81bd02e310c216d080f6223c179012256e5151c41db88d12c88a1684d2" 39 + checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" 31 40 32 41 [[package]] 33 42 name = "anstyle-parse" 34 - version = "0.1.1" 43 + version = "0.2.1" 35 44 source = "registry+https://github.com/rust-lang/crates.io-index" 36 - checksum = "a7d1bb534e9efed14f3e5f44e7dd1a4f709384023a4165199a4241e18dff0116" 45 + checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" 37 46 dependencies = [ 38 47 "utf8parse", 39 48 ] 40 49 41 50 [[package]] 51 + name = "anstyle-query" 52 + version = "1.0.0" 53 + source = "registry+https://github.com/rust-lang/crates.io-index" 54 + checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" 55 + dependencies = [ 56 + "windows-sys", 57 + ] 58 + 59 + [[package]] 42 60 name = "anstyle-wincon" 43 - version = "0.2.0" 61 + version = "1.0.1" 44 62 source = "registry+https://github.com/rust-lang/crates.io-index" 45 - checksum = "c3127af6145b149f3287bb9a0d10ad9c5692dba8c53ad48285e5bec4063834fa" 63 + checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" 46 64 dependencies = [ 47 65 "anstyle", 48 66 "windows-sys", 49 67 ] 50 68 51 69 [[package]] 70 + name = "assert_cmd" 71 + version = "2.0.11" 72 + source = "registry+https://github.com/rust-lang/crates.io-index" 73 + checksum = "86d6b683edf8d1119fe420a94f8a7e389239666aa72e65495d91c00462510151" 74 + dependencies = [ 75 + "anstyle", 76 + "bstr", 77 + "doc-comment", 78 + "predicates", 79 + "predicates-core", 80 + "predicates-tree", 81 + "wait-timeout", 82 + ] 83 + 84 + [[package]] 85 + name = "assert_fs" 86 + version = "1.0.13" 87 + source = "registry+https://github.com/rust-lang/crates.io-index" 88 + checksum = "f070617a68e5c2ed5d06ee8dd620ee18fb72b99f6c094bed34cf8ab07c875b48" 89 + dependencies = [ 90 + "anstyle", 91 + "doc-comment", 92 + "globwalk", 93 + "predicates", 94 + "predicates-core", 95 + "predicates-tree", 96 + "tempfile", 97 + ] 98 + 99 + [[package]] 100 + name = "autocfg" 101 + version = "1.1.0" 102 + source = "registry+https://github.com/rust-lang/crates.io-index" 103 + checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 104 + 105 + [[package]] 52 106 name = "bitflags" 53 107 version = "1.3.2" 54 108 source = "registry+https://github.com/rust-lang/crates.io-index" 55 109 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 56 110 57 111 [[package]] 112 + name = "bitflags" 113 + version = "2.3.3" 114 + source = "registry+https://github.com/rust-lang/crates.io-index" 115 + checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" 116 + 117 + [[package]] 118 + name = "bstr" 119 + version = "1.6.0" 120 + source = "registry+https://github.com/rust-lang/crates.io-index" 121 + checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" 122 + dependencies = [ 123 + "memchr", 124 + "regex-automata", 125 + "serde", 126 + ] 127 + 128 + [[package]] 58 129 name = "cc" 59 130 version = "1.0.79" 60 131 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 68 139 69 140 [[package]] 70 141 name = "clap" 71 - version = "4.2.1" 142 + version = "4.3.11" 72 143 source = "registry+https://github.com/rust-lang/crates.io-index" 73 - checksum = "046ae530c528f252094e4a77886ee1374437744b2bff1497aa898bbddbbb29b3" 144 + checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d" 74 145 dependencies = [ 75 146 "clap_builder", 76 147 "clap_derive", ··· 79 150 80 151 [[package]] 81 152 name = "clap_builder" 82 - version = "4.2.1" 153 + version = "4.3.11" 83 154 source = "registry+https://github.com/rust-lang/crates.io-index" 84 - checksum = "223163f58c9a40c3b0a43e1c4b50a9ce09f007ea2cb1ec258a687945b4b7929f" 155 + checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b" 85 156 dependencies = [ 86 157 "anstream", 87 158 "anstyle", 88 - "bitflags", 89 159 "clap_lex", 90 160 "strsim", 91 161 ] 92 162 93 163 [[package]] 94 164 name = "clap_derive" 95 - version = "4.2.0" 165 + version = "4.3.2" 96 166 source = "registry+https://github.com/rust-lang/crates.io-index" 97 - checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" 167 + checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" 98 168 dependencies = [ 99 169 "heck", 100 170 "proc-macro2", ··· 104 174 105 175 [[package]] 106 176 name = "clap_lex" 107 - version = "0.4.1" 177 + version = "0.5.0" 108 178 source = "registry+https://github.com/rust-lang/crates.io-index" 109 - checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" 179 + checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" 110 180 111 181 [[package]] 112 182 name = "cmprss" 113 183 version = "0.0.1" 114 184 dependencies = [ 185 + "assert_cmd", 186 + "assert_fs", 115 187 "clap", 116 188 "flate2", 117 189 "is-terminal", 190 + "predicates", 118 191 "tar", 119 192 ] 120 193 121 194 [[package]] 122 - name = "concolor-override" 195 + name = "colorchoice" 123 196 version = "1.0.0" 124 197 source = "registry+https://github.com/rust-lang/crates.io-index" 125 - checksum = "a855d4a1978dc52fb0536a04d384c2c0c1aa273597f08b77c8c4d3b2eec6037f" 126 - 127 - [[package]] 128 - name = "concolor-query" 129 - version = "0.3.3" 130 - source = "registry+https://github.com/rust-lang/crates.io-index" 131 - checksum = "88d11d52c3d7ca2e6d0040212be9e4dbbcd78b6447f535b6b561f449427944cf" 132 - dependencies = [ 133 - "windows-sys", 134 - ] 198 + checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" 135 199 136 200 [[package]] 137 201 name = "crc32fast" ··· 143 207 ] 144 208 145 209 [[package]] 210 + name = "difflib" 211 + version = "0.4.0" 212 + source = "registry+https://github.com/rust-lang/crates.io-index" 213 + checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" 214 + 215 + [[package]] 216 + name = "doc-comment" 217 + version = "0.3.3" 218 + source = "registry+https://github.com/rust-lang/crates.io-index" 219 + checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" 220 + 221 + [[package]] 222 + name = "either" 223 + version = "1.8.1" 224 + source = "registry+https://github.com/rust-lang/crates.io-index" 225 + checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" 226 + 227 + [[package]] 146 228 name = "errno" 147 - version = "0.3.0" 229 + version = "0.3.1" 148 230 source = "registry+https://github.com/rust-lang/crates.io-index" 149 - checksum = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0" 231 + checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" 150 232 dependencies = [ 151 233 "errno-dragonfly", 152 234 "libc", ··· 161 243 dependencies = [ 162 244 "cc", 163 245 "libc", 246 + ] 247 + 248 + [[package]] 249 + name = "fastrand" 250 + version = "1.9.0" 251 + source = "registry+https://github.com/rust-lang/crates.io-index" 252 + checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" 253 + dependencies = [ 254 + "instant", 164 255 ] 165 256 166 257 [[package]] 167 258 name = "filetime" 168 - version = "0.2.20" 259 + version = "0.2.21" 169 260 source = "registry+https://github.com/rust-lang/crates.io-index" 170 - checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412" 261 + checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" 171 262 dependencies = [ 172 263 "cfg-if", 173 264 "libc", 174 - "redox_syscall", 265 + "redox_syscall 0.2.16", 175 266 "windows-sys", 176 267 ] 177 268 178 269 [[package]] 179 270 name = "flate2" 180 - version = "1.0.25" 271 + version = "1.0.26" 181 272 source = "registry+https://github.com/rust-lang/crates.io-index" 182 - checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" 273 + checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" 183 274 dependencies = [ 184 275 "crc32fast", 185 276 "miniz_oxide", 186 277 ] 187 278 188 279 [[package]] 280 + name = "float-cmp" 281 + version = "0.9.0" 282 + source = "registry+https://github.com/rust-lang/crates.io-index" 283 + checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" 284 + dependencies = [ 285 + "num-traits", 286 + ] 287 + 288 + [[package]] 289 + name = "fnv" 290 + version = "1.0.7" 291 + source = "registry+https://github.com/rust-lang/crates.io-index" 292 + checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 293 + 294 + [[package]] 295 + name = "globset" 296 + version = "0.4.11" 297 + source = "registry+https://github.com/rust-lang/crates.io-index" 298 + checksum = "1391ab1f92ffcc08911957149833e682aa3fe252b9f45f966d2ef972274c97df" 299 + dependencies = [ 300 + "aho-corasick", 301 + "bstr", 302 + "fnv", 303 + "log", 304 + "regex", 305 + ] 306 + 307 + [[package]] 308 + name = "globwalk" 309 + version = "0.8.1" 310 + source = "registry+https://github.com/rust-lang/crates.io-index" 311 + checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc" 312 + dependencies = [ 313 + "bitflags 1.3.2", 314 + "ignore", 315 + "walkdir", 316 + ] 317 + 318 + [[package]] 189 319 name = "heck" 190 320 version = "0.4.1" 191 321 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 193 323 194 324 [[package]] 195 325 name = "hermit-abi" 196 - version = "0.3.1" 326 + version = "0.3.2" 327 + source = "registry+https://github.com/rust-lang/crates.io-index" 328 + checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" 329 + 330 + [[package]] 331 + name = "ignore" 332 + version = "0.4.20" 197 333 source = "registry+https://github.com/rust-lang/crates.io-index" 198 - checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" 334 + checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" 335 + dependencies = [ 336 + "globset", 337 + "lazy_static", 338 + "log", 339 + "memchr", 340 + "regex", 341 + "same-file", 342 + "thread_local", 343 + "walkdir", 344 + "winapi-util", 345 + ] 346 + 347 + [[package]] 348 + name = "instant" 349 + version = "0.1.12" 350 + source = "registry+https://github.com/rust-lang/crates.io-index" 351 + checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 352 + dependencies = [ 353 + "cfg-if", 354 + ] 199 355 200 356 [[package]] 201 357 name = "io-lifetimes" 202 - version = "1.0.9" 358 + version = "1.0.11" 203 359 source = "registry+https://github.com/rust-lang/crates.io-index" 204 - checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb" 360 + checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" 205 361 dependencies = [ 206 362 "hermit-abi", 207 363 "libc", ··· 210 366 211 367 [[package]] 212 368 name = "is-terminal" 213 - version = "0.4.6" 369 + version = "0.4.9" 214 370 source = "registry+https://github.com/rust-lang/crates.io-index" 215 - checksum = "256017f749ab3117e93acb91063009e1f1bb56d03965b14c2c8df4eb02c524d8" 371 + checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" 216 372 dependencies = [ 217 373 "hermit-abi", 218 - "io-lifetimes", 219 - "rustix", 374 + "rustix 0.38.4", 220 375 "windows-sys", 221 376 ] 222 377 223 378 [[package]] 379 + name = "itertools" 380 + version = "0.10.5" 381 + source = "registry+https://github.com/rust-lang/crates.io-index" 382 + checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" 383 + dependencies = [ 384 + "either", 385 + ] 386 + 387 + [[package]] 388 + name = "lazy_static" 389 + version = "1.4.0" 390 + source = "registry+https://github.com/rust-lang/crates.io-index" 391 + checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 392 + 393 + [[package]] 224 394 name = "libc" 225 - version = "0.2.140" 395 + version = "0.2.147" 396 + source = "registry+https://github.com/rust-lang/crates.io-index" 397 + checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" 398 + 399 + [[package]] 400 + name = "linux-raw-sys" 401 + version = "0.3.8" 226 402 source = "registry+https://github.com/rust-lang/crates.io-index" 227 - checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" 403 + checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" 228 404 229 405 [[package]] 230 406 name = "linux-raw-sys" 231 - version = "0.3.1" 407 + version = "0.4.3" 232 408 source = "registry+https://github.com/rust-lang/crates.io-index" 233 - checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f" 409 + checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" 410 + 411 + [[package]] 412 + name = "log" 413 + version = "0.4.19" 414 + source = "registry+https://github.com/rust-lang/crates.io-index" 415 + checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" 416 + 417 + [[package]] 418 + name = "memchr" 419 + version = "2.5.0" 420 + source = "registry+https://github.com/rust-lang/crates.io-index" 421 + checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 234 422 235 423 [[package]] 236 424 name = "miniz_oxide" 237 - version = "0.6.2" 425 + version = "0.7.1" 238 426 source = "registry+https://github.com/rust-lang/crates.io-index" 239 - checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" 427 + checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" 240 428 dependencies = [ 241 429 "adler", 242 430 ] 243 431 244 432 [[package]] 433 + name = "normalize-line-endings" 434 + version = "0.3.0" 435 + source = "registry+https://github.com/rust-lang/crates.io-index" 436 + checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" 437 + 438 + [[package]] 439 + name = "num-traits" 440 + version = "0.2.15" 441 + source = "registry+https://github.com/rust-lang/crates.io-index" 442 + checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" 443 + dependencies = [ 444 + "autocfg", 445 + ] 446 + 447 + [[package]] 245 448 name = "once_cell" 246 - version = "1.17.1" 449 + version = "1.18.0" 450 + source = "registry+https://github.com/rust-lang/crates.io-index" 451 + checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" 452 + 453 + [[package]] 454 + name = "predicates" 455 + version = "3.0.3" 247 456 source = "registry+https://github.com/rust-lang/crates.io-index" 248 - checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" 457 + checksum = "09963355b9f467184c04017ced4a2ba2d75cbcb4e7462690d388233253d4b1a9" 458 + dependencies = [ 459 + "anstyle", 460 + "difflib", 461 + "float-cmp", 462 + "itertools", 463 + "normalize-line-endings", 464 + "predicates-core", 465 + "regex", 466 + ] 467 + 468 + [[package]] 469 + name = "predicates-core" 470 + version = "1.0.6" 471 + source = "registry+https://github.com/rust-lang/crates.io-index" 472 + checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" 473 + 474 + [[package]] 475 + name = "predicates-tree" 476 + version = "1.0.9" 477 + source = "registry+https://github.com/rust-lang/crates.io-index" 478 + checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" 479 + dependencies = [ 480 + "predicates-core", 481 + "termtree", 482 + ] 249 483 250 484 [[package]] 251 485 name = "proc-macro2" 252 - version = "1.0.55" 486 + version = "1.0.64" 253 487 source = "registry+https://github.com/rust-lang/crates.io-index" 254 - checksum = "1d0dd4be24fcdcfeaa12a432d588dc59bbad6cad3510c67e74a2b6b2fc950564" 488 + checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" 255 489 dependencies = [ 256 490 "unicode-ident", 257 491 ] 258 492 259 493 [[package]] 260 494 name = "quote" 261 - version = "1.0.26" 495 + version = "1.0.29" 262 496 source = "registry+https://github.com/rust-lang/crates.io-index" 263 - checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" 497 + checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" 264 498 dependencies = [ 265 499 "proc-macro2", 266 500 ] ··· 271 505 source = "registry+https://github.com/rust-lang/crates.io-index" 272 506 checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 273 507 dependencies = [ 274 - "bitflags", 508 + "bitflags 1.3.2", 509 + ] 510 + 511 + [[package]] 512 + name = "redox_syscall" 513 + version = "0.3.5" 514 + source = "registry+https://github.com/rust-lang/crates.io-index" 515 + checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" 516 + dependencies = [ 517 + "bitflags 1.3.2", 275 518 ] 276 519 277 520 [[package]] 521 + name = "regex" 522 + version = "1.9.1" 523 + source = "registry+https://github.com/rust-lang/crates.io-index" 524 + checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" 525 + dependencies = [ 526 + "aho-corasick", 527 + "memchr", 528 + "regex-automata", 529 + "regex-syntax", 530 + ] 531 + 532 + [[package]] 533 + name = "regex-automata" 534 + version = "0.3.3" 535 + source = "registry+https://github.com/rust-lang/crates.io-index" 536 + checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" 537 + dependencies = [ 538 + "aho-corasick", 539 + "memchr", 540 + "regex-syntax", 541 + ] 542 + 543 + [[package]] 544 + name = "regex-syntax" 545 + version = "0.7.4" 546 + source = "registry+https://github.com/rust-lang/crates.io-index" 547 + checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" 548 + 549 + [[package]] 278 550 name = "rustix" 279 - version = "0.37.6" 551 + version = "0.37.23" 280 552 source = "registry+https://github.com/rust-lang/crates.io-index" 281 - checksum = "d097081ed288dfe45699b72f5b5d648e5f15d64d900c7080273baa20c16a6849" 553 + checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" 282 554 dependencies = [ 283 - "bitflags", 555 + "bitflags 1.3.2", 284 556 "errno", 285 557 "io-lifetimes", 286 558 "libc", 287 - "linux-raw-sys", 559 + "linux-raw-sys 0.3.8", 560 + "windows-sys", 561 + ] 562 + 563 + [[package]] 564 + name = "rustix" 565 + version = "0.38.4" 566 + source = "registry+https://github.com/rust-lang/crates.io-index" 567 + checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" 568 + dependencies = [ 569 + "bitflags 2.3.3", 570 + "errno", 571 + "libc", 572 + "linux-raw-sys 0.4.3", 288 573 "windows-sys", 289 574 ] 290 575 291 576 [[package]] 577 + name = "same-file" 578 + version = "1.0.6" 579 + source = "registry+https://github.com/rust-lang/crates.io-index" 580 + checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 581 + dependencies = [ 582 + "winapi-util", 583 + ] 584 + 585 + [[package]] 586 + name = "serde" 587 + version = "1.0.171" 588 + source = "registry+https://github.com/rust-lang/crates.io-index" 589 + checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" 590 + 591 + [[package]] 292 592 name = "strsim" 293 593 version = "0.10.0" 294 594 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 296 596 297 597 [[package]] 298 598 name = "syn" 299 - version = "2.0.13" 599 + version = "2.0.25" 300 600 source = "registry+https://github.com/rust-lang/crates.io-index" 301 - checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec" 601 + checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" 302 602 dependencies = [ 303 603 "proc-macro2", 304 604 "quote", ··· 317 617 ] 318 618 319 619 [[package]] 620 + name = "tempfile" 621 + version = "3.6.0" 622 + source = "registry+https://github.com/rust-lang/crates.io-index" 623 + checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" 624 + dependencies = [ 625 + "autocfg", 626 + "cfg-if", 627 + "fastrand", 628 + "redox_syscall 0.3.5", 629 + "rustix 0.37.23", 630 + "windows-sys", 631 + ] 632 + 633 + [[package]] 634 + name = "termtree" 635 + version = "0.4.1" 636 + source = "registry+https://github.com/rust-lang/crates.io-index" 637 + checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" 638 + 639 + [[package]] 640 + name = "thread_local" 641 + version = "1.1.7" 642 + source = "registry+https://github.com/rust-lang/crates.io-index" 643 + checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 644 + dependencies = [ 645 + "cfg-if", 646 + "once_cell", 647 + ] 648 + 649 + [[package]] 320 650 name = "unicode-ident" 321 - version = "1.0.8" 651 + version = "1.0.10" 322 652 source = "registry+https://github.com/rust-lang/crates.io-index" 323 - checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" 653 + checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" 324 654 325 655 [[package]] 326 656 name = "utf8parse" ··· 329 659 checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" 330 660 331 661 [[package]] 662 + name = "wait-timeout" 663 + version = "0.2.0" 664 + source = "registry+https://github.com/rust-lang/crates.io-index" 665 + checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" 666 + dependencies = [ 667 + "libc", 668 + ] 669 + 670 + [[package]] 671 + name = "walkdir" 672 + version = "2.3.3" 673 + source = "registry+https://github.com/rust-lang/crates.io-index" 674 + checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" 675 + dependencies = [ 676 + "same-file", 677 + "winapi-util", 678 + ] 679 + 680 + [[package]] 681 + name = "winapi" 682 + version = "0.3.9" 683 + source = "registry+https://github.com/rust-lang/crates.io-index" 684 + checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 685 + dependencies = [ 686 + "winapi-i686-pc-windows-gnu", 687 + "winapi-x86_64-pc-windows-gnu", 688 + ] 689 + 690 + [[package]] 691 + name = "winapi-i686-pc-windows-gnu" 692 + version = "0.4.0" 693 + source = "registry+https://github.com/rust-lang/crates.io-index" 694 + checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 695 + 696 + [[package]] 697 + name = "winapi-util" 698 + version = "0.1.5" 699 + source = "registry+https://github.com/rust-lang/crates.io-index" 700 + checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 701 + dependencies = [ 702 + "winapi", 703 + ] 704 + 705 + [[package]] 706 + name = "winapi-x86_64-pc-windows-gnu" 707 + version = "0.4.0" 708 + source = "registry+https://github.com/rust-lang/crates.io-index" 709 + checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 710 + 711 + [[package]] 332 712 name = "windows-sys" 333 - version = "0.45.0" 713 + version = "0.48.0" 334 714 source = "registry+https://github.com/rust-lang/crates.io-index" 335 - checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 715 + checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 336 716 dependencies = [ 337 717 "windows-targets", 338 718 ] 339 719 340 720 [[package]] 341 721 name = "windows-targets" 342 - version = "0.42.2" 722 + version = "0.48.1" 343 723 source = "registry+https://github.com/rust-lang/crates.io-index" 344 - checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 724 + checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" 345 725 dependencies = [ 346 726 "windows_aarch64_gnullvm", 347 727 "windows_aarch64_msvc", ··· 354 734 355 735 [[package]] 356 736 name = "windows_aarch64_gnullvm" 357 - version = "0.42.2" 737 + version = "0.48.0" 358 738 source = "registry+https://github.com/rust-lang/crates.io-index" 359 - checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 739 + checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" 360 740 361 741 [[package]] 362 742 name = "windows_aarch64_msvc" 363 - version = "0.42.2" 743 + version = "0.48.0" 364 744 source = "registry+https://github.com/rust-lang/crates.io-index" 365 - checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 745 + checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" 366 746 367 747 [[package]] 368 748 name = "windows_i686_gnu" 369 - version = "0.42.2" 749 + version = "0.48.0" 370 750 source = "registry+https://github.com/rust-lang/crates.io-index" 371 - checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 751 + checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" 372 752 373 753 [[package]] 374 754 name = "windows_i686_msvc" 375 - version = "0.42.2" 755 + version = "0.48.0" 376 756 source = "registry+https://github.com/rust-lang/crates.io-index" 377 - checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 757 + checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" 378 758 379 759 [[package]] 380 760 name = "windows_x86_64_gnu" 381 - version = "0.42.2" 761 + version = "0.48.0" 382 762 source = "registry+https://github.com/rust-lang/crates.io-index" 383 - checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 763 + checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" 384 764 385 765 [[package]] 386 766 name = "windows_x86_64_gnullvm" 387 - version = "0.42.2" 767 + version = "0.48.0" 388 768 source = "registry+https://github.com/rust-lang/crates.io-index" 389 - checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 769 + checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" 390 770 391 771 [[package]] 392 772 name = "windows_x86_64_msvc" 393 - version = "0.42.2" 773 + version = "0.48.0" 394 774 source = "registry+https://github.com/rust-lang/crates.io-index" 395 - checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 775 + checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" 396 776 397 777 [[package]] 398 778 name = "xattr"
+4
Cargo.toml
··· 17 17 tar = "0.4.38" 18 18 is-terminal = "0.4" 19 19 20 + [dev-dependencies] 21 + assert_cmd = "2.0.11" 22 + assert_fs = "1.0.12" 23 + predicates = "3.0.2"
+45
src/gzip.rs
··· 9 9 pub common_args: CmprssCommonArgs, 10 10 } 11 11 12 + impl Default for Gzip { 13 + fn default() -> Self { 14 + Gzip { 15 + compression_level: 6, 16 + common_args: Default::default(), 17 + } 18 + } 19 + } 20 + 12 21 impl Compressor for Gzip { 13 22 /// The standard extension for the gzip format. 14 23 fn extension(&self) -> &str { ··· 104 113 Ok(()) 105 114 } 106 115 } 116 + 117 + #[cfg(test)] 118 + mod tests { 119 + use super::*; 120 + use assert_fs::prelude::*; 121 + use predicates::prelude::*; 122 + 123 + #[test] 124 + fn roundtrip() -> Result<(), Box<dyn std::error::Error>> { 125 + let compressor = Gzip::default(); 126 + 127 + let file = assert_fs::NamedTempFile::new("test.txt")?; 128 + file.write_str("garbage data for testing")?; 129 + let working_dir = assert_fs::TempDir::new()?; 130 + let archive = working_dir.child("archive.".to_owned() + compressor.extension()); 131 + archive.assert(predicate::path::missing()); 132 + 133 + // Roundtrip compress/extract 134 + compressor.compress( 135 + CmprssInput::Path(vec![file.path()]), 136 + CmprssOutput::Path(archive.path()), 137 + )?; 138 + archive.assert(predicate::path::is_file()); 139 + compressor.extract( 140 + CmprssInput::Path(vec![archive.path()]), 141 + CmprssOutput::Path(working_dir.child("test.txt").path()), 142 + )?; 143 + 144 + // Assert the files are identical 145 + working_dir 146 + .child("test.txt") 147 + .assert(predicate::path::eq_file(file.path())); 148 + 149 + Ok(()) 150 + } 151 + }
+38
src/tar.rs
··· 7 7 8 8 use crate::utils::*; 9 9 10 + #[derive(Default)] 10 11 pub struct Tar { 11 12 pub common_args: CmprssCommonArgs, 12 13 } ··· 91 92 archive.finish() 92 93 } 93 94 } 95 + 96 + // TODO: Tests will be largely the same for all Compressors, should be able to combine 97 + #[cfg(test)] 98 + mod tests { 99 + use super::*; 100 + use assert_fs::prelude::*; 101 + use predicates::prelude::*; 102 + 103 + #[test] 104 + fn roundtrip() -> Result<(), Box<dyn std::error::Error>> { 105 + let compressor = Tar::default(); 106 + 107 + let file = assert_fs::NamedTempFile::new("test.txt")?; 108 + file.write_str("garbage data for testing")?; 109 + let working_dir = assert_fs::TempDir::new()?; 110 + let archive = working_dir.child("archive.".to_owned() + compressor.extension()); 111 + archive.assert(predicate::path::missing()); 112 + 113 + // Roundtrip compress/extract 114 + compressor.compress( 115 + CmprssInput::Path(vec![file.path()]), 116 + CmprssOutput::Path(archive.path()), 117 + )?; 118 + archive.assert(predicate::path::is_file()); 119 + compressor.extract( 120 + CmprssInput::Path(vec![archive.path()]), 121 + CmprssOutput::Path(working_dir.path()), 122 + )?; 123 + 124 + // Assert the files are identical 125 + working_dir 126 + .child("test.txt") 127 + .assert(predicate::path::eq_file(file.path())); 128 + 129 + Ok(()) 130 + } 131 + }
+1
src/utils.rs
··· 1 1 use std::io; 2 2 use std::path::Path; 3 3 4 + #[derive(Default)] 4 5 pub struct CmprssCommonArgs { 5 6 pub compress: bool, 6 7 pub extract: bool,
+34
tests/cli.rs
··· 1 + use assert_cmd::prelude::*; 2 + use assert_fs::prelude::*; 3 + use predicates::prelude::*; 4 + use std::process::Command; 5 + 6 + // FIXME: Test fails because cmprss expects stdin to have data 7 + #[allow(dead_code)] 8 + //#[test] 9 + fn tar_roundtrip() -> Result<(), Box<dyn std::error::Error>> { 10 + let file = assert_fs::NamedTempFile::new("test.txt")?; 11 + file.write_str("garbage data for testing")?; 12 + let working_dir = assert_fs::TempDir::new()?; 13 + let archive = working_dir.child("archive.tar"); 14 + archive.assert(predicate::path::missing()); 15 + 16 + let mut compress = Command::cargo_bin("cmprss")?; 17 + compress.arg("tar").arg(file.path()).arg(archive.path()); 18 + compress.assert().success(); 19 + archive.assert(predicate::path::is_file()); 20 + 21 + let mut extract = Command::cargo_bin("cmprss")?; 22 + extract 23 + .arg("tar") 24 + .arg(archive.path()) 25 + .arg(working_dir.path()); 26 + extract.assert().success(); 27 + 28 + // Assert the files are identical 29 + working_dir 30 + .child("test.txt") 31 + .assert(predicate::path::eq_file(file.path())); 32 + 33 + Ok(()) 34 + }