OCaml Forge


From GSoCode 2011 coordination (deprecated) Wiki

Jump to: navigation, search

This is a draft proposal, if you want to apply remove this sentence and write your name in the field Student.'


  • Mentor: William Le Ferrand
  • Student: write your name here
  • Summary: Write an API to describe unit tests, integration tests and benchmarking tests
  • Required skills:
    • Ocsigen
    • unit tests
    • C,C++
    • Php and/or ruby would be a plus


Amanar is a continuous integration server written in OCaml. Installed as a post-commit hook, it performs tests and benchmarks on a repository and it pushes the changes on a (test or production) server. It only has support for OCaml/Ocsigen projects for the moment, but other stacks are in the roadmap.

There are several levels of tests : the minimal tests, for instance for a C++ program, just compile it, and more advanced tests, such as unit tests written by the developers. Another role of Amanar is to benchmark the application

The mission, should you decide to accept it, is :

  • to create, on Amanar, an API to interact with the tested software
  • to produces language-specific libraries for the developer to implement those tests in the software.

The results of the tests will be displayed to the users through a visualization website and they will be used by Amanar to take a decision about whether push the commit to a production server or not.


There are tons of resources about those kinds of tests and several existing libraries, such as OUnit for OCaml, Boost test for C++. A first requirement for this GSoC is probably to get the big picture about unit/integration tests.