Skip to content

Commit

Permalink
Merge pull request #165 from sergiusens/15-tests
Browse files Browse the repository at this point in the history
Enabling testing with new cli
  • Loading branch information
sergiusens committed Dec 15, 2015
2 parents af0f89a + 07e6dc3 commit fd52fd4
Show file tree
Hide file tree
Showing 10 changed files with 872 additions and 853 deletions.
9 changes: 3 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,14 @@ env:
- secure: JJEh1YfzNJGb1//ca447JtRunHmNXsVDGy5fS882/RQV3XtS9mCaSS+PZF4AbVABSiDw96mvwv05KmhdgV575y0NVHuRPd3rJBku9HOmhOKfCykn5tXgVJUEgeW5HIPusltRkXJUxnm48l+RfHHJU1h6iJnpGjvwxygeQljM4d22+G493ymvv4KZJSnbtuDbmhWvnZtdV2cCFeZ+EWqLgyWaFQmMgeMkYYcY3Cy19d++WquLs4woN9S9szrXJQlIv3xuZ8XNLbWmHoe6uD4y1Fn7YYfRgz861KqusxcGO9OyCh1S6uLgDuETS4Uw2zBg77vv59jSJieEfcY8jQtFE65axot/90jwhp5IV0tIpd9O/AMZXIGqKk44RU+Sj9gDbPbBIhj9dew3BTwSuOcNITSg1a4sOkxHGyIj2NozCkgFqPq0d4RM7xRrOYfnmjP1sJ+tEH4XMbs4gNZ/abccJXeUx6i5qWhDdnix132C62vvl+ItnsfMtkXQ34hluYxoab+rS0Zz3MM/ENqHySvU/R2n7+WTVXHyoK55HvExX7Y+McqPU2uVsHDabmDmQfcYom9nDY1OTBM3JbTOuqtIrzSIlFYdogyttXrTsmSue8TAoWWnHirKdkzeskIs5ZbI/pfGV3eRol+9Mn0MtmaoLp1VrAtSiZYwPRdcIGBDNMQ=
matrix:
- TEST_SUITE=unit
# - TEST_SUITE=plainbox
# Disabled until the transtition is complete.
# - TEST_SUITE="examples --skip-install"
- TEST_SUITE=plainbox
- TEST_SUITE="examples --skip-install"

install:
# PPA for plainbox.
- sudo apt-add-repository -y ppa:hardware-certification/public
# PPA for snappy.
- sudo apt-add-repository -y ppa:snappy-dev/tools-proposed
- sudo apt-get update -qq
- sudo apt-get install -qq build-essential dpkg-dev plainbox pyflakes python3-apt python3-docopt python3-coverage python3-fixtures python3-jsonschema python3-mccabe python3-pep8 python3-requests python3-testscenarios python3-testtools python3-yaml ubuntu-snappy-cli python3-lxml
- sudo apt-get install -qq build-essential squashfs-tools dpkg-dev plainbox pyflakes python3-apt python3-docopt python3-coverage python3-fixtures python3-jsonschema python3-mccabe python3-pep8 python3-requests python3-testscenarios python3-testtools python3-yaml python3-lxml
script:
- ./runtests.sh $TEST_SUITE
after_success:
Expand Down
2 changes: 1 addition & 1 deletion examples_tests/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ def build_snap(self, project_dir):
snapcraft_bin = os.getenv('SNAPCRAFT', 'snapcraft')
snapcraft = os.path.join(os.getcwd(), 'bin', snapcraft_bin)
subprocess.check_call([snapcraft, 'clean'], cwd=project_dir)
subprocess.check_call(snapcraft, cwd=project_dir)
subprocess.check_call([snapcraft, 'snap'], cwd=project_dir)

