Skip to content

Examples of build scripts and unit test frameworks for various languages, and how these can be used with the Jenkins continuous integration server. Contact: @mikej888

Notifications You must be signed in to change notification settings

softwaresaved/build_and_test_examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build and Test Examples

Introduction

This repository provides examples of a Fibonacci series function implemented in a range of languages. Build files for popular build tools for each language are also provided as are examples of unit tests written in popular unit test frameworks for each language. These examples are provided to help you get started with using automated build tools and unit test frameworks. They are also used to provide an introduction to the popular continuous integration servers, Jenkins and Travis CI.

Using this repository for teaching and learning

We are happy if course organisers and students wish to use this repository as a resource for their teaching and learning. However, we request that you do not to submit Pull Requests to this repository as when learning about Travis CI. If you wish to use it that way then please Fork the repository into your own GitHub project or account.

Languages, build tools and unit test frameworks

Examples using the following languages, build tools and unit test frameworks are provided. Click on README for information on how to build, run and test each example:

Language Build tool Unit test framework README
Bash Shell - - README
Python - pytest README
Java ANT JUnit README
C Make CUnit README
C++ Make CppUnit and googletest README
Fortran Make FRUIT README
PHP - PHPUnit README
R - testthat README

Continuous integration

Continuous integration can help you to build and test your software regularly. This, in turn, can help you to demonstrate that your software does what it claims to do, and that it does so correctly. It also helps you to rapidly release bug-fixes and up-to-date versions of your software. Continuous integration can also be used to automate experiments that are run using software. For an overview, see The Software Sustainability Institute's How continuous integration can help you regularly test and release your software.

Jenkins

Jenkins is a popular, open source continuous integration server, which you can deploy locally. For an introduction to Jenkins, using the Fibonacci series examples in a range of languages, see:

  • Getting started with Jenkins. The walkthrough assumes you have installed the software required to build and test the Fibonacci series examples (or, at least, that needed by the language you are interested in).

Travis CI

Travis CI is a hosted continuous integration server, which provides automated build and test services for projects hosted on GitHub. For an introduction to Travis CI, using the Fibonacci series examples, in a range of languages, see:

Warning: please be aware that Travis CI has a security issue with its Free Tier service. By design, “secret” data such as access credentials are exposed within historical clear-text logs which are accessible by anyone via the Travis CI API. Please see this article for more information.

For an overview of hosted continuous integration, see The Software Sustainability Institute's Hosted continuous integration.

How to contribute

If you have any comments, corrections or additions then please either raise an issue or submit a pull request.

Copyright and licence

Copyright (c) 2014-2018 The University of Edinburgh.

Code is licensed under the Apache 2.0 licence. The licence text is also in LICENSE-2.0.txt.

Documents are licensed under the Creative Commons Attribution-NonCommercial 2.5 UK: Scotland (CC BY-NC 2.5 SCOTLAND).

This directory includes third-party software. Please see the README.md files in sub-directories for more information.

About

Examples of build scripts and unit test frameworks for various languages, and how these can be used with the Jenkins continuous integration server. Contact: @mikej888

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •