summaryrefslogtreecommitdiff
path: root/yarns
Commit message (Collapse)AuthorAgeFilesLines
* yarns: Make test-chunk use files from its source repoRichard Maw2014-07-221-3/+16
| | | | | | It is entirely possible that we could accidentally give chunks that use morphologies from the definitions repository, the definitions repository to build from, rather than the source repository.
* yarns: Test building and deployment of a system with a chunk in definitionsAdam Coldrick2014-07-223-23/+26
|
* Remove use of "morph" field in chunk specs in yarnsRichard Maw2014-07-223-7/+6
| | | | | | We don't use this in definitions.git, and we're going to change its semantics, so the test suite would break until we introduced the new semantics, unless we remove its use of the old semantics first.
* Use run_morph in yarnsRichard Maw2014-07-221-1/+1
| | | | | | This is required to ensure the right version of morph is used. I have a .bashrc that causes `morph` to be "$HOME/morph/morph", so it fails to find morph, because HOME is set to a directory inside DATADIR.
* yarns: Adapt to put morphologies in subdirsbaserock/richardmaw/S11284/morphologies-by-path-v4Richard Maw2014-07-107-190/+190
| | | | | | | | | | | | | 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.
* Exorcise some old and unused commandsRichard Maw2014-07-072-53/+0
| | | | | | | | | | | | | `morph merge` only worked for a small subset of cases, and has been left to bit-rot, since we don't use it. `morph tag` is just a `git tag` when we have petrified definitions repository. We don't use it, nor do we need it, so it can go away rather than take up valuable development time fixing it when requirements change. `old-foo` have all been superceded by newer versions and are no-longer used.
* Remove check on checkout/branch that there are systemsRichard Maw2014-07-071-9/+0
| | | | | | | This was the wrong response to the problem of accidentally checking-out morph when trying to check out morphs. Now that it's called definitions, this is irrelevent, and aborting a checkout when this check fails is the wrong thing to do.
* Add yarn tests for new deployment functionalitybaserock/adamcoldrick/deploy-specific-systems-v5Adam Coldrick2014-06-182-0/+110
|
* Merge branch 'baserock/richardmaw/S11226/yarns-v2'Richard Maw2014-06-092-0/+126
|\ | | | | | | Reviewed-by: Sam Thursfield and Richard Ipsum
| * Add yarn to test initramfs deploymentsRichard Maw2014-06-062-0/+126
| |
* | Fix tests for new `morph edit` syntaxPaul Sherwood2014-06-092-21/+2
|/
* Raise the disk image size for deployment testRichard Maw2014-03-141-1/+1
| | | | Older versions of btrfs fail with just 10M.
* Revert "tests: Allow running ./check on 32-bit x86"Richard Maw2014-03-141-1/+1
| | | | | | | | | This reverts commit f366960273b026322f7e7cc3c1eb0cd632ebc73e. These changes break building on x86_64, which is our main development platform. Better patches will be forthcoming later.
* tests: Allow running ./check on 32-bit x86Richard Maw2014-03-141-1/+1
| | | | | | | | uname will return the same string morph expects as an architecture on x86_64, but the canonical x86_32 architecture names match i?86 instead. To make it work on 32-bit, we replace calls to uname with morph print-architecture, which does the translation for us.
* Test nested deploymentsRichard Maw2014-03-144-30/+125
|
* yarns: set deployment name based on system nameRichard Maw2014-03-144-7/+8
|
* Convert colons to slashes for chunk nameLars Wirzenius2014-03-062-3/+14
|
* Fix directory names for chunks to use slashes, not colonsLars Wirzenius2014-03-061-5/+5
| | | | | These are _directory_ names, not chunk repo URLs, so a slash is correct now.
* Fix pathname (colon to slash) in test implementationsLars Wirzenius2014-03-061-21/+21
|
* Pass in user's PYTHONPATH to morph when run from yarnsLars Wirzenius2014-03-061-1/+10
| | | | | | | | | | | | | We carefully _add_ to PYTHONPATH in ./check, if it was set by the user. However, yarn cleans the environment when it runs tests, so we tell it to add PYTHONPATH from ./check to the test environment. Additionally, we change yarns/morph.shell-lib so it doesn't override PYTHONPATH, but adds to it. All of this is necessary to get morph, when run by yarn steps, to have the right PYTHONPATH, which can be (and currently is) to allow the user to specify un-installed versions of dependencies, such as cliapp.
* Remove setting of SRCDIR in morph.shell-libLars Wirzenius2014-03-051-9/+0
| | | | | Yarn in Baserock now sets SRCDIR, so it is not necessary for us to set it anymore.
* yarns: Fix how Morph is runSam Thursfield2014-03-041-6/+2
| | | | | | | | As we are running Morph from the source dir we need to set PYTHONPATH so that extensions are correctly loaded. Also, the version of Yarn in Baserock sets 'SRCDIR' so we do not need to set a default any more.
* deploy: Add upgrading to deployment.yarnSam Thursfield2014-03-042-1/+39
|
* Merge remote-tracking branch ↵Richard Maw2014-02-172-5/+33
|\ | | | | | | | | | | | | | | 'origin/baserock/richardmaw/10312/ensure-not-add-repo-ref' This includes a typo fix of Unpertify -> Unpetrify Reviewed-by: Lars Wirzenius
| * yarns: Ensure machine altered morphologies don't include repo/refRichard Maw2014-02-142-0/+29
| |
| * yarns: Remove code to check refs to strataRichard Maw2014-02-141-5/+4
|/ | | | | | | | It should no longer be possible to set these fields. Either we create the morphologies with them in a GIVEN, at which point we already know it's there, so checking whether it is there is pointless; or we check that morph doesn't create them, but the current implementation would not allow it, since yarn doesn't have THEN NOT.
* Warn and default to null if repo or ref are givenRichard Maw2014-02-131-12/+3
| | | | | | | | | | | | | | | | | | 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-133-80/+1
| | | | | Refs should be completely omitted, and this is now the standard behaviour, so there's little value in testing the behaviour separately.
* Don't use repo or ref in test suiteRichard Maw2014-02-133-14/+0
|
* yarns: Add regression test for cache-key clashRichard Maw2014-01-222-0/+34
|
* yarns: Move system artifact inclusion implementationRichard Maw2014-01-222-15/+14
| | | | | | 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.
* yarns: install misc files in /etc, not /usr/etcRichard Maw2014-01-221-1/+1
|
* yarns: Add test for not building unnecessary chunksRichard Maw2014-01-221-0/+55
| | | | | | | | | | | | | | | | It's an unintended, but possibly not unwelcome feature, that if you have a system that includes stratum artifacts that don't require building the whole stratum, that those chunks are not built. It's debatable whether the confusion of being able to have chunks defined that aren't built outweighs reduced build-times, indeed the test works by having a chunk that can never successfully build, which shows that one pitfall is the possibility of not noticing some chunks fail to build. However, whether it's a good thing or not, we should document this behaviour with a test, so that we don't accidentally break behaviour that someone depends on.
* yarns: Add commentary for splitting scenariosRichard Maw2014-01-221-0/+36
|
* yarns: Add tests for building systems with splittingRichard Maw2014-01-162-0/+138
| | | | | | | This includes tests for systems with the default splits and a system that selects only one of the produced stratum artifacts to go into the system artifact, since this is roughly the expected use-case for the tiny system morphologies.
* yarns: Add a deploy testRichard Maw2014-01-152-3/+49
|
* yarns: Make test chunk create representative filesRichard Maw2014-01-151-2/+134
| | | | | | | It's useful for the splitting tests that will be implemented later, for there to be files that are representative of the files that would be on a common root filesystem, so the match rules can be tested by the right chunk artifacts containing the right files.
* yarns: Remove redundant repo in IMPLEMENTS THENRichard Maw2014-01-093-4/+4
| | | | | morph build the system... doesn't need the repository to be specified, just the branch; morph is able to work it out for itself.
* Add yarn test for cross-bootstrapPedro Alvarez2013-12-202-3/+69
|
* yarns: Change expected result of building uncommitted morphologiesRichard Maw2013-11-291-3/+1
| | | | | The new build code uses `git update-index --add`, which means it can use morphologies that haven't previously been added.
* yarns: un-parameterise architecture in system morphologiesRichard Maw2013-11-293-10/+18
| | | | | | It doesn't make sense to be able to specify an architecture from the IMPLEMENTS name, since you either need your architecture for something to build, or testarch for something that consistently doesn't build.
* validation: Require there be non-bootstrap chunks in systemsRichard Maw2013-11-292-2/+46
| | | | | | | | | | | | | | Bootstrap chunks don't make it into the final system, so there needs to be an extra check for empty systems after the sources have been collected. This was complicated slightly by the fact that if you try to build a chunk directly you will have no strata in your sources, hence no non-bootstrap chunks, but validation for having been told to build a chunk is best handled later. This amends the old yarns that depended on building a bootstrap chunk and adds a new one that explicitly builds a system with bootstrap chunks.
* morphloader: Require systems have at least one stratumRichard Maw2013-11-292-14/+15
| | | | | | | | | | It doesn't currently make sense to build a system which contains no strata. We may later add other fields, such as initramfs to contribute to the system's artifact, but until then it's another bug to trip over. This uses collections.Sequence for checking the type of the systems entry in the morphology as a style choice, though it allows more flexibility if the types in the parsed morphology change.
* yarns: Correctly allow run_morph to output stderr on failureRichard Maw2013-11-291-7/+10
| | | | | Set -e meant that the stderr could never be re-output, catching the return code and re-outputting was not sufficient.
* yarns: Also output error messages to terminalRichard Maw2013-11-221-0/+3
| | | | | Saving the result is useful for the tests, but diagnostics of failures are quicker if the result is printed to the terminal as well.
* Standardizes language and refactors some implementation stepsDaniel Firth2013-11-056-136/+124
|
* Added scenario test to prevent morph edit from being used without a system ↵Daniel Firth2013-11-012-1/+15
| | | | argument
* Added scenario test for preventing building uncommitted systemsDaniel Firth2013-11-012-0/+21
|
* Add regression test, morph branch doesn't remove existing branch dirPedro Alvarez2013-10-311-0/+20
|
* Some tests refactorized for better understanding.Pedro Alvarez2013-10-312-12/+16
|