diff options
Diffstat (limited to 'tests.deploy')
-rwxr-xr-x | tests.deploy/deploy-cluster.script | 60 | ||||
-rw-r--r-- | tests.deploy/deploy-cluster.stdout | 2 | ||||
-rwxr-xr-x | tests.deploy/deploy-rawdisk-without-disk-size-fails.script | 30 | ||||
-rwxr-xr-x | tests.deploy/deploy-rawdisk.script | 33 | ||||
-rwxr-xr-x | tests.deploy/setup | 216 | ||||
-rw-r--r-- | tests.deploy/setup-build | 35 |
6 files changed, 0 insertions, 376 deletions
diff --git a/tests.deploy/deploy-cluster.script b/tests.deploy/deploy-cluster.script deleted file mode 100755 index acc65a54..00000000 --- a/tests.deploy/deploy-cluster.script +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2013-2014 Codethink Limited -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - -# Test "morph deploy" by deploying the systems in cluster morphology. - -set -eu - -. "$SRCDIR/tests.deploy/setup-build" - -cd "$DATADIR/workspace/branch1" - -"$SRCDIR/scripts/test-morph" build hello-system - -"$SRCDIR/scripts/test-morph" build linux-system - -GIT_DIR=test/morphs/.git git tag -a my-test-tag -m "Example tag" HEAD - -"$SRCDIR/scripts/test-morph" --log "$DATADIR/deploy.log" \ - deploy test_cluster \ - linux-system-2.EXAMPLE_PASSWORD="secret" \ - linux-system-2.HOSTNAME="baserock-rocks-even-more" \ - > /dev/null - -outputdir=test/morphs -test -e $outputdir/hello-system.img -test -e $outputdir/linux-system-1.tar -test -e $outputdir/linux-system-2.tar - -hostname1=$(tar -xf $outputdir/linux-system-1.tar ./etc/hostname -O) -hostname2=$(tar -xf $outputdir/linux-system-2.tar ./etc/hostname -O) - -[ "$hostname1" = baserock-rocks ] -[ "$hostname2" = baserock-rocks-even-more ] - -tar -xf $outputdir/linux-system-2.tar ./baserock/deployment.meta -metadata=baserock/deployment.meta - -# Check that 'git describe' of definitions repo was stored correctly -echo -n "definitions-version: " -"$SRCDIR/scripts/yaml-extract" $metadata definitions-version - -echo -n "configuration.HOSTNAME: " -"$SRCDIR/scripts/yaml-extract" $metadata configuration HOSTNAME - -! (grep -q "EXAMPLE_PASSWORD" $metadata) diff --git a/tests.deploy/deploy-cluster.stdout b/tests.deploy/deploy-cluster.stdout deleted file mode 100644 index 16b78015..00000000 --- a/tests.deploy/deploy-cluster.stdout +++ /dev/null @@ -1,2 +0,0 @@ -definitions-version: {'describe': 'my-test-tag-unreproducible'} -configuration.HOSTNAME: baserock-rocks-even-more diff --git a/tests.deploy/deploy-rawdisk-without-disk-size-fails.script b/tests.deploy/deploy-rawdisk-without-disk-size-fails.script deleted file mode 100755 index 035557dd..00000000 --- a/tests.deploy/deploy-rawdisk-without-disk-size-fails.script +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2013 Codethink Limited -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - -# Test "morph deploy" refuses to deploy if DISK_SIZE is unset. - -set -eu - - -. "$SRCDIR/tests.deploy/setup-build" -cd "$DATADIR/workspace/branch1" -"$SRCDIR/scripts/test-morph" build linux-system -! "$SRCDIR/scripts/test-morph" --log "$DATADIR/deploy.log" \ - deploy rawdisk_test_cluster_without_disk_size > /dev/null 2>&1 -test ! -e "$DATADIR/disk.img" - diff --git a/tests.deploy/deploy-rawdisk.script b/tests.deploy/deploy-rawdisk.script deleted file mode 100755 index 3489a198..00000000 --- a/tests.deploy/deploy-rawdisk.script +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2013-2014 Codethink Limited -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - -# Test "morph deploy" by deploying to a raw disk image. - - -set -eu - - -. "$SRCDIR/tests.deploy/setup-build" -cd "$DATADIR/workspace/branch1" -"$SRCDIR/scripts/test-morph" build linux-system -"$SRCDIR/scripts/test-morph" --log "$DATADIR/deploy.log" \ - deploy rawdisk_test_cluster > /dev/null - -outputdir="test/morphs" -test -e $outputdir/disk.img - diff --git a/tests.deploy/setup b/tests.deploy/setup deleted file mode 100755 index 033598bc..00000000 --- a/tests.deploy/setup +++ /dev/null @@ -1,216 +0,0 @@ -#!/bin/bash -# -# Create git repositories for tests. The chunk repository will contain a -# simple "hello, world" C program, and two branches ("master", "farrokh"), -# with the master branch containing just a README. The two branches are there -# so that we can test building a branch that hasn't been checked out. -# The branches are different so that we know that if the wrong branch -# is uses, the build will fail. -# -# The stratum repository contains a single branch, "master", with a -# stratum and a system morphology that include the chunk above. -# -# Copyright (C) 2011, 2012, 2013, 2014 Codethink Limited -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - -set -eu - -source "$SRCDIR/scripts/fix-committer-info" - -# The $DATADIR should be empty at the beginnig of each test. -find "$DATADIR" -mindepth 1 -delete - -# Create an empty directory to be used as a morph workspace -mkdir "$DATADIR/workspace" - -# Create chunk repository. - -chunkrepo="$DATADIR/chunk-repo" -mkdir "$chunkrepo" -cd "$chunkrepo" -git init --quiet - -cat <<EOF > README -This is a sample README. -EOF -git add README -git commit --quiet -m "add README" - -git checkout --quiet -b farrokh - -cat <<EOF > hello.c -#include <stdio.h> -int main(void) -{ - puts("hello, world"); - return 0; -} -EOF -git add hello.c - -cat <<EOF > hello.morph -name: hello -kind: chunk -build-system: dummy -build-commands: - - gcc -o hello hello.c -install-commands: - - install -d "\$DESTDIR/etc" - - install -d "\$DESTDIR/bin" - - install hello "\$DESTDIR/bin/hello" -EOF -git add hello.morph - -git commit --quiet -m "add a hello world program and morph" - -git checkout --quiet master - - - -# Create morph repository. - -morphsrepo="$DATADIR/morphs" -mkdir "$morphsrepo" -cd "$morphsrepo" -git init --quiet - -cat <<EOF > hello-stratum.morph -name: hello-stratum -kind: stratum -chunks: - - name: hello - repo: test:chunk-repo - ref: farrokh - build-depends: [] - build-mode: test -EOF -git add hello-stratum.morph - -cat <<EOF > hello-system.morph -name: hello-system -kind: system -arch: $("$SRCDIR/scripts/test-morph" print-architecture) -strata: - - morph: hello-stratum -EOF -git add hello-system.morph - -cat <<EOF > linux-stratum.morph -name: linux-stratum -kind: stratum -build-depends: - - morph: hello-stratum -chunks: - - name: linux - repo: test:kernel-repo - ref: master - build-depends: [] - build-mode: test -EOF -git add linux-stratum.morph - -cat <<EOF > linux-system.morph -name: linux-system -kind: system -arch: $("$SRCDIR/scripts/test-morph" print-architecture) -strata: - - morph: hello-stratum - - morph: linux-stratum -configuration-extensions: - - set-hostname -EOF -git add linux-system.morph - - -cat <<EOF > rawdisk_test_cluster.morph -name: rawdisk_test_cluster -kind: cluster -systems: - - morph: linux-system - deploy: - linux-system-1: - type: rawdisk - location: disk.img - DISK_SIZE: 1G -EOF -git add rawdisk_test_cluster.morph - -cat <<EOF > rawdisk_test_cluster_without_disk_size.morph -name: rawdisk_test_cluster_without_disk_size -kind: cluster -systems: - - morph: linux-system - deploy: - linux-system-1: - type: rawdisk - location: disk.img -EOF -git add rawdisk_test_cluster_without_disk_size.morph - -cat <<EOF > test_cluster.morph -name: test_cluster -kind: cluster -systems: - - morph: hello-system - deploy-defaults: - type: tar - deploy: - hello-system: - type: rawdisk - location: hello-system.img - DISK_SIZE: 1G - - morph: linux-system - deploy-defaults: - HOSTNAME: "baserock-rocks" - deploy: - linux-system-1: - type: tar - location: linux-system-1.tar - linux-system-2: - type: tar - location: linux-system-2.tar -EOF -git add test_cluster.morph - - -git commit --quiet -m "add morphs" - -# Make a dummy kernel chunk. -mkdir "$DATADIR/kernel-repo" -cat <<EOF > "$DATADIR/kernel-repo/linux.morph" -name: linux -kind: chunk -install-commands: - - mkdir -p "\$DESTDIR/boot" - - touch "\$DESTDIR/extlinux.conf" - - touch "\$DESTDIR/boot/vmlinuz" - - touch "\$DESTDIR/boot/System.map" -EOF -"$SRCDIR/scripts/run-git-in" "$DATADIR/kernel-repo" init --quiet -"$SRCDIR/scripts/run-git-in" "$DATADIR/kernel-repo" add . -"$SRCDIR/scripts/run-git-in" "$DATADIR/kernel-repo" commit --quiet -m foo \ - > /dev/null - -# Create a morph configuration file. -cat <<EOF > "$DATADIR/morph.conf" -[config] -repo-alias = test=file://$DATADIR/#file://$DATADIR/ -cachedir = $DATADIR/cache -log = $DATADIR/morph.log -no-distcc = true -quiet = true -log = /tmp/morph.log -EOF diff --git a/tests.deploy/setup-build b/tests.deploy/setup-build deleted file mode 100644 index c6b24da5..00000000 --- a/tests.deploy/setup-build +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2012-2014 Codethink Limited -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - -## Fixture for tests involving 'morph build' - -source "$SRCDIR/scripts/fix-committer-info" - -cd "$DATADIR/workspace" -"$SRCDIR/scripts/test-morph" init -"$SRCDIR/scripts/test-morph" branch test:morphs branch1 -"$SRCDIR/scripts/test-morph" edit linux - -# Fix UUID's in the checked out repos to make build branch names deterministic -git config -f "$DATADIR/workspace/branch1/.morph-system-branch/config" \ - branch.uuid 123456789 -git config -f "$DATADIR/workspace/branch1/test/morphs/.git/config" \ - morph.uuid 987654321 -git config -f "$DATADIR/workspace/branch1/test/kernel-repo/.git/config" \ - morph.uuid AABBCCDDE - |