Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F7163499
D3405.id12078.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
D3405.id12078.diff
View Options
diff --git a/swh/loader/svn/tests/test_loader.py b/swh/loader/svn/tests/test_loader.py
--- a/swh/loader/svn/tests/test_loader.py
+++ b/swh/loader/svn/tests/test_loader.py
@@ -590,72 +590,44 @@
assert stats["snapshot"] == 1
-class SvnLoaderTest11(BaseSvnLoaderTest):
- """Context:
-
- - Repository with svn:external (which is not deal with for now)
- - Visit is partial with as much data loaded as possible
+def test_loader_svn_with_external_properties(swh_config, datadir, tmp_path):
+ """Repository with svn:external properties cannot be fully ingested yet
"""
+ archive_name = "pkg-gourmet"
+ archive_path = os.path.join(datadir, "pkg-gourmet-with-external-id.tgz")
+ repo_url = prepare_repository_from_archive(archive_path, archive_name, tmp_path)
- def setUp(self):
- previous_unfinished_revision = None
- super().setUp(
- archive_name="pkg-gourmet-with-external-id.tgz",
- swh_revision=previous_unfinished_revision,
- )
-
- def test_load(self):
- """Repository with svn:externals property, will stop raising an error
-
- """
-
- # when
- assert self.loader.load() == {"status": "eventful"}
-
- # then repositories holds 21 revisions, but the last commit
- # one holds an 'svn:externals' property which will make the
- # loader-svn stops at the last revision prior to the bad one
- self.assertCountRevisions(20)
- self.assertCountReleases(0)
+ loader = SvnLoader(repo_url)
- last_revision = "82a7a4a09f9549223429143ba36ad77375e33c5c"
- expected_revisions = {
- # revision hash | directory hash
- "0d7dd5f751cef8fe17e8024f7d6b0e3aac2cfd71": "669a71cce6c424a81ba42b7dc5d560d32252f0ca", # noqa
- "95edacc8848369d6fb1608e887d6d2474fd5224f": "008ac97a1118560797c50e3392fa1443acdaa349", # noqa
- "fef26ea45a520071711ba2b9d16a2985ee837021": "3780effbe846a26751a95a8c95c511fb72be15b4", # noqa
- "3f51abf3b3d466571be0855dfa67e094f9ceff1b": "ffcca9b09c5827a6b8137322d4339c8055c3ee1e", # noqa
- "a3a577948fdbda9d1061913b77a1588695eadb41": "7dc52cc04c3b8bd7c085900d60c159f7b846f866", # noqa
- "4876cb10aec6f708f7466dddf547567b65f6c39c": "0deab3023ac59398ae467fc4bff5583008af1ee2", # noqa
- "7f5bc909c29d4e93d8ccfdda516e51ed44930ee1": "752c52134dcbf2fff13c7be1ce4e9e5dbf428a59", # noqa
- "38d81702cb28db4f1a6821e64321e5825d1f7fd6": "39c813fb4717a4864bacefbd90b51a3241ae4140", # noqa
- "99c27ebbd43feca179ac0e895af131d8314cafe1": "3397ca7f709639cbd36b18a0d1b70bce80018c45", # noqa
- "902f29b4323a9b9de3af6d28e72dd581e76d9397": "c4e12483f0a13e6851459295a4ae735eb4e4b5c4", # noqa
- "171dc35522bfd17dda4e90a542a0377fb2fc707a": "fd24a76c87a3207428e06612b49860fc78e9f6dc", # noqa
- "027e8769f4786597436ab94a91f85527d04a6cbb": "2d9ca72c6afec6284fb01e459588cbb007017c8c", # noqa
- "4474d96018877742d9697d5c76666c9693353bfc": "ab111577e0ab39e4a157c476072af48f2641d93f", # noqa
- "97ad21eab92961e2a22ca0285f09c6d1e9a7ffbc": "ab111577e0ab39e4a157c476072af48f2641d93f", # noqa
- "d04ea8afcee6205cc8384c091bfc578931c169fd": "b0a648b02e55a4dce356ac35187a058f89694ec7", # noqa
- "ded78810401fd354ffe894aa4a1e5c7d30a645d1": "b0a648b02e55a4dce356ac35187a058f89694ec7", # noqa
- "4ee95e39358712f53c4fc720da3fafee9249ed19": "c3c98df624733fef4e592bef983f93e2ed02b179", # noqa
- "ffa901b69ca0f46a2261f42948838d19709cb9f8": "c3c98df624733fef4e592bef983f93e2ed02b179", # noqa
- "0148ae3eaa520b73a50802c59f3f416b7a36cf8c": "844d4646d6c2b4f3a3b2b22ab0ee38c7df07bab2", # noqa
- last_revision: "0de6e75d2b79ec90d00a3a7611aa3861b2e4aa5e", # noqa
- }
+ assert loader.load() == {"status": "eventful"}
+ # repositoy holds 21 revisions, but the last commit holds an 'svn:externals'
+ # property which will make the loader-svn stops at the last revision prior to the
+ # bad one
+ expected_snapshot = {
+ "id": GOURMET_EXTERNALS_SNAPSHOT,
+ "branches": {
+ "HEAD": {
+ "target": "82a7a4a09f9549223429143ba36ad77375e33c5c",
+ "target_type": "revision",
+ }
+ },
+ }
+ check_snapshot(expected_snapshot, loader.storage)
- # The last revision being the one used later to start back from
- self.assertRevisionsContain(expected_revisions)
- self.assertCountSnapshots(1)
- self.assertEqual(self.loader.visit_status(), "partial")
+ assert_last_visit_matches(
+ loader.storage,
+ repo_url,
+ status="partial",
+ type="svn",
+ snapshot=GOURMET_EXTERNALS_SNAPSHOT,
+ )
- assert_last_visit_matches(
- self.storage,
- self.repo_url,
- status="partial",
- type="svn",
- snapshot=GOURMET_EXTERNALS_SNAPSHOT,
- )
+ stats = get_stats(loader.storage)
+ assert stats["origin"] == 1
+ assert stats["origin_visit"] == 1
+ assert stats["snapshot"] == 1
+ assert stats["revision"] == 21 - 1 # commit with the svn:external property
class SvnLoaderTest12(BaseSvnLoaderTest):
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Jan 30, 9:21 AM (1 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3221937
Attached To
D3405: tests: Refactor repository with svn:externals property scenario
Event Timeline
Log In to Comment