summaryrefslogtreecommitdiff
path: root/tests.build/build-system-python-distutils.script
diff options
context:
space:
mode:
Diffstat (limited to 'tests.build/build-system-python-distutils.script')
-rwxr-xr-xtests.build/build-system-python-distutils.script81
1 files changed, 81 insertions, 0 deletions
diff --git a/tests.build/build-system-python-distutils.script b/tests.build/build-system-python-distutils.script
new file mode 100755
index 00000000..9a751491
--- /dev/null
+++ b/tests.build/build-system-python-distutils.script
@@ -0,0 +1,81 @@
+#!/bin/sh
+#
+# Copyright (C) 2011-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.
+
+
+## Convert the hello-chunk project to python with distutils and build.
+
+set -eu
+
+chunkrepo="$DATADIR/chunk-repo"
+cd "$chunkrepo"
+
+git checkout --quiet farrokh
+
+git rm --quiet hello.c
+cat <<EOF >hello
+#!/usr/bin/python
+print "hello, world"
+EOF
+git add hello
+
+cat <<EOF >setup.py
+#!/usr/bin/python
+from distutils.core import setup
+setup(name='hello',
+ scripts=['hello'])
+EOF
+git add setup.py
+
+cat <<EOF >hello.morph
+name: hello
+kind: chunk
+build-system: python-distutils
+EOF
+git add hello.morph
+
+git commit --quiet -m 'convert hello into a python project'
+
+
+# Set 'prefix' of hello to something custom
+cd "$DATADIR/morphs-repo"
+cat <<EOF > hello-stratum.morph
+name: hello-stratum
+kind: stratum
+chunks:
+ - name: hello
+ repo: test:chunk-repo
+ ref: farrokh
+ build-depends: []
+ build-mode: test
+ prefix: ""
+EOF
+git add hello-stratum.morph
+git commit -q -m "Set custom install prefix for hello"
+
+
+"$SRCDIR/scripts/test-morph" build-morphology \
+ test:morphs-repo master hello-system
+
+for chunk in "$DATADIR/cache/artifacts/"*.chunk.*
+do
+ tar -tf "$chunk"
+done | LC_ALL=C sort -u | sed '/^\.\/./s:^\./::' | grep -Ee '^(bin|lib)' |
+sed -e 's:^local/::' \
+ -e 's:lib/python2.[6-9]/:lib/python2.x/:' \
+ -e 's:/hello-0\.0\.0[^/]*\.egg-info$:/hello.egg-info/:' \
+ -e 's:[^/]*-packages:packages:' \
+ -e '/^$/d'