| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
These define a vocabulary for altering a cluster morphology's fields,
since defining an implementation that is only used by one scenario for
setup is cumbersome.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This now means that the system morphology is not altered when chunks are
altered, so some tests had to change.
Since this uses the python warnings API, these warnings can be ignored
by running
python -W ignore:"stratum morphology" \
-W ignore:"system morphology" \
"$(which morph)" ...`
or turned into errors with
python -W error:"stratum morphology" \
-W error:"system morphology" \
"$(which morph)" ...`
|
|
|
|
|
| |
Refs should be completely omitted, and this is now the standard
behaviour, so there's little value in testing the behaviour separately.
|
| |
|
|
|
|
|
|
| |
This moves the GIVEN system $system uses $artifacts from $source to the
generic implements section, and the Python implementation into the
edit-morph helper script.
|
|
|
|
|
|
|
|
|
|
| |
It turns out that only the check-copyright-year script was exiting
properly, but it was not doing the deferred exit that other tests were
doing.
Other tests would set errors=1, then later check the result and exit
if it's non-zero, however the errors variable was set in a sub-shell,
since it was on the right-hand side of a pipe.
|
|\
| |
| |
| | |
Changed the error (exception) to list all obsolete fields.
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
Briefly reviewed by Jonathan Maw and Tiago Gomes, but all responsibility
is mine.
|
| |
| |
| |
| | |
Reported-by: Jonathan Maw
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These scenarios test the basics of most of the subcommands the
branch and merge plugin provides. They don't purport to be complete,
but give some indication that things work, and form a basis upon
which further things can be built. Yarn also isn't included in a
Baserock release yet, so we need to keep the cmdtests until Baserock
10 has been released.
The existing cmdtest tests are not modified by this: they are left
intact, until they can analysed in detail for things to be added to
the scenarios. After that, the cmdtest tests will start to go away.
Merging is not covered by these tests: it is not clear how merge should
work, and the current code is known to do the wrong thing in many cases.
Scenarios for merge will be added later.
Building is also not covered. Testing builds well needs some additional,
careful thinking, and that isn't ready for this patch series. It will
be added later.
|
| | |
|
|/ |
|
|
|
|
|
| |
It was misisng one case, making the test suite fail on computers
with suitable amounts of free space in the right filesystem.
|
|
|
|
|
|
|
|
| |
The size checks are irrelevant for most tests, since they tend to
produce tiny systems.
This still leaves the size checks themselves untested, however
doing so is arguably a system-wide test.
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
To remove need of configuring git to check new system .gitconfig file
added to morph/scripts and check set to use this file.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allowed values:
staging: build with a staging chroot (default)
test: build with the host's tools
bootstrap: build with the host's tools, and do not include this
chunk in the final stratum artifact
In the past, 'normal mode' has been used to describe building a chunk
with the host's tools. We don't want that mode to ever be used,
because it is a huge hole in reproducability, but we need to keep it
around to avoid making Morph's cmdtest suite depend on Baserock.
Hopefully naming it 'test' should discourage potential abusers.
It is unfortunate that the build tests now take a separate code path
compared to real-world usage of Morph. However, this is necessary to
avoid a circular dependency between Morph's test suite and the
build-essential stratum in Baserock.
We do whole-build testing of Baserock, too, so the 'staging' code path
is still tested outside of Morph. However, testing a staging area
requires populating it with at minimum a working shell, and this is a
bit too complex to go in Morph's test suite.
|
|/
|
|
|
|
| |
That means that bootstrapping Baserock is currently not possible with
this branch of Morph, but there's no reason it cannot be bootstrapped
using an older version of Morph instead.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
ssh://trove.baserock.org/baserock/baserock/morph into staging
This included a fixup for the copyright years and
the call to call_in_artifact_directory being a shade too long.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
git://git.baserock.org/baserock/baserock/morph
This merge includes modifying edit-morph to use self.output.write
instead of print for output.
|
| | |
|
|/
|
|
|
| |
This allows programmatic edits of certain kinds to morphologies, to
minimise the need for manual editing.
|
| |
|
|\ |
|
| | |
|
|\ \
| |/
|/|
| | |
Fixed long lines in scripts/bootstrap while merging.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
This functionality, of building a build-essential staging filler
using host tools rather than a staging chroot, will eventually be
done by Morph (and best of all, it will be done automatically when
changes are made to the build-essential stratum).
The script doesn't handle fetching source, so to use the script, you
require a base directory which must contain a 'gits' subdirectory
with a checkout of each chunk. Beyond this the build process is
handled by the script, except for installing fhs-dirs (which
requires root priviliges and must be done manually).
|
|
|
|
|
|
|
| |
This script has not worked for some time, and is not particularly
useful ('rm -r' can do pretty much the same thing).
Reviewed-By: Richard Maw <richard.maw@codethink.co.u>
|
|
|
|
|
|
|
| |
This reverts commit 053c0993bb62dd5e1a73d3367ea04c70874f3bd1.
It is needed, since tar.add(..., filter=func) is not available in
python2.7, so tarball system kind tests need to be disabled.
|
| |
|
|
|
|
|
| |
This script reads a built baserock system and finds all the chunks
used to build it in the artifact cache
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Most of the bespoke logic for the version check is unnecessary,
since the output to display can be easily inferred from the filename.
This fixes some test failures where the version check would cat a
file to fake the output, but fail because the file was removed.
|
|
|
|
|
|
|
|
|
|
| |
Some tests already used test: and in order to be able to share the
scripts/setup-3rd-party-strata script they need to all use the same
prefix.
Using baserock: implies that we are using real code from Baserock,
so I picked test: because the tests only ever use mock morphologies
and no real code.
|
|\
| |
| |
| |
| |
| | |
'remotes/origin/baserock/richardmaw/allow-smaller-tmpdir'
Signed-off-by: Lars Wirzenius <lars.wirzenius@codethink.co.uk>
|
| |
| |
| |
| |
| |
| | |
This reduces the space required from the full size of the compressed
disk image, which meant that tests could not be run on systems where
TMPDIR is a smallish tmpfs.
|
|/
|
|
| |
Merge is by far the most complex of the branching and merging commands.
|
|
|
|
|
|
|
|
| |
This makes it easier to identify what version of a system we are running.
Tests are updated to check inside the contents of the rootfs we created,
and the code to mount the rootfs as a loopback device was extracted out
into tests.as-root/lib
|
|
|
|
|
|
|
| |
This makes a non-backward-compatible change to morph which switches it to using
tarballs instead of bundles when initialising cached git repositories. This is
faster because it doesn't require index-pack --fix-thin operations on the
machine running morph.
|