Age | Commit message (Collapse) | Author |
|
So far, the configuration variable TEST_BOOTSTRAP_JUST_MR could be
used to decide whether to run the end-to-end tests with the compiled
version of just-mr or the python script, which is mainly used for
bootstrapping only. To have a more simple way of running all tests in
all relevant configurations, make this an internal variable and branch
on the possible values, similarly as we already do for the possible
values of TEST_COMPATIBLE_REMOTE.
|
|
|
|
|
|
End-to-end tests should, like all tests, be independent of any
non-project files the user has in their home directory. This also
applies when running the tests locally. In particular, end-to-end
tests should not read the user's ~/.just-mrrc. Therefore, properly
set --norc in all end-to-end tests (where this is not already
the case).
|
|
|
|
|
|
properly
|
|
... and verify that
- spurious conflicts do not cause failure but instead are handled
correctly, and
- real conflicts are detected and reported properly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...during setup of git roots, when the appropriate pragma is set.
Check both symlinks and other special entries, e.g., submodules.
|
|
|
|
... verifying that indiections are correctly taken into account.
|
|
Originally, it was a good idea to add the full "bin" directory to
the bootstrap sources; all scripts there where used in some form
or another during bootstap and by taking the whole directory, we
wouldn't have to update the target when adding new scripts.
However, times have changed. The set of scripts neede for bootstrapping
is stable for quite a while now; on the other hand actively-developped
tools (like just-lock and just-import-git) now reside in "bin".
So, to avoid unnecessary runs of the bootstrap tests, prune the
dependency set.
While there, also mark as tainted.
|
|
Match correctly the behavior of just-mr, i.e., resolve the special
entries of the relevant subtree of the original tree instead of
taking the subtree of the resolved original tree. This also means
that the clones of archives can directly stage the relevant subdir
of the unpacked content and forward any 'special' pragma (same as
for other cloned repository types).
|
|
|
|
|
|
...such as 'archive', 'zip', 'foreign file', and 'distdir'.
|
|
|
|
|
|
Marking a source repository 'as plain' means that the whole source
repository tree will get imported as a repository type
corresponding to the source type. In this case, additional pragmas
than those supported by the inndividual imports might need to be
set.
Solve this by supporting the just-mr-style 'pragma' field also in
the source description, for all sources also accepting the
'as plain' field. Currently support only the 'special' pragma.
Document change and add test for plain imports that checks this
feature.
|
|
In particular, any transitive 'file'-type repository will inherit
any given '{to_git: true}' pragma in the import description
objects. Note that this technically can only happen for transitive
'file' repositories imported from a 'file' source, so in all other
cases such a pragma would not have any effect.
Document change and extend the import from 'file' source test to
check this feature.
|
|
Transitive 'file'-type repositories should inherit any pragmas
suported by the new repository type they are rewritten as.
Extend import tests to avoid regressing on this issue in the
future.
|
|
...that checks if symlinks are treated the same as in just-mr.
|
|
...to check that --resolve-special option correctly stores entries.
|
|
... from the local file.
|
|
... from the local file.
|
|
|
|
As only a recent commit made it possible to rotate the repository
cache more than once, add a test ensuring two properties.
- Repeated repository gc is possible and roots are taken from the
rotated generation.
- It is possible to fully rotate a root out.
|
|
|
|
While our tool promises to generate a reproducible order of the
action origins, we should not insist on a particular one. Therefore
sort before comparing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This avoids the tool accidentally trying to touch the home folder
via the default cache location.
While there, ensure that errors in just-lock calls trigger test
failures, as it should be.
|
|
|