From 823513da2a6b37bdc395fac73d04f1c9bc854c28 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Tue, 14 Aug 2012 13:40:41 +0000 Subject: Add a non-x86 disk image test The Disk image builder can work on non-x86 and as such we should let it test anywhere. --- tests.as-root/disk-builds-rootfs-and-kernel.script | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100755 tests.as-root/disk-builds-rootfs-and-kernel.script (limited to 'tests.as-root') diff --git a/tests.as-root/disk-builds-rootfs-and-kernel.script b/tests.as-root/disk-builds-rootfs-and-kernel.script new file mode 100755 index 00000000..3b3c62c4 --- /dev/null +++ b/tests.as-root/disk-builds-rootfs-and-kernel.script @@ -0,0 +1,94 @@ +#!/bin/sh +# +# A system kind of 'disk' should create the disk image, plus a kernel file. +# +# Copyright (C) 2012 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 + +cache="$DATADIR/cache/artifacts" +kernelrepo="$DATADIR/kernel-repo" +morphsrepo="$DATADIR/morphs-repo" + +arch=$(uname -m) + +cd "$morphsrepo" +git checkout --quiet -b custom master +cat <system.morph +{ + "name": "system", + "kind": "system", + "system-kind": "disk", + "arch": "$arch", + "disk-size": "1G", + "strata": [ + "stratum" + ] +} +EOF +cat <stratum.morph +{ + "name": "stratum", + "kind": "stratum", + "sources": [ + { + "name": "hello", + "repo": "test:chunk-repo", + "ref": "farrokh", + "build-depends": [] + }, + { + "name": "linux", + "repo": "test:kernel-repo", + "ref": "custom", + "build-depends": ["hello"] + } + ] +} +EOF +git add system.morph stratum.morph +git commit --quiet -m "foo" + +cd "$kernelrepo" +git checkout --quiet -b custom master +cat <linux.morph +{ + "name": "linux", + "kind": "chunk", + "install-commands": [ + "mkdir -p \"\$DESTDIR/boot\"", + "touch \"\$DESTDIR\"/boot/vmlinuz", + "touch \"\$DESTDIR\"/boot/System.map" + ] +} +EOF +git add linux.morph + +git commit --quiet -m 'Make the kernel create a dummy zImage' + +"$SRCDIR/scripts/test-morph" \ + build test:morphs-repo custom system.morph > /dev/null + +for suffix in kernel rootfs +do + if [ ! -e "$cache"/*system.system-"$suffix" ]; + then + echo "No .system.system-$suffix" 1>&2 + find "$cache" 1>&2 + exit 1 + fi +done + -- cgit v1.2.1