summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* edit-morph: Use morphloader rather than morph2Adam Coldrick2014-08-141-52/+8
| | | | | | 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.
* Make our use of json binary path safebaserock/richardmaw/bugfix/unicode-safe-jsonRichard Maw2014-07-111-2/+2
| | | | | | | | | | | | | | | | | | | | | 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.
* yarns: Adapt to put morphologies in subdirsbaserock/richardmaw/S11284/morphologies-by-path-v4Richard Maw2014-07-101-5/+1
| | | | | | | | | | | | | 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.
* Add yarn tests for new deployment functionalitybaserock/adamcoldrick/deploy-specific-systems-v5Adam Coldrick2014-06-181-1/+1
|
* Improve check-copyright-year error reportingRichard Ipsum2014-04-251-9/+9
| | | | Be more verbose and exit with an error not an exception.
* Update copyright header in check-silliness scriptRichard Maw2014-04-221-1/+1
| | | | | Reviewed-by: Pedro Alvarez Rubber-stamped-by: Richard Maw
* Merge remote-tracking branch 'origin/baserock/richardmaw/style-checker'Richard Maw2014-04-171-3/+20
|\ | | | | | | | | Reviewed-by: Lars Wirzenius Reviewed-by: Daniel Silverstone
| * check-copyright-year: Use current date for uncommitted changesRichard Maw2014-03-191-3/+20
| |
* | Fix check-silliness' use of awk length functionLars Wirzenius2014-04-171-2/+2
|/ | | | | | | Posix took away using length without (). Reviewed-by: Richard Maw Reviewed-by: Daniel Silverstone
* scripts: Add helper commands for altering cluster morphologiesRichard Maw2014-03-141-11/+97
| | | | | | 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.
* yarns: Ensure machine altered morphologies don't include repo/refRichard Maw2014-02-141-1/+3
|
* Warn and default to null if repo or ref are givenRichard Maw2014-02-131-3/+7
| | | | | | | | | | | | | | | | | | 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)" ...`
* Remove tests for working with null refsRichard Maw2014-02-131-18/+0
| | | | | Refs should be completely omitted, and this is now the standard behaviour, so there's little value in testing the behaviour separately.
* yarns: Add regression test for cache-key clashRichard Maw2014-01-221-0/+18
|
* yarns: Move system artifact inclusion implementationRichard Maw2014-01-221-1/+28
| | | | | | 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.
* tests: Run style check before slower testsRichard Maw2013-11-211-0/+63
| | | | | | | | | | 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.
* Merge remote-tracking branch 'origin/danielfirth/RT189'Lars Wirzenius2013-10-081-2/+0
|\ | | | | | | Changed the error (exception) to list all obsolete fields.
| * Dropped support for 'system-kind' from system morphology filesDan Firth2013-09-271-1/+0
| |
| * Dropped support for 'disk-size' from system morphology files'Dan Firth2013-09-271-1/+0
| |
* | Move helper script to scripts for use in cmdtestsRichard Maw2013-09-261-0/+18
|/
* Merge branch 'liw/b-and-m-yarns'Lars Wirzenius2013-07-311-0/+74
|\ | | | | | | | | Briefly reviewed by Jonathan Maw and Tiago Gomes, but all responsibility is mine.
| * Remove commented out debug statementsLars Wirzenius2013-07-311-2/+0
| | | | | | | | Reported-by: Jonathan Maw
| * Add scenario (yarn) tests for most of branching and mergingLars Wirzenius2013-07-301-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix copyright yearLars Wirzenius2013-07-311-1/+1
| |
* | Add a script to check every .gitmodules file in a system branchJonathan Maw2013-07-251-0/+121
|/
* Fix scripts/test-morph to pass min space options alwaysLars Wirzenius2013-06-171-0/+1
| | | | | It was misisng one case, making the test suite fail on computers with suitable amounts of free space in the right filesystem.
* tests: disable the cache and tempdir space checksRichard Maw2013-06-051-1/+2
| | | | | | | | 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.
* Fix tests to use rootfs-tarball system-kinds, instead of disksLars Wirzenius2013-04-231-1/+1
|
* Replace spaces with tabsLars Wirzenius2013-03-201-2/+2
|
* Merge remote-tracking branch 'origin/jonathan/copy-artifacts-plugin'Lars Wirzenius2013-03-201-67/+0
|\
| * Remove obsolete scriptJonathan Maw2013-03-141-67/+0
| |
* | check now uses git config file in morph/scriptsRic Holland2013-03-201-0/+3
| | | | | | | | | | To remove need of configuring git to check new system .gitconfig file added to morph/scripts and check set to use this file.
* | Add 'build-mode' field for chunks in a stratumSam Thursfield2013-03-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Remove old bootstrap mechanismsSam Thursfield2013-03-132-614/+0
|/ | | | | | 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.
* Remove TAB character (and break line better)Lars Wirzenius2013-03-111-2/+2
|
* Merge branch 'jonathan/update-find-artifacts' of ↵Richard Maw2013-03-081-76/+20
|\ | | | | | | | | | | | | 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.
| * Update find-artifacts script to use call_in_artifact_directoryJonathan Maw2013-03-081-75/+18
| |
* | Fix scripts/edit-morph to work correctlySam Thursfield2013-03-051-12/+10
|/
* Merge branch 'samthursfield/edit-morph' of ↵Richard Maw2013-02-211-0/+205
|\ | | | | | | | | | | | | git://git.baserock.org/baserock/baserock/morph This merge includes modifying edit-morph to use self.output.write instead of print for output.
| * scripts/edit-morph: Add to-yaml and to-json commandsSam Thursfield2013-02-181-0/+42
| |
| * Add scripts/edit-morph.pySam Thursfield2013-02-181-0/+163
|/ | | | | This allows programmatic edits of certain kinds to morphologies, to minimise the need for manual editing.
* scripts/bootstrap: Fix eglibc2 buildSam Thursfield2013-01-291-1/+1
|
* Merge branch 'jjardon/yaml-v2'Sam Thursfield2013-01-281-4/+1
|\
| * Remove unneded json module importsJavier Jardón2013-01-281-4/+1
| |
* | Merge remote-tracking branch 'origin/samthursfield/build-essential'Lars Wirzenius2013-01-281-0/+555
|\ \ | |/ |/| | | Fixed long lines in scripts/bootstrap while merging.
| * Add script to manually create a build-essential staging fillerSam Thursfield2013-01-241-0/+553
|/ | | | | | | | | | | | | 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).
* Remove scripts/clean-git-cacheSam Thursfield2013-01-221-240/+0
| | | | | | | 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>
* Revert "Remove unneded scripts/python-check script"Richard Maw2013-01-221-0/+36
| | | | | | | 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.
* Remove unneded scripts/python-check scriptJavier Jardón2013-01-181-36/+0
|
* Add find-artifacts scriptJonathan Maw2012-12-101-0/+123
| | | | | This script reads a built baserock system and finds all the chunks used to build it in the artifact cache