This repository has been archived by the owner. It is now read-only.

Add continious integration testing with travis-CI #36

Open
wants to merge 15 commits into
base: master
from

Conversation

Projects
None yet
2 participants
@olebole
Contributor

olebole commented May 5, 2017

Since you (@iraf) want to have checks that a pull request does not break anything: here is the setup for testing with Travis CI.

To enable this, you need to login to travis-ci, enable this repository and then merge the pull request. After that, any new PR is automatically tested, which may in future help you checking whether a PR is OK.

The tests are currently executed for Linux (64 bit, Ubuntu 14.04) and OS X (64 bit, 10.11.6).
They obviously fail in the moment since the IRAF build is buggy -- see the various bugs and pull requests. Having this in the master tree however enables yourself to see what the next problem is. As an example, here is the run on Linux, and here the one on OS X. BTW, currently it fails because of #7, which is fixed in #22. If you first merge the current PR and then #22, you will see the progress :-)

Once we can build IRAF from source, this gives a powerful instrument to monitor the changes. We can then also add other systems (Ubuntu 12.04, other OS X versions). 32-bit systems are not that simple since the default environment is always 64 bit; however once everything compiles, we can try to find a solution there as well.

This fixes #13.

@RobSteele49

This comment has been minimized.

Show comment
Hide comment
@RobSteele49

RobSteele49 May 8, 2017

I'm current running Ubuntu 16.04. Would there be any good reason for me to move to Ubuntu 14.04?

RobSteele49 commented May 8, 2017

I'm current running Ubuntu 16.04. Would there be any good reason for me to move to Ubuntu 14.04?

@olebole

This comment has been minimized.

Show comment
Hide comment
@olebole

olebole May 8, 2017

Contributor

No, why? Travis just has Ubuntu 12.04 as default and 14.04 as option, and I choose the more modern one -- they don't offer 16.04 yet.
My own target platform is Debian Buster (the one that comes after the now-being-released Stretch). So, no need to downgrade. If you find other testing platforms with Fedora or so, please add them as well.

Contributor

olebole commented May 8, 2017

No, why? Travis just has Ubuntu 12.04 as default and 14.04 as option, and I choose the more modern one -- they don't offer 16.04 yet.
My own target platform is Debian Buster (the one that comes after the now-being-released Stretch). So, no need to downgrade. If you find other testing platforms with Fedora or so, please add them as well.

@olebole

This comment has been minimized.

Show comment
Hide comment
@olebole

olebole May 19, 2017

Contributor

I added now a few more things here: first, the build is done on six different platforms:

  • Ubuntu 14.04, 64 bit
  • Ubuntu 14.04, 32 bit
  • Ubuntu 12.04, 64 bit (this is probably closes to what @iraf has)
  • Ubuntu 12.04, 32 bit
  • MacOS X, 64 bit
  • MacOS X, 32 bit

Except for Ubuntu 14.04 64 bit, all compilations fail; mainly to to #72 for the 32-bit versions, and #52 for MacOSX 64 bit.

The other update is a first version of a test suite, compiled from the Beginners Guide and the Preliminary Test Procedures. The test suite uses an MarkDown text file as input so that it can be nicely displayed to discuss it. Please do so that we get a comprehensive test suite.

Contributor

olebole commented May 19, 2017

I added now a few more things here: first, the build is done on six different platforms:

  • Ubuntu 14.04, 64 bit
  • Ubuntu 14.04, 32 bit
  • Ubuntu 12.04, 64 bit (this is probably closes to what @iraf has)
  • Ubuntu 12.04, 32 bit
  • MacOS X, 64 bit
  • MacOS X, 32 bit

Except for Ubuntu 14.04 64 bit, all compilations fail; mainly to to #72 for the 32-bit versions, and #52 for MacOSX 64 bit.

The other update is a first version of a test suite, compiled from the Beginners Guide and the Preliminary Test Procedures. The test suite uses an MarkDown text file as input so that it can be nicely displayed to discuss it. Please do so that we get a comprehensive test suite.

@olebole

This comment has been minimized.

Show comment
Hide comment
@olebole

olebole Sep 29, 2017

Contributor

