| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| | |
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.
|
|
|
|
|
|
| |
This script converts a git cache from the current format to the new bare
format. It need only stay around for a while (perhaps until after the next
Baserock release) and then it can be removed.
|
| |
|
|
|
|
|
|
| |
Move this into a script which can be sourced by the 'setup' scripts
and the actual tests (this is needed as the environment in 'setup' is
not passed on to the tests).
|
|
|
|
| |
Rename "sources" field of stratum morphologies to "chunks".
|
| |
|
| |
|
|
|
|
|
| |
1) print message if no unused gits were found
2) avoid eating baserock:morphs repository every time
|
|
|
|
|
|
|
| |
This removes local repository clones that are not referenced by anything
in the baserock:morphs repository.
It would be useful for Morph to do this itself in the long term.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes all but the latest build of a chunk from the cache,
which can free up a significant amount of disk space for large
chunks.
Ideally Morph should handle cleaning up the artifact cache itself,
there are some ideas floating around including using git to store
the artifacts; either way, reference counting items in the cache
and only requiring the user to manually delete the final system
images when they are no longer required is probably the best way.
|
|
|
|
|
|
|
|
|
| |
This was done with the aid of the pep8 script, available by running
`easy_install pep8`.
It may be worth making this part of ./check, but that will require
putting pep8 into the development tools stratum.
This should be easy, given pep8 has no external dependencies.
|