Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/azure/ctest

A simple portable C test runner
https://github.com/azure/ctest

c test-runner testing testing-tools tests

Last synced: 3 days ago
JSON representation

A simple portable C test runner

Awesome Lists containing this project

README

        

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.

# ctest

ctest is a simple portable C test runner.

## Setup

1. Clone **ctest** by:

```
git clone https://github.com/Azure/ctest
```

2. Create a folder called *cmake* (or any name of your choice).

3. Switch to the *cmake* folder and run
```
cmake ..
```

### Build

Switch to the *cmake* folder and run:

```
cmake --build .
```

### Installation and Use
Optionally, you may choose to install ctest on your machine:

1. Switch to the *cmake* folder and run
```
cmake --build . --target install
```
or

Linux:
```
sudo make install
```

Windows:
```
msbuild /m INSTALL.vcxproj
```

2. Use it in your project (if installed)
```
find_package(ctest REQUIRED CONFIG)
target_link_library(yourlib ctest)
```

### Building the tests

In order to build the tests use the *run_unittests* cmake option:

```
cmake .. -Drun_unittests:bool=ON
```

## Example

```c
#include "ctest.h"
#include "SomeUnitUnderTest.h"

CTEST_BEGIN_TEST_SUITE(SimpleTestSuiteOneTest)

CTEST_FUNCTION(Test1)
{
// arrange

// act
int x = SomeFunction();

// assert
CTEST_ASSERT_ARE_EQUAL(int, 42, x);
}

CTEST_END_TEST_SUITE(SimpleTestSuiteOneTest)
```