Latest update for the platforms that are automatically tested on travis-ci:

  • Ubuntu 14.04, 64 bit (gcc 4.8.4)
  • Ubuntu 12.04, 64 bit (gcc 4.6.3)
  • Ubuntu 14.04, 32 bit (gcc 4.8.4)
  • Ubuntu 12.04, 32 bit (gcc 4.6.3)
  • macOS 10.12, 64 bit (Xcode 9.1; clang 9.0.0)
  • OS X 10.10, 64 bit (Xcode 6.4; clang 6.1.0)
  • macOS 10.12, 32 bit (Xcode 9.1; clang 9.0.0)
  • OS X 10.11, 32 bit (Xcode 7.3; clang 7.3.0)

As written already many times, the tests are also run occasionally on other platforms by hand:

  • Debian 5 (both 32 and 64 bit; gcc 4.3.2),
  • Debian 6 (both 32 and 64 bit; gcc 4.4.5),
  • Debian 7 (both 32 and 64 bit; gcc 4.7.2),
  • Debian 8 (both 32 and 64 bit; gcc 4.9.2),
  • Debian 9 (both 32 and 64 bit; gcc 6.3.0),
  • Debian 10 testing (both 32 and 64 bit; gcc 7.2.0),
  • Scientific Linux 6 (64 bit; gcc 4.4.7)
Contributor

olebole commented Sep 29, 2017

Latest update for the platforms that are automatically tested on travis-ci:

  • Ubuntu 14.04, 64 bit (gcc 4.8.4)
  • Ubuntu 12.04, 64 bit (gcc 4.6.3)
  • Ubuntu 14.04, 32 bit (gcc 4.8.4)
  • Ubuntu 12.04, 32 bit (gcc 4.6.3)
  • macOS 10.12, 64 bit (Xcode 9.1; clang 9.0.0)
  • OS X 10.10, 64 bit (Xcode 6.4; clang 6.1.0)
  • macOS 10.12, 32 bit (Xcode 9.1; clang 9.0.0)
  • OS X 10.11, 32 bit (Xcode 7.3; clang 7.3.0)

As written already many times, the tests are also run occasionally on other platforms by hand:

  • Debian 5 (both 32 and 64 bit; gcc 4.3.2),
  • Debian 6 (both 32 and 64 bit; gcc 4.4.5),
  • Debian 7 (both 32 and 64 bit; gcc 4.7.2),
  • Debian 8 (both 32 and 64 bit; gcc 4.9.2),
  • Debian 9 (both 32 and 64 bit; gcc 6.3.0),
  • Debian 10 testing (both 32 and 64 bit; gcc 7.2.0),
  • Scientific Linux 6 (64 bit; gcc 4.4.7)
@olebole

This comment has been minimized.

Show comment
Hide comment
@olebole

olebole Feb 4, 2018

Contributor

BTW, the CI code is also always tested against the original 2.16.1 binaries, using the branch ci/test-2.16-binary (iraf-community#29). The known failures (which are fixed by the various pull requests here) are marked not to fail, however.

Contributor

olebole commented Feb 4, 2018

BTW, the CI code is also always tested against the original 2.16.1 binaries, using the branch ci/test-2.16-binary (iraf-community#29). The known failures (which are fixed by the various pull requests here) are marked not to fail, however.

olebole added some commits May 5, 2017

Add initial Travis CI configuration
This is very basic; especially there are no real tests at the end: we
just check if there are the most common binaries available. However,
since the compilation doesn't work yet, that is a minor problem that
will be adjusted after we get it compiling.
Add first tests.
The tests are taken from the file
http://iraf.noao.edu/iraf/ftp/iraf/docs/testproc.ps.Z
which is converted to MarkDown text.

They are cross-checked with the binary distribution of v216.1
Be less verbose in xc/f2c progress output
Travis displays the first 10.000 output lines nicely, but after that
only the raw output is shown, making it difficult to search for
problems.

This patch removes the "file:" and "    procedure:" progress outputs from xc
and f2c. Warnings and error messages are still displayed.
Add test for D1MACH and R1MACH
Both functions return machine dependent constants. This is a simple
check that they are positive numbers.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.