Depends on D5943
Details
- Reviewers
douardda - Group Reviewers
Reviewers - Commits
- rDPROV01f8d40ffccb: Add tests for history graph topology
Diff Detail
- Repository
- rDPROV Provenance database
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Event Timeline
Build is green
Patch application report for D5944 (id=21339)
Could not rebase; Attempt merge onto d892b29e40...
Updating d892b29..ad860db Fast-forward swh/provenance/archive.py | 24 ++--- swh/provenance/graph.py | 4 +- swh/provenance/model.py | 53 ++++----- swh/provenance/origin.py | 19 ++-- swh/provenance/postgresql/archive.py | 118 ++++++++------------ swh/provenance/postgresql/provenancedb_base.py | 120 +++++++++++++++------ .../postgresql/provenancedb_with_path.py | 16 +-- .../postgresql/provenancedb_without_path.py | 20 ++-- swh/provenance/provenance.py | 103 +++++++++++------- swh/provenance/revision.py | 5 +- swh/provenance/sql/30-schema.sql | 4 +- swh/provenance/storage/archive.py | 30 +++--- swh/provenance/tests/conftest.py | 22 ++-- .../tests/data/generate_storage_from_git.py | 3 +- .../data/history_graphs_with-merges_visits-01.yaml | 55 ++++++++++ swh/provenance/tests/data/with-merges.msgpack | Bin 0 -> 7501 bytes ...repo_with_merges.yaml => with-merges_repo.yaml} | 0 ...s-visits-01.yaml => with-merges_visits-01.yaml} | 0 swh/provenance/tests/test_archive_interface.py | 51 +++++++++ swh/provenance/tests/test_history_graph.py | 62 +++++++++++ swh/provenance/tests/test_origin_iterator.py | 8 +- swh/provenance/tests/test_provenance_db.py | 4 +- swh/provenance/tests/test_provenance_heuristics.py | 7 +- 23 files changed, 471 insertions(+), 257 deletions(-) create mode 100644 swh/provenance/tests/data/history_graphs_with-merges_visits-01.yaml create mode 100644 swh/provenance/tests/data/with-merges.msgpack rename swh/provenance/tests/data/{repo_with_merges.yaml => with-merges_repo.yaml} (100%) rename swh/provenance/tests/data/{repo_with_merges-visits-01.yaml => with-merges_visits-01.yaml} (100%) create mode 100644 swh/provenance/tests/test_archive_interface.py create mode 100644 swh/provenance/tests/test_history_graph.py
Changes applied before test
commit ad860db9bfeff7f276b3e356c9e21cb57cafc4c2 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:31:16 2021 +0200 Add tests for history graph topology commit 37ac81faf15a32c4471a3c4ee5140bcb9bf57178 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:10:38 2021 +0200 Fix database queries related to the origin-revision layer This required allowing null dates in the `revision` table so that revision can be added by the origin-revision layer algorithm but not recognized as already processed by the revision-content layer. Revision and origin entries are now inserted in the database prior to inserting rows to revision_in_origin and revision_before_revision relations, so that internal ids are properly resolved. commit 4eb166cc4f2aa036c932b9a5eb462454a70ee0d9 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Fri Jun 25 13:38:26 2021 +0200 Add test to compare both ArchiveInterface implementations Improve documentation of the interface and complete pending TODO's. commit 01ac9eea375258ac1e000389d3fd286d0dbae458 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:25:15 2021 +0200 Rename test files to keep naming convension Also added missing .msgpack file dump for new with-merges repository. commit 76d1560924251396c1ac63c286d8612ce0f7e9d9 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:05:24 2021 +0200 Refactor ArchiveInterface to fit origin-revision layer needs Replace `revision_get` method by `revision_get_parents` returning an iterable of parents' ids only, instead of a swh.model.model.Revision object. commit df69a9e57692ed9d4d870c295a21b3ac187d7b9c Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Wed Jun 23 20:00:40 2021 +0200 Use `Sha1Git` type to explicitly state the kind of identifiers Previous occurrences of `bytes` and `Sha1` are not correctly using `Sha1Git`. Also, some bytes conversion methods were replaced by their counterparts in the swh.model.hashutil module. commit fa22dc902781e30e46823030681f003983cc6d6e Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Wed Jun 23 19:12:06 2021 +0200 Add support for sha1 identifiers for origins
See https://jenkins.softwareheritage.org/job/DPROV/job/tests-on-diff/194/ for more details.
Build is green
Patch application report for D5944 (id=21368)
Could not rebase; Attempt merge onto d892b29e40...
Updating d892b29..7a59ff7 Fast-forward swh/provenance/archive.py | 24 ++--- swh/provenance/graph.py | 4 +- swh/provenance/model.py | 53 ++++----- swh/provenance/origin.py | 19 ++-- swh/provenance/postgresql/archive.py | 118 ++++++++------------ swh/provenance/postgresql/provenancedb_base.py | 120 +++++++++++++++------ .../postgresql/provenancedb_with_path.py | 16 +-- .../postgresql/provenancedb_without_path.py | 20 ++-- swh/provenance/provenance.py | 103 +++++++++++------- swh/provenance/revision.py | 5 +- swh/provenance/sql/30-schema.sql | 4 +- swh/provenance/storage/archive.py | 30 +++--- swh/provenance/tests/conftest.py | 22 ++-- .../tests/data/generate_storage_from_git.py | 3 +- .../data/history_graphs_with-merges_visits-01.yaml | 55 ++++++++++ swh/provenance/tests/data/with-merges.msgpack | Bin 0 -> 7501 bytes ...repo_with_merges.yaml => with-merges_repo.yaml} | 0 ...s-visits-01.yaml => with-merges_visits-01.yaml} | 0 swh/provenance/tests/test_archive_interface.py | 51 +++++++++ swh/provenance/tests/test_history_graph.py | 62 +++++++++++ swh/provenance/tests/test_origin_iterator.py | 8 +- swh/provenance/tests/test_provenance_db.py | 4 +- swh/provenance/tests/test_provenance_heuristics.py | 7 +- 23 files changed, 471 insertions(+), 257 deletions(-) create mode 100644 swh/provenance/tests/data/history_graphs_with-merges_visits-01.yaml create mode 100644 swh/provenance/tests/data/with-merges.msgpack rename swh/provenance/tests/data/{repo_with_merges.yaml => with-merges_repo.yaml} (100%) rename swh/provenance/tests/data/{repo_with_merges-visits-01.yaml => with-merges_visits-01.yaml} (100%) create mode 100644 swh/provenance/tests/test_archive_interface.py create mode 100644 swh/provenance/tests/test_history_graph.py
Changes applied before test
commit 7a59ff712bb8b5ae22e6f016475d03317c27b64a Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:31:16 2021 +0200 Add tests for history graph topology commit 3171ae2f129df433689fd22e32c8eeebf7af4171 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:10:38 2021 +0200 Fix database queries related to the origin-revision layer This required allowing null dates in the `revision` table so that revision can be added by the origin-revision layer algorithm but not recognized as already processed by the revision-content layer. Revision and origin entries are now inserted in the database prior to inserting rows to revision_in_origin and revision_before_revision relations, so that internal ids are properly resolved. commit 6736f6068280f167df5616681dee9ad67b2b7dbd Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Fri Jun 25 13:38:26 2021 +0200 Add test to compare both `ArchiveInterface` implementations Improve documentation of the interface and complete pending TODO's. commit dde867254e51dd87f4aba3cdea59da8bffc2d160 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:25:15 2021 +0200 Rename test files to keep naming convension Also added missing .msgpack file dump for new with-merges repository. commit 14001c1844598a3d4ebd1b5f609070f9c85dcaa9 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:05:24 2021 +0200 Refactor `ArchiveInterface` to fit origin-revision layer needs Replace `revision_get` method by `revision_get_parents` returning an iterable of parents' ids only, instead of a swh.model.model.Revision object. commit df69a9e57692ed9d4d870c295a21b3ac187d7b9c Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Wed Jun 23 20:00:40 2021 +0200 Use `Sha1Git` type to explicitly state the kind of identifiers Previous occurrences of `bytes` and `Sha1` are not correctly using `Sha1Git`. Also, some bytes conversion methods were replaced by their counterparts in the swh.model.hashutil module. commit fa22dc902781e30e46823030681f003983cc6d6e Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Wed Jun 23 19:12:06 2021 +0200 Add support for sha1 identifiers for origins
See https://jenkins.softwareheritage.org/job/DPROV/job/tests-on-diff/205/ for more details.
swh/provenance/model.py | ||
---|---|---|
74–75 | We should probably just force other to have type RevisionEntry with a proper annotation. The same applies for the other implementations of __eq__ in this module. I've just copied the way it was done in other swh modules but this clearly can be improved | |
swh/provenance/tests/test_history_graph.py | ||
30–33 | there will be more soon |
swh/provenance/model.py | ||
---|---|---|
74–75 | Well generally in Python, == between "incompatible types" just returns False |
ok but please remove print statements before
swh/provenance/tests/test_history_graph.py | ||
---|---|---|
49 | print statements |
swh/provenance/tests/test_history_graph.py | ||
---|---|---|
49 | what's the problem with a print statement in a test? It is there in case the test fail to easily see what's being compared |
Build is green
Patch application report for D5944 (id=21394)
Could not rebase; Attempt merge onto d892b29e40...
Updating d892b29..2fd3f56 Fast-forward swh/provenance/archive.py | 24 ++--- swh/provenance/graph.py | 4 +- swh/provenance/model.py | 53 ++++----- swh/provenance/origin.py | 19 ++-- swh/provenance/postgresql/archive.py | 115 +++++++------------- swh/provenance/postgresql/provenancedb_base.py | 120 +++++++++++++++------ .../postgresql/provenancedb_with_path.py | 16 +-- .../postgresql/provenancedb_without_path.py | 20 ++-- swh/provenance/provenance.py | 103 +++++++++++------- swh/provenance/revision.py | 5 +- swh/provenance/sql/30-schema.sql | 4 +- swh/provenance/storage/archive.py | 30 +++--- swh/provenance/tests/conftest.py | 22 ++-- .../tests/data/generate_storage_from_git.py | 3 +- .../data/history_graphs_with-merges_visits-01.yaml | 55 ++++++++++ swh/provenance/tests/data/with-merges.msgpack | Bin 0 -> 7501 bytes ...repo_with_merges.yaml => with-merges_repo.yaml} | 0 ...s-visits-01.yaml => with-merges_visits-01.yaml} | 0 swh/provenance/tests/test_archive_interface.py | 51 +++++++++ swh/provenance/tests/test_history_graph.py | 62 +++++++++++ swh/provenance/tests/test_origin_iterator.py | 8 +- swh/provenance/tests/test_provenance_db.py | 4 +- swh/provenance/tests/test_provenance_heuristics.py | 7 +- 23 files changed, 466 insertions(+), 259 deletions(-) create mode 100644 swh/provenance/tests/data/history_graphs_with-merges_visits-01.yaml create mode 100644 swh/provenance/tests/data/with-merges.msgpack rename swh/provenance/tests/data/{repo_with_merges.yaml => with-merges_repo.yaml} (100%) rename swh/provenance/tests/data/{repo_with_merges-visits-01.yaml => with-merges_visits-01.yaml} (100%) create mode 100644 swh/provenance/tests/test_archive_interface.py create mode 100644 swh/provenance/tests/test_history_graph.py
Changes applied before test
commit 2fd3f56b57f8db6691ae6b8b7cb7ac557b764172 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:31:16 2021 +0200 Add tests for history graph topology commit d45d6ff9e9317ecfe38d584df7297c548b654d28 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:10:38 2021 +0200 Fix database queries related to the origin-revision layer This required allowing null dates in the `revision` table so that revision can be added by the origin-revision layer algorithm but not recognized as already processed by the revision-content layer. Revision and origin entries are now inserted in the database prior to inserting rows to revision_in_origin and revision_before_revision relations, so that internal ids are properly resolved. commit 0e2a3c64ce3c368b53c101c541e8aebcde789477 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Fri Jun 25 13:38:26 2021 +0200 Add test to compare both `ArchiveInterface` implementations Improve documentation of the interface and complete pending TODO's. commit 98bba93cccece2b47ec4cd5887997cb5bede1e87 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:25:15 2021 +0200 Rename test files to keep naming convension Also added missing .msgpack file dump for new with-merges repository. commit fa9198afb71bcf3b8abea07d88d763a430f7358e Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:05:24 2021 +0200 Refactor `ArchiveInterface` to fit origin-revision layer needs Replace `revision_get` method by `revision_get_parents` returning an iterable of parents' ids only, instead of a swh.model.model.Revision object. commit 9e0c1aa099073887206c9334e17b49ee31bbef9a Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Wed Jun 23 20:00:40 2021 +0200 Use `Sha1Git` type to explicitly state the kind of identifiers Previous occurrences of `bytes` and `Sha1` are now correctly using `Sha1Git`. Also, some bytes conversion methods were replaced by their counterparts in the swh.model.hashutil module. commit a27ffff67b6b14bf37d153bb9b1d1c2ae63773fc Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Wed Jun 23 19:12:06 2021 +0200 Add support for sha1 identifiers for origins
See https://jenkins.softwareheritage.org/job/DPROV/job/tests-on-diff/216/ for more details.
Build is green
Patch application report for D5944 (id=21444)
Could not rebase; Attempt merge onto d892b29e40...
Updating d892b29..01f8d40 Fast-forward swh/provenance/archive.py | 24 ++--- swh/provenance/graph.py | 4 +- swh/provenance/model.py | 53 ++++----- swh/provenance/origin.py | 19 ++-- swh/provenance/postgresql/archive.py | 115 +++++++------------- swh/provenance/postgresql/provenancedb_base.py | 120 +++++++++++++++------ .../postgresql/provenancedb_with_path.py | 16 +-- .../postgresql/provenancedb_without_path.py | 20 ++-- swh/provenance/provenance.py | 112 +++++++++++-------- swh/provenance/revision.py | 5 +- swh/provenance/sql/30-schema.sql | 4 +- swh/provenance/storage/archive.py | 30 +++--- swh/provenance/tests/conftest.py | 22 ++-- .../tests/data/generate_storage_from_git.py | 3 +- .../data/history_graphs_with-merges_visits-01.yaml | 55 ++++++++++ swh/provenance/tests/data/with-merges.msgpack | Bin 0 -> 7501 bytes ...repo_with_merges.yaml => with-merges_repo.yaml} | 0 ...s-visits-01.yaml => with-merges_visits-01.yaml} | 0 swh/provenance/tests/test_archive_interface.py | 51 +++++++++ swh/provenance/tests/test_history_graph.py | 62 +++++++++++ swh/provenance/tests/test_origin_iterator.py | 8 +- swh/provenance/tests/test_provenance_db.py | 4 +- swh/provenance/tests/test_provenance_heuristics.py | 7 +- 23 files changed, 471 insertions(+), 263 deletions(-) create mode 100644 swh/provenance/tests/data/history_graphs_with-merges_visits-01.yaml create mode 100644 swh/provenance/tests/data/with-merges.msgpack rename swh/provenance/tests/data/{repo_with_merges.yaml => with-merges_repo.yaml} (100%) rename swh/provenance/tests/data/{repo_with_merges-visits-01.yaml => with-merges_visits-01.yaml} (100%) create mode 100644 swh/provenance/tests/test_archive_interface.py create mode 100644 swh/provenance/tests/test_history_graph.py
Changes applied before test
commit 01f8d40ffccbcab6ecec6c2cf85478364e006caa Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:31:16 2021 +0200 Add tests for history graph topology commit b7fdcdec7ea96101d62a57d9aeed114c897df961 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:10:38 2021 +0200 Fix database queries related to the origin-revision layer This required allowing null dates in the `revision` table so that revision can be added by the origin-revision layer algorithm but not recognized as already processed by the revision-content layer. Revision and origin entries are now inserted in the database prior to inserting rows to revision_in_origin and revision_before_revision relations, so that internal ids are properly resolved. commit 0e2a3c64ce3c368b53c101c541e8aebcde789477 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Fri Jun 25 13:38:26 2021 +0200 Add test to compare both `ArchiveInterface` implementations Improve documentation of the interface and complete pending TODO's. commit 98bba93cccece2b47ec4cd5887997cb5bede1e87 Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:25:15 2021 +0200 Rename test files to keep naming convension Also added missing .msgpack file dump for new with-merges repository. commit fa9198afb71bcf3b8abea07d88d763a430f7358e Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Thu Jun 24 16:05:24 2021 +0200 Refactor `ArchiveInterface` to fit origin-revision layer needs Replace `revision_get` method by `revision_get_parents` returning an iterable of parents' ids only, instead of a swh.model.model.Revision object. commit 9e0c1aa099073887206c9334e17b49ee31bbef9a Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Wed Jun 23 20:00:40 2021 +0200 Use `Sha1Git` type to explicitly state the kind of identifiers Previous occurrences of `bytes` and `Sha1` are now correctly using `Sha1Git`. Also, some bytes conversion methods were replaced by their counterparts in the swh.model.hashutil module. commit a27ffff67b6b14bf37d153bb9b1d1c2ae63773fc Author: Andres Ezequiel Viso <aeviso@softwareheritage.org> Date: Wed Jun 23 19:12:06 2021 +0200 Add support for sha1 identifiers for origins
See https://jenkins.softwareheritage.org/job/DPROV/job/tests-on-diff/242/ for more details.