Sha256: 0e13a2250a2362c4164ecdf51ec31d5430ca45f2173d53165a53a71cbb42e8fc

Contents?: true

Size: 1.54 KB

Versions: 200

Compression:

Stored size: 1.54 KB

Contents

## What does it do

The test generator takes canonical-data.json files from the x-common folder, and
uses them to create Ocaml tests.

For each exercise, it requires a template file under the tools/test-generator/templates folder.
The template format is rather ad-hoc, but works for most of the exercises that have
canonical data.

## Building

In the folder tools/test-generator, type ```Make```
This will build and run the unit tests

## Running

The test generator should be run whenever test canonical data is updated.

You will need the latest version of x-common checked out locally, at the same level as your
ocaml repo. 

Please note: running will overwrite tests in the ocaml/exercises folders (this is the default, there
is a command line option to write the tests to a different folder - run test_gen.native --help).

To run, type test_gen.native at the command line.

If you type git status, you will see test files that have been updated.

Some files can be generated but will look better after hand-editing. An example is the minesweeper exercise,
where a list that is part of the input is better presented in a 2D vertically aligned format. To handle this,
the test generator saves it's files in a folder in your home (~/.xocaml-generated - this can be overridden as 
a command line option). If after generation, the file is unchanged from the saved copy, then the test generator
will not overwrite the test in the repo - so git status will be clean.

## Extending

If you find an exercise that the generator cannot handle, pull requests to extend it are welcome.


Version data entries

200 entries across 200 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.179 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.178 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.177 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.176 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.175 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.174 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.173 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.172 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.171 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.170 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.169 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.167 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.166 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.165 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.164 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.163 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.162 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.161 tracks/ocaml/tools/test-generator/README.md
trackler-2.2.1.160 tracks/ocaml/tools/test-generator/README.md