Age | Commit message (Collapse) | Author |
|
As there is no guarantee that "out_dirs" are generated on action set
up, do so manually (being OK with the files already being present).
|
|
|
|
This test uses a file repository at "." with the "to_git" pragma.
Now, if we build the tool to be tested in debug mode, the sources
end up in the test's action directory. If we take the work dir
of the simulated use case top level, all these sources end up
unnecessarily in the workspace root of the test repo. Avoid this
overhead by moving to a subdirectory.
|
|
|
|
|
|
|
|
|
|
If the main repository is marked absent, warn if during the
dependency closure computation any non-content-fixed repositories
are reached, i.e., any "file"-type repositories that are neither
implicitly nor explicitly marked "to_git". Also warn if the main
repository itself is marked absent but is not content fixed.
Add small test checking that the new warning is produced.
|
|
Add a test testing the serve instance implicit to the "with serve"
rule by asking it to build a target that creates an export target
where the output is a deep tree.
|
|
Add a test asking serve to provide a target where both, the dependency
as well as the action graph has both a wide node (a target with a
large number of direct dependencies) as well as a deep node (a node
where the chain of dependencies is long). That target is requested
serveral times in parallel to verify that such targets can also be
served under load.
The process actually tested is the `just serve` process implicit
to the "with serve" rule.
|
|
Dropping unnecessary "arguments_config" as well as evaluating
trivial computations.
|
|
While there, remove tray cat whitesapce and redetermine the working
directory instead of relying on the environment.
|
|
This test actually tests the serve process brought in by
the ["end-to-end", "with serve"] rule. It starts several requests to
serve and, while serve is still building those, stops the clients.
The serve service should handle those aborted requests gracefully
and afterwards still be ready to take on a new requests.
|
|
... if serve is used and remote-execution is a separate service.
|
|
... instead of manually configuring and staging the various test branches.
|
|
|
|
Verify more keys in the profile file and also verify basic properties
of the other invocation-specific files that can be requested.
|
|
... to make sure it is run in native and compatible mode.
|
|
... instead of the full out_dir path, which is not
guaranteed by the RBE protocol.
|
|
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.
|