Age | Commit message (Collapse) | Author |
|
Besides stdout and stderr of the test, the output of the remote-execution
server are also artifacts of that rule.
|
|
...that the expected objects are correctly uploaded to the remote cas
|
|
|
|
|
|
|
|
|
|
|
|
via a 'SYMLINK' constructor function. This works similarly to the
'FILE' construct, but the name given must point to a non-upwards
symlink and a symlink artifact is being generated from it.
Also updates the relevant tests.
|
|
...and update tests accordingly.
|
|
...as early as possible. This ensures that callers always receive
only the tree entries for the supported object types.
For the symlinks non-upwardness check we pass a lambda capturing
the real backend of the tree entries, such that the symlinks can
be read.
Updates git_tree tests accordingly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This feature has been introduced with C++20.
|
|
|
|
...using the new ignore-special tree variant.
|
|
...by removing unused subfolders and corresponding redundant checks
in the tests using it. Also fixes misues in tests of the GetSubtree
family of methods.
|
|
|
|
... but keep the option to not run the large tests.
|
|
|
|
|
|
... as those binaries might need run-libs.
|
|
|
|
|
|
This allows better separation and, in particular, repositories
needed only for tests do not have to be provided for building the
tools. This also better documents which dependencies are only needed
for testing.
|
|
...caused by incorrectly setting and resetting the library internal
state and the misuse of pthreads in libgit2.
Normally, git_libgit2_init and git_libgit2_shutdown should span the
life of a worker thread in order to be safely used. However, due to
an incorrect implementation of libgit2's threadstate with pthreads,
on unix systems there is a race condition.
Until the use of pthread_key_t is corrected in libgit2, we need to
apply a workaround by always ensuring that the main thread is the
first thread reaching the GitContext constructor.
|
|
... and, in particular, do not read any rc files for just-mr
the user might have.
|
|
... in particular echo(1), which behaves different on dash
and sh.
|
|
...as required by grpc v1.53.0
|
|
... with two minor code base changes compared to previous
use of gsl-lite:
- dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not
wrapped in gsl::not_null<> anymore, due to lack of support
for wrapping std::unique_ptr<>. More specifically, the
move constructor is missing, rendering it impossible to
use std::vector<>::emplace_back().
- utils/cpp/gsl.hpp: New header file added to implement the
macros ExpectsAudit() and EnsureAudit(), asserts running
only in debug builds, which were available in gsl-lite but
are missing in MS GSL.
|
|
endpoint
This can be useful, for example, to test if justbuild can successfully
communicate with the specified remote execution service.
|
|
|
|
|
|
Make just-mr unconditionally support an option -D that collects a
configuration overlay and forwards it to the invocation of a just
subcommand that supports this option. This syntax-switching facility
makes it easy to embedd dynamic parts of the configuration (like
the head commit to be part of a version string) as those information
can unconditionally be the first argument to just-mr.
|
|
|
|
|
|
... by including the details of the parse error.
|
|
Move the creation of a fake repository on top of an existing odb
into the individual threads, to ensure the thread-safety of the
operations on fake repositories is properly tested.
|
|
|
|
... as `git init -b ...` is a rather recent git feature.
|
|
|
|
|
|
... also verifying that the local CAS is used, even in the presence
of remote execution.
|
|
|
|
Using "test" in the name of a test target is unnecessary and
adds gratuitous inconsistencies.
|
|
In the rare cases that we need to shell out to git, let the user
configure what binary to use. Option resolves in the same way as
the just executable, including allowing it to be set via just-mrrc.
Updates all cases of shelling out to git (fetch and commit update).
Update just-mr and just-mrrc docs accordingly.
|
|
...due to limitations in SSH support in libgit2. In this case, we
simply execute 'git ls-remote <repo> [<branch>]' and then parse
the output. Remote interogation requires no local repository, so
it is an asynchronious operation by default.
|