Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test the LDC snap package before release #29

Open
WebDrake opened this issue Jul 8, 2017 · 0 comments
Open

Test the LDC snap package before release #29

WebDrake opened this issue Jul 8, 2017 · 0 comments

Comments

@WebDrake
Copy link
Contributor

WebDrake commented Jul 8, 2017

The LDC snap package is currently without any automated testing beyond the fact that the package itself builds. It would be nice to improve on this to ensure that regressions do not sneak into updated package releases.

Broadly speaking, there are 2 things that we could consider doing:

  • tests during the build process itself (e.g. running any test suite available in the regular build scripts): this validates LDC itself on the target architecture, but doesn't really add much to the existing validation of LDC done during its own release process

  • automated tests once an updated package is released into the edge channel. Some ideas on how to do this are discussed in this snapcraft forum thread: https://forum.snapcraft.io/t/automated-testing-of-newly-built-snaps/881

WebDrake added a commit to WebDrake/ldc2.snap that referenced this issue Jul 25, 2017
This patch adds a new `ctest-setup` part to install all dependencies for
the `ctest` collection of tests defined for LDC.  The somewhat misnamed
`install:` scriptlet (which actually runs post-install) is then used in
the `ldc` part to invoke `ctest` itself, in verbose mode so that all the
tests will be clearly described in the build log.

This should ensure that the packaged compiler is guaranteed to have at
least passed the standard battery of tests on the build platform.

Addresses part of ldc-developers#29.
WebDrake added a commit to WebDrake/ldc2.snap that referenced this issue Jul 27, 2017
This patch updates to installing python3 packages (since python3 is the
version used in the core snap) and ensures `setuptools` is available to
packages installed using `pip`.

This should fix current Launchpad build failures for the snap package.

Part of ldc-developers#29.
WebDrake added a commit to WebDrake/ldc2.snap that referenced this issue Jul 27, 2017
This corrects an oversight in 5d7074e:
the `python3-pip` package installs `pip3`, not `pip`.

Part of ldc-developers#29.
WebDrake added a commit to WebDrake/ldc2.snap that referenced this issue Jul 27, 2017
Since the `ctest` invocation of `lit` expects python 2 and not python3,
the changes introduced in 5d7074e are
unworkable in practice.  This patch therefore ensures that `python-pip`
and `python-setuptools` are used.  Let this be a lesson on the value of
separation of concerns in patches, since if the previous one had merely
added `python-setuptools` as a build dependency, it would probably have
worked just fine ... ;-)

Part of ldc-developers#29.
WebDrake added a commit to WebDrake/ldc2.snap that referenced this issue Aug 24, 2017
The `std.net.curl` unittests hang indefinitely when run by Launchpad's
build daemon, which probably blocks opening the local port used by the
tests.  Excluding this one set of unittests should probably prevent the
test suite from hanging.

Part of ldc-developers#29.
WebDrake added a commit to WebDrake/ldc2.snap that referenced this issue Sep 11, 2017
This patch extends the `install:` scriptlet with a slightly brutal short
term workaround: simply deleting the problem tests!  This should enable
the rest of the test suite to be run without problem.

Part of ldc-developers#29.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant