diff --git a/swh/lister/nixguix/tests/data/sources-success.json b/swh/lister/nixguix/tests/data/sources-success.json --- a/swh/lister/nixguix/tests/data/sources-success.json +++ b/swh/lister/nixguix/tests/data/sources-success.json @@ -7,7 +7,7 @@ }, { "type": "url", - "urls": [ "https://github.com/owner-3/repository-1/revision-1.tgz" ], + "urls": [ "https://github.com/owner-3/repository-1/revision-1.tar" ], "integrity": "sha256-3vm2Nt+O4zHf3Ovd/qsv1gKTEUwodX9FLxlrQdry0zs=" }, { @@ -52,7 +52,7 @@ "outputHashMode": "recursive", "type": "url", "urls": [ - "https://github.com/kandu/trie/archive/1.0.0.tar.gz" + "https://github.com/kandu/trie/archive/1.0.0.txz" ], "integrity": "sha256-j7xp1svMeYIm+WScVe/B7w0jNjMtvkp9a1hLLLlO92g=", "inferredFetcher": "fetchzip" @@ -85,7 +85,7 @@ "outputHashMode": "recursive", "type": "url", "urls": [ - "https://github.com/julian-klode/triehash/archive/debian/0.3-3.tar.gz" + "https://github.com/julian-klode/triehash/archive/debian/0.3-3.tbz" ], "inferredFetcher": "fetchzip" }, @@ -177,6 +177,94 @@ ], "integrity": "sha256-VQYMZNYqNBZ9+01YCcabqqIfck/mU/BRcFZKXpBEX00=", "inferredFetcher": "unclassified" + }, + { + "type": "url", + "urls": [ + "https://crates.io/api/v1/crates/syntect/4.6.0/download" + ], + "integrity": "sha256-iyCBW76A7gvgbmlXRQqEEYX89pD+AXjxTXegXOLKoDE=" + }, + { + "outputHash": "0x5l2pn4x92734k6i2wcjbn2klmwgkiqaajvxadh35k74dgnyh18", + "outputHashAlgo": "sha256", + "outputHashMode": "flat", + "type": "url", + "urls": [ + "https://rubygems.org/gems/wdm-0.1.1.gem" + ], + "integrity": "sha256-KEBvXyNnlgGb6lsqheN8vNIp7JKMi2gmGUekTuwVtHQ=", + "inferredFetcher": "unclassified" + }, + { + "outputHash": "2al10188nwrdmi9zk3bid4ijjfsa8ymh6m9hin5jsja7hx7anbvs3i2y7kall56h4qn7j1rj73f8499x3i2k6x53kszmksvd2a1pkd4", + "outputHashAlgo": "sha512", + "outputHashMode": "flat", + "type": "url", + "urls": [ + "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-manager/2.4/plexus-compiler-manager-2.4.jar" + ], + "integrity": "sha512-pM0blGhbz/r1HKWbKeLoKRHkxpE5yGMxgaZQqubxIg69l1Wnw6OklsVGmKqB1SOlnZSRtLjG/CnWlrlFKIBAlQ==", + "inferredFetcher": "unclassified" + }, + { + "outputHash": "19mnq9a1yr16srqs8n6hddahr4f9d2gbpmld62pvlw1ps7nfrp9w", + "outputHashAlgo": "sha256", + "outputHashMode": "recursive", + "type": "url", + "urls": [ + "https://bitbucket.org/zandoye/charinfo_width/get/1.1.0.tar.bz2" + ], + "integrity": "sha256-PN3s7NE3cLqvMI3Wu55oyZEMVWvQWKRx1iZkH1TCtqY=", + "inferredFetcher": "fetchzip" + }, + { + "type": "url", + "urls": [ + "https://ftpmirror.gnu.org/gnu/texinfo/texinfo-4.13a.tar.lzma", + "ftp://ftp.cs.tu-berlin.de/pub/gnu/texinfo/texinfo-4.13a.tar.lzma" + ], + "integrity": "sha256-bSiwzq6GbjU2FC/FUuejvJ+EyDAxGcJXMbJHju9kyeU=" + }, + { + "type": "url", + "urls": [ + "https://download.savannah.gnu.org/releases/zutils/zutils-1.10.tar.lz", + "https://nongnu.freemirror.org/nongnu/zutils/zutils-1.10.tar.lz" + ], + "integrity": "sha256-DdRBOCktV1dkgDcZW2lFw99wsxYiG0KFUgrTjy6usZU=" + }, + { + "type": "url", + "urls": [ + "http://www.rle.mit.edu/cpg/codes/fasthenry-3.0-12Nov96.tar.z" + ], + "integrity": "sha256-8V9YKMP4A50xYvmFlzh5sbQv6L39hD+znfAD0rzvBqg=" + }, + { + "type": "url", + "urls": [ + "http://ftp.x.org/contrib/utilities/unclutter-8.tar.Z" + ], + "integrity": "sha256-uFWnjURlqy+GKH6srGOnPxUEsIUihAqjdxh3bn7JGSo=" + }, + { + "outputHash": "sha256-Y40oLjddunrd7ZF1JbCcgjSCn8jFTubq69jhAVxInXw=", + "outputHashAlgo": "sha256", + "outputHashMode": "flat", + "type": "url", + "urls": [ + "https://github.com/vk-cli/vk/releases/download/0.7.6/vk-0.7.6-64-bin.7z" + ], + "integrity": "sha256-Y40oLjddunrd7ZF1JbCcgjSCn8jFTubq69jhAVxInXw=", + "inferredFetcher": "unclassified" + }, + { + "type": "url", + "urls": [ + "https://github.com/Doom-Utils/deutex/releases/download/v5.2.2/deutex-5.2.2.tar.zst" + ], + "integrity": "sha256-EO0OelM+yXy20DVI1CWPvsiIUqRbXqTPVDQ3atQXS18=" } ], "version": "1", diff --git a/swh/lister/nixguix/tests/test_lister.py b/swh/lister/nixguix/tests/test_lister.py --- a/swh/lister/nixguix/tests/test_lister.py +++ b/swh/lister/nixguix/tests/test_lister.py @@ -188,6 +188,12 @@ "http://git.marmaro.de/?p=mmh;a=snapshot;h=431604647f89d5aac7b199a7883e98e56e4ccf9e;sf=tgz", headers={"Content-Type": "application/gzip; charset=ISO-8859-1"}, ) + requests_mock.head( + "https://crates.io/api/v1/crates/syntect/4.6.0/download", + headers={ + "Location": "https://static.crates.io/crates/syntect/syntect-4.6.0.crate" + }, + ) expected_visit_types = defaultdict(int) # origin upstream is added as origin @@ -211,6 +217,8 @@ expected_visit_types["content"] += 1 elif url.startswith("svn"): # mistyped artifact rendered as vcs nonetheless expected_visit_types["svn"] += 1 + elif "crates.io" in url: + expected_visit_types["directory"] += 1 else: # tarball artifacts expected_visit_types["directory"] += 1