diff options
-rwxr-xr-x | check | 1 | ||||
-rwxr-xr-x | tests.build/ambiguous-refs.script (renamed from tests/ambiguous-refs.script) | 2 | ||||
-rw-r--r-- | tests.build/build-chunk-failures-dump-log.exit (renamed from tests/build-chunk-failures-dump-log.exit) | 0 | ||||
-rwxr-xr-x | tests.build/build-chunk-failures-dump-log.script (renamed from tests/build-chunk-failures-dump-log.script) | 2 | ||||
-rw-r--r-- | tests.build/build-chunk-failures-dump-log.stdout (renamed from tests/build-chunk-failures-dump-log.stdout) | 0 | ||||
-rwxr-xr-x | tests.build/build-chunk-writes-log.script (renamed from tests/build-chunk-writes-log.script) | 2 | ||||
-rwxr-xr-x | tests.build/build-chunk.script (renamed from tests/build-chunk.script) | 2 | ||||
-rw-r--r-- | tests.build/build-chunk.stdout (renamed from tests/build-chunk.stdout) | 0 | ||||
-rwxr-xr-x | tests.build/build-stratum-with-submodules.script (renamed from tests/build-stratum-with-submodules.script) | 2 | ||||
-rw-r--r-- | tests.build/build-stratum-with-submodules.stdout (renamed from tests/build-stratum-with-submodules.stdout) | 0 | ||||
-rwxr-xr-x | tests.build/build-stratum.script (renamed from tests/build-stratum.script) | 2 | ||||
-rw-r--r-- | tests.build/build-stratum.stdout (renamed from tests/build-stratum.stdout) | 0 | ||||
-rw-r--r-- | tests.build/build-system-autotools-fails-if-autogen-fails.exit (renamed from tests/build-system-autotools-fails-if-autogen-fails.exit) | 0 | ||||
-rwxr-xr-x | tests.build/build-system-autotools-fails-if-autogen-fails.script (renamed from tests/build-system-autotools-fails-if-autogen-fails.script) | 2 | ||||
-rwxr-xr-x | tests.build/build-system-autotools.script (renamed from tests/build-system-autotools.script) | 2 | ||||
-rw-r--r-- | tests.build/build-system-autotools.stdout (renamed from tests/build-system-autotools.stdout) | 0 | ||||
-rwxr-xr-x | tests.build/build-system-cpan.script (renamed from tests/build-system-cpan.script) | 2 | ||||
-rw-r--r-- | tests.build/build-system-cpan.stdout (renamed from tests/build-system-cpan.stdout) | 0 | ||||
-rwxr-xr-x | tests.build/build-system-python-distutils.script (renamed from tests/build-system-python-distutils.script) | 2 | ||||
-rw-r--r-- | tests.build/build-system-python-distutils.stdout (renamed from tests/build-system-python-distutils.stdout) | 0 | ||||
-rw-r--r-- | tests.build/missing-ref.exit (renamed from tests/missing-ref.exit) | 0 | ||||
-rwxr-xr-x | tests.build/missing-ref.script (renamed from tests/missing-ref.script) | 2 | ||||
-rw-r--r-- | tests.build/missing-ref.stderr (renamed from tests/missing-ref.stderr) | 0 | ||||
-rwxr-xr-x | tests.build/morphless-chunks.script (renamed from tests/morphless-chunks.script) | 2 | ||||
-rw-r--r-- | tests.build/morphless-chunks.stdout (renamed from tests/morphless-chunks.stdout) | 0 | ||||
-rwxr-xr-x | tests.build/rebuild-cached-stratum.script (renamed from tests/rebuild-cached-stratum.script) | 2 | ||||
-rw-r--r-- | tests.build/rebuild-cached-stratum.stdout (renamed from tests/rebuild-cached-stratum.stdout) | 0 | ||||
-rwxr-xr-x | tests.build/setup | 134 | ||||
-rwxr-xr-x | tests.build/stratum-overlap-warns.script (renamed from tests/stratum-overlap-warns.script) | 2 | ||||
-rwxr-xr-x | tests.build/stratum-overlap-warns.setup (renamed from tests/stratum-overlap-warns.setup) | 2 | ||||
-rwxr-xr-x | tests.build/stratum-overlap-writes-overlap.script (renamed from tests/stratum-overlap-writes-overlap.script) | 2 | ||||
l--------- | tests.build/stratum-overlap-writes-overlap.setup (renamed from tests/stratum-overlap-writes-overlap.setup) | 0 | ||||
-rw-r--r-- | tests.build/stratum-overlap-writes-overlap.stdout (renamed from tests/stratum-overlap-writes-overlap.stdout) | 0 | ||||
-rwxr-xr-x | tests.build/uses-tempdir.script (renamed from tests/uses-tempdir.script) | 2 |
34 files changed, 152 insertions, 17 deletions
@@ -37,6 +37,7 @@ if not morphlib.got_yaml: sys.exit(1) " > /dev/null 2>&1 then + cmdtest tests.build cmdtest tests.as-root else echo "NOT RUNNING tests.as-root" diff --git a/tests/ambiguous-refs.script b/tests.build/ambiguous-refs.script index 58d09d26..fbfbdfd7 100755 --- a/tests/ambiguous-refs.script +++ b/tests.build/ambiguous-refs.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/build-chunk-failures-dump-log.exit b/tests.build/build-chunk-failures-dump-log.exit index d00491fd..d00491fd 100644 --- a/tests/build-chunk-failures-dump-log.exit +++ b/tests.build/build-chunk-failures-dump-log.exit diff --git a/tests/build-chunk-failures-dump-log.script b/tests.build/build-chunk-failures-dump-log.script index 3e0985d8..b54c2c1e 100755 --- a/tests/build-chunk-failures-dump-log.script +++ b/tests.build/build-chunk-failures-dump-log.script @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/build-chunk-failures-dump-log.stdout b/tests.build/build-chunk-failures-dump-log.stdout index 7a13c12a..7a13c12a 100644 --- a/tests/build-chunk-failures-dump-log.stdout +++ b/tests.build/build-chunk-failures-dump-log.stdout diff --git a/tests/build-chunk-writes-log.script b/tests.build/build-chunk-writes-log.script index a258bf99..0e7aac88 100755 --- a/tests/build-chunk-writes-log.script +++ b/tests.build/build-chunk-writes-log.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/build-chunk.script b/tests.build/build-chunk.script index 9728f939..4232d3f6 100755 --- a/tests/build-chunk.script +++ b/tests.build/build-chunk.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/build-chunk.stdout b/tests.build/build-chunk.stdout index 8077cac2..8077cac2 100644 --- a/tests/build-chunk.stdout +++ b/tests.build/build-chunk.stdout diff --git a/tests/build-stratum-with-submodules.script b/tests.build/build-stratum-with-submodules.script index 1799d74a..987fbadf 100755 --- a/tests/build-stratum-with-submodules.script +++ b/tests.build/build-stratum-with-submodules.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/build-stratum-with-submodules.stdout b/tests.build/build-stratum-with-submodules.stdout index a5f677f3..a5f677f3 100644 --- a/tests/build-stratum-with-submodules.stdout +++ b/tests.build/build-stratum-with-submodules.stdout diff --git a/tests/build-stratum.script b/tests.build/build-stratum.script index ac210129..4392036d 100755 --- a/tests/build-stratum.script +++ b/tests.build/build-stratum.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/build-stratum.stdout b/tests.build/build-stratum.stdout index 4f422ea4..4f422ea4 100644 --- a/tests/build-stratum.stdout +++ b/tests.build/build-stratum.stdout diff --git a/tests/build-system-autotools-fails-if-autogen-fails.exit b/tests.build/build-system-autotools-fails-if-autogen-fails.exit index d00491fd..d00491fd 100644 --- a/tests/build-system-autotools-fails-if-autogen-fails.exit +++ b/tests.build/build-system-autotools-fails-if-autogen-fails.exit diff --git a/tests/build-system-autotools-fails-if-autogen-fails.script b/tests.build/build-system-autotools-fails-if-autogen-fails.script index 46510516..ddd3e4cc 100755 --- a/tests/build-system-autotools-fails-if-autogen-fails.script +++ b/tests.build/build-system-autotools-fails-if-autogen-fails.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2012 Codethink Limited +# Copyright (C) 2012-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 diff --git a/tests/build-system-autotools.script b/tests.build/build-system-autotools.script index 6037d1b5..35fcd779 100755 --- a/tests/build-system-autotools.script +++ b/tests.build/build-system-autotools.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/build-system-autotools.stdout b/tests.build/build-system-autotools.stdout index 8077cac2..8077cac2 100644 --- a/tests/build-system-autotools.stdout +++ b/tests.build/build-system-autotools.stdout diff --git a/tests/build-system-cpan.script b/tests.build/build-system-cpan.script index 9217ab16..6e5a02e4 100755 --- a/tests/build-system-cpan.script +++ b/tests.build/build-system-cpan.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/build-system-cpan.stdout b/tests.build/build-system-cpan.stdout index 5cbe4c73..5cbe4c73 100644 --- a/tests/build-system-cpan.stdout +++ b/tests.build/build-system-cpan.stdout diff --git a/tests/build-system-python-distutils.script b/tests.build/build-system-python-distutils.script index 683599f2..2a1b5f70 100755 --- a/tests/build-system-python-distutils.script +++ b/tests.build/build-system-python-distutils.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/build-system-python-distutils.stdout b/tests.build/build-system-python-distutils.stdout index 4d4abdbb..4d4abdbb 100644 --- a/tests/build-system-python-distutils.stdout +++ b/tests.build/build-system-python-distutils.stdout diff --git a/tests/missing-ref.exit b/tests.build/missing-ref.exit index d00491fd..d00491fd 100644 --- a/tests/missing-ref.exit +++ b/tests.build/missing-ref.exit diff --git a/tests/missing-ref.script b/tests.build/missing-ref.script index 26183af3..db654e61 100755 --- a/tests/missing-ref.script +++ b/tests.build/missing-ref.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011,2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/missing-ref.stderr b/tests.build/missing-ref.stderr index d2b5d254..d2b5d254 100644 --- a/tests/missing-ref.stderr +++ b/tests.build/missing-ref.stderr diff --git a/tests/morphless-chunks.script b/tests.build/morphless-chunks.script index d7b068da..b5b8f37e 100755 --- a/tests/morphless-chunks.script +++ b/tests.build/morphless-chunks.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2012 Codethink Limited +# Copyright (C) 2012-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 diff --git a/tests/morphless-chunks.stdout b/tests.build/morphless-chunks.stdout index 8e17b29a..8e17b29a 100644 --- a/tests/morphless-chunks.stdout +++ b/tests.build/morphless-chunks.stdout diff --git a/tests/rebuild-cached-stratum.script b/tests.build/rebuild-cached-stratum.script index 70cc54cf..06003a26 100755 --- a/tests/rebuild-cached-stratum.script +++ b/tests.build/rebuild-cached-stratum.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/rebuild-cached-stratum.stdout b/tests.build/rebuild-cached-stratum.stdout index eee106f5..eee106f5 100644 --- a/tests/rebuild-cached-stratum.stdout +++ b/tests.build/rebuild-cached-stratum.stdout diff --git a/tests.build/setup b/tests.build/setup new file mode 100755 index 00000000..50fd5bd4 --- /dev/null +++ b/tests.build/setup @@ -0,0 +1,134 @@ +#!/bin/sh +# +# 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-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. + + +set -eu + +# The $DATADIR should be empty at the beginnig of each test. +find "$DATADIR" -mindepth 1 -delete + +# 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-repo" +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": [] + } + ] +} +EOF +git add hello-stratum.morph + +cat <<EOF > hello-system.morph +{ + "name": "hello-system", + "kind": "system", + "system-kind": "syslinux-disk", + "disk-size": "1G", + "strata": [ + { + "morph": "hello-stratum", + "repo": "test:morphs-repo", + "ref": "master" + } + ] +} +EOF +git add hello-system.morph + +git commit --quiet -m "add morphs" + + +# Create a morph configuration file. +cat <<EOF > "$DATADIR/morph.conf" +[config] +repo-alias = test=file://$DATADIR/%s#file://$DATADIR/%s +cachedir = $DATADIR/cache +log = $DATADIR/morph.log +no-distcc = true +quiet = true +EOF + diff --git a/tests/stratum-overlap-warns.script b/tests.build/stratum-overlap-warns.script index c9aeed72..86071954 100755 --- a/tests/stratum-overlap-warns.script +++ b/tests.build/stratum-overlap-warns.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/stratum-overlap-warns.setup b/tests.build/stratum-overlap-warns.setup index a699bf2d..ef771794 100755 --- a/tests/stratum-overlap-warns.setup +++ b/tests.build/stratum-overlap-warns.setup @@ -3,7 +3,7 @@ # If a stratum has multiple chunks that have the same files in them, # then this should be notified # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/stratum-overlap-writes-overlap.script b/tests.build/stratum-overlap-writes-overlap.script index a52d1ba7..90b65cb9 100755 --- a/tests/stratum-overlap-writes-overlap.script +++ b/tests.build/stratum-overlap-writes-overlap.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 diff --git a/tests/stratum-overlap-writes-overlap.setup b/tests.build/stratum-overlap-writes-overlap.setup index 255e9a74..255e9a74 120000 --- a/tests/stratum-overlap-writes-overlap.setup +++ b/tests.build/stratum-overlap-writes-overlap.setup diff --git a/tests/stratum-overlap-writes-overlap.stdout b/tests.build/stratum-overlap-writes-overlap.stdout index 40485659..40485659 100644 --- a/tests/stratum-overlap-writes-overlap.stdout +++ b/tests.build/stratum-overlap-writes-overlap.stdout diff --git a/tests/uses-tempdir.script b/tests.build/uses-tempdir.script index a4aac557..a9ac40dd 100755 --- a/tests/uses-tempdir.script +++ b/tests.build/uses-tempdir.script @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2011, 2012 Codethink Limited +# Copyright (C) 2011-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 |