An open API service indexing awesome lists of open source software.

https://github.com/exercism/crystal-analyzer


https://github.com/exercism/crystal-analyzer

exercism exercism-analyzer exercism-tooling

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# Exercism Crystal analyzer

The Docker image to automatically run tests on Crystal solutions submitted to [Exercism].

## Run the analyzer

To analyze an arbitrary exercise, do the following:

1. Open a terminal in the project's root
2. Run `./bin/run.sh `

Once the analyzer has finished, its results will be written to `/analysis.json`.

## Run the analyzer on an exercise using Docker

_This script is provided for testing purposes, as it mimics how analyzers run in Exercism's production environment._

To analyze an arbitrary exercise using the Docker image, do the following:

1. Open a terminal in the project's root
2. Run `./bin/run-in-docker.sh `

Once the analyzer has finished, its results will be written to `/analysis.json`.

## Run the tests

To run the tests to verify the behavior of the analyzer, do the following:

1. Open a terminal in the project's root
2. Run `./bin/run-tests.sh`

These are [golden tests][golden] that compare the `analysis.json` generated by running the current state of the code against the "known good" `tests//analysis.json`. All files created during the test run itself are discarded.

When you've made modifications to the code that will result in a new "golden" state, you'll need to generate and commit a new `tests//analysis.json` file.

## Run the tests using Docker

_This script is provided for testing purposes, as it mimics how analyzers run in Exercism's production environment._

To run the tests to verify the behavior of the analyzer using the Docker image, do the following:

1. Open a terminal in the project's root
2. Run `./bin/run-tests-in-docker.sh`

These are [golden tests][golden] that compare the `analysis.json` generated by running the current state of the code against the "known good" `tests//analysis.json`. All files created during the test run itself are discarded.

When you've made modifications to the code that will result in a new "golden" state, you'll need to generate and commit a new `tests//analysis.json` file.

[analyzers]: https://github.com/exercism/docs/tree/main/building/tooling/analyzers
[golden]: https://ro-che.info/articles/2017-12-04-golden-tests
[exercism]: https://exercism.io