def copy_snap_to_testbed(self, snap_local_path):
_copy_file_through_ssh(
Expand Down
127 changes: 47 additions & 80 deletions integration-tests/units/jobs.pxu
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,11 @@ command:
echo $OUTPUT | grep "Could not find snapcraft\.yaml\."
flags: simple has-leftovers

id: snapcraft/normal/assemble-meta-externally
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/assemble .
# Test that as long as we have meta/ from *somewhere*, assemble doesn't
# care where (and you don't need snappy-metadata to find it)
touch copy-meta # instructs Makefile to copy snappy/ itself
${SNAPCRAFT} assemble
flags: simple has-leftovers

id: snapcraft/normal/assemble-meta
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/assemble .
${SNAPCRAFT} assemble
${SNAPCRAFT} snap
test -e "assemble_1.0_$(dpkg-architecture -qDEB_BUILD_ARCH).snap"
sed -i "s/@MULTIARCH@/$(dpkg-architecture -qDEB_BUILD_MULTIARCH)/g" binary1.after
diff -u binary1.after snap/binary1.wrapper
Expand All @@ -51,18 +41,11 @@ command:
fi
flags: simple has-leftovers

id: snapcraft/normal/complete-part-with-wiki
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/wiki .
${SNAPCRAFT} pull
flags: simple has-leftovers

id: snapcraft/normal/assemble-meta-with-policy
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/framework-policy .
${SNAPCRAFT} assemble
${SNAPCRAFT} snap
test -e ./snap/meta/framework-policy/a
test -e ./snap/meta/framework-policy/b
test -e ./snap/one
Expand All @@ -75,18 +58,8 @@ command:
cp -rT $PLAINBOX_PROVIDER_DATA/assemble .
echo "build-packages:" >> snapcraft.yaml
echo " - inexistent-package" >> snapcraft.yaml
OUTPUT=$(${SNAPCRAFT} assemble 2>&1)
echo $OUTPUT | grep "Could not find all the .*build-packages.* required in snapcraft\.yaml"
flags: simple has-leftovers

id: snapcraft/normal/assemble-no-plugin
command:
set -x
cp -rT $PLAINBOX_PROVIDER_DATA/assemble .
sed -e '/ *plugin: make$/d' -i snapcraft.yaml
OUTPUT=$(${SNAPCRAFT} assemble 2>&1)
test $? = 1 || exit 1
echo $OUTPUT | grep -q 'Issues while validating snapcraft.yaml: the "plugin" keyword is missing for the "make-project" part.'
OUTPUT=$(${SNAPCRAFT} snap 2>&1)
echo "$OUTPUT" | grep 'Could not find all the "build-packages" required in snapcraft.yaml'
flags: simple has-leftovers

id: snapcraft/normal/local-source
Expand Down Expand Up @@ -116,17 +89,6 @@ command:
test "$(ls -A snap)" == "meta"
flags: simple has-leftovers

id: snapcraft/normal/nil-plugin-pkgfilter
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/nil-plugin-pkgfilter .
${SNAPCRAFT} stage
test -e stage/usr/bin/nmcli
${SNAPCRAFT} snap
test -e snap/usr/bin/nmcli
test ! -e snap/usr/bin/nmtui
flags: simple has-leftovers

id: snapcraft/normal/simple-tar
command:
set -ex
Expand All @@ -146,20 +108,7 @@ command:
test -e stage/readonly_file
test "$(./stage/bin/test)" = "tarproject"
# Regression test for https://bugs.launchpad.net/snapcraft/+bug/1500728
${SNAPCRAFT} pull --force
flags: simple has-leftovers

id: snapcraft/normal/pypi-config
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/pypi-config .
${SNAPCRAFT} snap
test -f ./stage/usr/bin/config.py
test -f ./stage/usr/bin/python3
test -f ./snap/usr/bin/config.py
test -f ./snap/usr/bin/python3
test -f ./snap/meta/hooks/config
grep -q 'exec "$SNAP_APP_PATH/usr/bin/python3" "$SNAP_APP_PATH/usr/bin/config.py" $*' ./snap/meta/hooks/config
${SNAPCRAFT} pull
flags: simple has-leftovers

id: snapcraft/normal/simple-make
Expand Down Expand Up @@ -251,7 +200,7 @@ command:
cp -rT $PLAINBOX_PROVIDER_DATA/conflicts .
OUTPUT=$(${SNAPCRAFT} stage 2>&1)
test $? = 1 || exit 1
echo $OUTPUT | grep "Error: parts p1 and p2 have the following file paths in common which have different contents: bin/test" # squished output by bash
echo $OUTPUT | grep "Parts 'p1' and 'p2' have the following file paths in common which have different contents: bin/test"
flags: simple has-leftovers

id: snapcraft/normal/dependencies
Expand All @@ -260,9 +209,6 @@ command:
cp -rT $PLAINBOX_PROVIDER_DATA/dependencies .
${SNAPCRAFT} stage
test -x stage/bin/p3
test "$(${SNAPCRAFT} shell p3)" = 'p1
p1
p2'
flags: simple has-leftovers

id: snapcraft/normal/dependencies-circular
Expand Down Expand Up @@ -411,46 +357,67 @@ command:
test -e parts/mercurial/src/second
flags: simple has-leftovers

id: snapcraft/normal/pip-requirements-file
id: snapcraft/normal/circle-tree
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/pip-requirements-file .
cp -rTL $PLAINBOX_PROVIDER_DATA/simple-circle/tree .
${SNAPCRAFT} pull
test -f parts/python2/install/usr/lib/python2.7/argparse.py
test -f parts/python3/install/usr/lib/python3*/argparse.py
flags: simple has-leftovers

id: snapcraft/normal/pip-requirements-list
id: snapcraft/normal/circle-dependencies
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/pip-requirements-list .
cp -rTL $PLAINBOX_PROVIDER_DATA/simple-circle/circle .
! ${SNAPCRAFT} pull
flags: simple has-leftovers

id: snapcraft/normal/complete-part-with-wiki
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/wiki .
${SNAPCRAFT} pull
test -f parts/python2/install/usr/lib/python2.7/argparse.py
test -d parts/python2/install/usr/lib/python2.7/dist-packages/jsonschema
test -f parts/python3/install/usr/lib/python3*/argparse.py
test -d parts/python3/install/usr/lib/python3/dist-packages/jsonschema
flags: simple has-leftovers

id: snapcraft/normal/build-tool-paths
id: snapcraft/normal/nil-plugin-pkgfilter
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/build-tools .
cp -rT $PLAINBOX_PROVIDER_DATA/nil-plugin-pkgfilter .
${SNAPCRAFT} stage
${SNAPCRAFT} shell pkg-config --cflags glib-2.0 | grep -q `pwd`
${SNAPCRAFT} shell xml2-config --cflags | grep -q `pwd`
${SNAPCRAFT} shell xslt-config --cflags | grep -q `pwd`
test -e stage/usr/bin/nmcli
${SNAPCRAFT} snap
test -e snap/usr/bin/nmcli
test ! -e snap/usr/bin/nmtui
flags: simple has-leftovers

id: snapcraft/normal/circle-tree
id: snapcraft/normal/pypi-config
command:
set -ex
cp -rTL $PLAINBOX_PROVIDER_DATA/simple-circle/tree .
cp -rT $PLAINBOX_PROVIDER_DATA/pypi-config .
${SNAPCRAFT} snap
test -f ./stage/usr/bin/config.py
test -f ./stage/usr/bin/python3
test -f ./snap/usr/bin/config.py
test -f ./snap/usr/bin/python3
test -f ./snap/meta/hooks/config
grep -q 'exec "$SNAP_APP_PATH/usr/bin/python3" "$SNAP_APP_PATH/usr/bin/config.py" $*' ./snap/meta/hooks/config
flags: simple has-leftovers

id: snapcraft/normal/pip-requirements-file
command:
set -ex
cp -rT $PLAINBOX_PROVIDER_DATA/pip-requirements-file .
${SNAPCRAFT} pull
test -f parts/python2/install/usr/lib/python2.7/argparse.py
test -f parts/python3/install/usr/lib/python3*/argparse.py
flags: simple has-leftovers

id: snapcraft/normal/circle-dependencies
id: snapcraft/normal/pip-requirements-list
command:
set -ex
cp -rTL $PLAINBOX_PROVIDER_DATA/simple-circle/circle .
! ${SNAPCRAFT} pull
cp -rT $PLAINBOX_PROVIDER_DATA/pip-requirements-list .
${SNAPCRAFT} pull
test -f parts/python2/install/usr/lib/python2.7/argparse.py
test -d parts/python2/install/usr/lib/python2.7/dist-packages/jsonschema
test -f parts/python3/install/usr/lib/python3*/argparse.py
test -d parts/python3/install/usr/lib/python3/dist-packages/jsonschema
flags: simple has-leftovers
5 changes: 3 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,12 @@

setup(
name='snapcraft',
version='0.5',
version='2.0',
description='Easily craft snaps from multiple sources',
author_email='snappy-devel@lists.ubuntu.com',
url='https://github.com/ubuntu-core/snapcraft',
packages=['snapcraft',
'snapcraft.commands',
'snapcraft.plugins'],
package_data={'snapcraft': ['manifest.txt']},
scripts=['bin/snapcraft'],
Expand All @@ -45,7 +46,7 @@
'Natural Language :: English',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Topic :: Software Development :: Build Tools',
'Topic :: System :: Software Distribution',
),
Expand Down

0 comments on commit fd52fd4

Please sign in to comment.