| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I8d3f3ec6a1796b06b32e43dc4839360ff1cc2d86
|
|
|
|
| |
Change-Id: Ia644ddfaa5138f0ad459099cf26f51b545a9f9ca
|
|
|
|
| |
Change-Id: If1b156a309236956d7a35136db35a8fd0ab3ad71
|
|
|
|
|
|
|
|
|
|
|
| |
Its going to be more likely that a baserock user is more interesed
in the build log than actually the debug output from morph.
And also the intuitive option would be to use -v for this.
--verbose/-v: show build output
--debug/-d: show morph debug output
Change-Id: I1fb99034dc8680a5f168f6306724663aea33ebc5
|
|
|
|
|
|
|
| |
Add the ability to ignore files when checking copyright years,
and start ignoring the COPYING file.
Change-Id: I0cc11456f896e27458357ab0c5729223c71b406e
|
|
|
|
| |
Change-Id: I46ad9c15064de752e839611d2ce3ee016ec7cc46
|
|
|
|
| |
Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
|
| |
|
|\
| |
| |
| |
| |
| | |
Reviewed-by: Sam Thursfield
Reviewed-by: Pedro Alvarez
Reviewed-by: Daniel Silverstone
|
| |
| |
| |
| |
| |
| | |
It now works when passed a file, rather than a command to run, and
ignores comments and set commands, so the generated preamble is
accepted.
|
|/ |
|
| |
|
|
|
|
|
|
|
| |
I've rarely needed to use it, and on those rare occasions, it would have
been easy enough to calculate it.
Let's get rid of this step, and save everyone some time in future.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is intended to be statically linked, so it can be run in the
staging area, without having to build a libc.
You shouldn't generally statically link GLibc, because it dynamically
links things like NSS modules or locale data, but we only need some very
simple stuff, so we can get away with that.
There's also potential licensing issues, as GLibc is LGPLv2, so
distribution requires providing the ability to re-link against another
library, but its use in the test-suite shouldn't count as distribution.
There's a couple of commands, the only two needed by the yarn test
suite are "copy files" which is like `cp -r . "$DESTDIR"`, and "false",
which is for commands to deliberately fail.
|
|
|
|
|
|
|
| |
This starts the git daemon procvess in inetd mode, so we can bind to an
ephemeral port, and still be able to report which port was used, so
we can construct git URIs using a non-standard port to talk to simulated
git servers.
|
|
|
|
|
|
| |
Update the edit-morph script used in the test suite to use morphloader
for saving/loading morphologies rather than morph2. Also remove some
unused code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
json only accepts unicode. Various APIs such as file paths and environment
variables allow binary data, so we need to support this properly.
This patch changes every[1] use of json.load or json.dump to escape
non-unicode data strings. This appears exactly as it used to if the
input was valid unicode, if it isn't it will insert \xabcd escapes in
the place of non-unicode data.
When loading back in, if json.load is told to unescape it with
`encoding='unicode-escape'` then it will convert it back correctly.
This change was primarily to support file paths that weren't valid
unicode, where this would choke and die. Now it works, but any tools
that parsed the metadata need to unescape the paths.
[1]: The interface to the remote repo cache uses json data, but I haven't
changes its json.load calls to unescape the data, since the repo
caches haven't been made to escape the data.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to move our morphologies in our definitions repository into
subdirectories, so they're more organised.
We'd prefer to only refer to morphologies by file path, rather than a
name that loosely corresponds to the file path, but we need to support
that for backwards compatibility until we can move all of our
morphologies into the definitions repository.
However, since we want to eventually remove this, and we want to ensure
that file paths work, we change the yarn tests to use file paths.
|
| |
|
|
|
|
| |
Be more verbose and exit with an error not an exception.
|
|
|
|
|
| |
Reviewed-by: Pedro Alvarez
Rubber-stamped-by: Richard Maw
|
|\
| |
| |
| |
| | |
Reviewed-by: Lars Wirzenius
Reviewed-by: Daniel Silverstone
|
| | |
|
|/
|
|
|
|
|
| |
Posix took away using length without ().
Reviewed-by: Richard Maw
Reviewed-by: Daniel Silverstone
|
|
|
|
|
|
| |
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.
|
| |
|