Code Monkey home page Code Monkey logo

build_and_test_examples's Introduction

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.

build_and_test_examples's People

Contributors

jacalynlaird avatar mikej888 avatar umeditor avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.