- Jan 12, 2021
-
-
vlorentz authored
They were mixed in with snapshot tests.
-
vlorentz authored
test_identifiers: Make sure that {directory,revision,release,snapshot}_identifier() doesn't just return a value from the dict. For example, before this commit, you could replace the code of revision_identifier() with this: def release_identifier(release): return release.get("id", b"") and all tests would still pass.
-
- Jan 04, 2021
-
-
vlorentz authored
-
- Dec 30, 2020
-
-
Stefano Zacchiroli authored
Before this change there was a lot of overlap between parse_swhid() and the attrs-based validators in the SWHID class. Also, the validation implementation in parse_swhid() was done by hand. With this change the coarse-grained validation done by parse_swhid() is now delegated to a regex. The semantic validation of SWHIDs is left to attrs validators. The regex is also exposed as a module attribute, to be used by client code that want to syntactically validate SWHIDs without necessarily instantiate SWHID classes (we have several other modules doing that already, and they are using slightly different hand-made regexs, which isn't great). As part of this change we also clean up the use of ValidationError exceptions, systematically passing the problematic parts of SWHID as arguments, and uniform error messages. This change also brings some speed up in SWHID parsing. On a benchmark parsing ~30 M valid SWHIDs, the previous implementation took ~3:06 minutes, the new one ~2:50 minutes, or a ~9% speedup. Closes T2788
-
- Dec 15, 2020
-
-
vlorentz authored
Unfortunately, sphinx (actually, autodoc) only picks up attributes if they fall in any of these cases: 1. are enum variants 2. are in slots 3. are in __dict__ 4. have an annotation 5. are found using its custom parser (see get_object_members in sphinx/ext/autodoc/importer.py) In theory, option 5 should work for us; unfortunately, autodoc only asks the parser the list of members with a comment. And it's not easy to adapt it to ask the parser for all members, because said parser (sphinx/pycode/parser.py) does not return the class qualname (aka. namespace) for members without comments. So, as I don't want to change the interface of sphinx.pycode.parser, this commit switches to relying on option 3, by adding __slots__ for all attr classes. Additionally, this might have some performance/memory improvement (though I did not check) and will further avoid mutation of these objects.
-
- Nov 16, 2020
-
-
Nicolas Dandrimont authored
All reverse dependencies have been updated to avoid using it now, so it can now be removed, paving the way to recycle it into an intrinsic identifier.
-
- Nov 12, 2020
-
-
Antoine R. Dumont authored
Related to T2729
-
Antoine R. Dumont authored
So parse_swhid raises a ValidationError when that is detected. Related to T2769
-
Antoine R. Dumont authored
Related to T2769
-
Antoine R. Dumont authored
Related to T2769
-
- Nov 10, 2020
-
-
Antoine R. Dumont authored
Related to T2769
-
- Oct 27, 2020
-
-
Nicolas Dandrimont authored
This avoids throwing the deprecation warning when id and target are present and have the same value, which makes a from_dict / to_dict round-trip throw no deprecation warnings.
-
- Oct 26, 2020
-
-
Nicolas Dandrimont authored
This backwards-compatible change prepares the transition to give RawExtrinsicMetadata an `id` field that is computed intrinsically from its contents (using the HashableObject mixin).
-
- Oct 23, 2020
-
-
Nicolas Dandrimont authored
This will enable a gradual enhancement of the functions in identifiers.py to take model objects directly, and return the bytes of the hash instead of an hex representation.
-
Antoine R. Dumont authored
-
Antoine Cezar authored
-
- Oct 14, 2020
-
-
Nicolas Dandrimont authored
This collapses the shared logic between these two identifier computations into a few more explicit steps: - generate data for the manifest (in either identifier computation); - format the manifest (in the new format_manifest function); - hash the manifest (in the new hash_manifest function). This will enable reusing this logic for more object types, as well as stronger typing for the manifest computation.
-
- Oct 08, 2020
-
-
vlorentz authored
that returns a value suitable for unicity constraints. Motivation: * this is somewhat more of a model concern than a journal/kafka concern IMO * this is one step toward adding support for non-model objects in KafkaJournalWriter Implementation of the unique_key methods comes from `swh.journal.serializers.object_key`.
-
- Oct 05, 2020
-
-
Thibault Allançon authored
-
- Oct 02, 2020
-
-
Stefano Zacchiroli authored
-
- Sep 29, 2020
-
-
vlorentz authored
I created one in the wrong directory and didn't see the existing one.
-
- Sep 25, 2020
-
-
David Douard authored
The addition of '-p no:pytest_swh_core' in pytest.ini is needed to prevent pytest from loading the pytest_swh_core plugin which we do not need here and which would require some more dependencies (e.g. requests).
-
- Sep 18, 2020
-
-
Thibault Allançon authored
Use the new SWHID naming convention instead of SWH PID.
-
- Sep 17, 2020
-
-
Antoine Lambert authored
Related to T2610
-
Antoine Lambert authored
Related to T2610
-
Antoine Lambert authored
flake8 hook has been removed from https://github.com/pre-commit/pre-commit-hooks so now use the one from https://gitlab.com/pycqa/flake8
-
- Sep 10, 2020
-
-
David Douard authored
move most import statements in functions. Related to T2575.
-
- Aug 25, 2020
-
-
Antoine Lambert authored
-
vlorentz authored
pytest wastes a lot of time in .hypothesis and .git; this commit excludes them.
-
- Aug 14, 2020
-
-
vlorentz authored
We may unknowingly pass naive datetimes to the storage through them, causing the underlying DB to assign them a timezone that might not match the actual one. It already happens in swh.model and swh.loader.package tests.
-
- Aug 07, 2020
-
-
Antoine R. Dumont authored
Same as for the field data, it helps for code not yet migrated to use model object.
-
Antoine R. Dumont authored
Related to T645
-
- Aug 06, 2020
-
-
Antoine R. Dumont authored
-
Antoine R. Dumont authored
Related to T2105
-
Antoine R. Dumont authored
Related to T2105
-
- Aug 04, 2020
-
-
Antoine R. Dumont authored
Related to T2105
-
- Jul 30, 2020
-
-
vlorentz authored
It can help in pytest's diffs
-
- Jul 29, 2020
-
-
David Douard authored
-
David Douard authored
to fix a deprecationg warning.
-
David Douard authored
to prevent warnings
-