Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/b-jure/stest
s(imple)test C library for easy unit testing.
https://github.com/b-jure/stest
c c-testing library unit-testing
Last synced: about 2 months ago
JSON representation
s(imple)test C library for easy unit testing.
- Host: GitHub
- URL: https://github.com/b-jure/stest
- Owner: b-jure
- Created: 2023-05-30T18:28:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-06-14T11:49:18.000Z (over 1 year ago)
- Last Synced: 2023-09-19T20:56:37.682Z (over 1 year ago)
- Topics: c, c-testing, library, unit-testing
- Language: C
- Homepage:
- Size: 161 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# stest
`stest` is small compact simple to understand and navigate
C library for running unit tests.
Library is C99 standard compliant and requires no dependencies.## Getting started
Clone the repository, and run `make` to build from source.
If you want to install the lib, use `make install`.
Default installation path:
- `.so -> /usr/local/lib`
- `.h -> /usr/local/include`If you wish to change directory for header file and/or .so,
then modify the `LIB_DIR_INSTALL` and `HEADER_DIR_INSTALL`
directories in Makefile.Make sure the instalation path for the shared library (.so) is
in the linker runtime path.
Now for good measure do: `sudo ldconfig`## Example
```c
#include
#include// expands to 'void int_test(void);'
TEST(int_test);
TEST(int_test_2);
TEST(string_test);
TEST(string_test_2);
TEST(string_test_3);int
main(void)
{
ssuite* suite_str = ssuite_new("string_tests");
ssuite* suite_int = ssuite_new("int_tests");ssuite_add_test(suite_str, string_test);
ssuite_add_test(suite_str, string_test_2);
ssuite_add_test(suite_str, string_test_3);ssuite_add_test(suite_int, int_test);
ssuite_add_test(suite_int, int_test_2);srunner* runner = srunner_new();
srunner_add_suite(runner, suite_str);
srunner_add_suite(runner, suite_int);srunner_run(runner);
srunner_free(runner);
}TEST(int_test)
{
int x = 5;
int y = 6;ASSERT_EQ(sizeof(x), sizeof(y));
ASSERT(x == y);
}TEST(int_test_2)
{
int x = 5;
int y = 6;ASSERT_NEQ(x, y);
ASSERT(6 == y);
}TEST(string_test)
{
const char* first = "We are equal";
const char* second = "We are equal";ASSERT_STR_EQ(first, second);
}TEST(string_test_2)
{
const char* first = "We are equal";
const char* second = "We are notequal";ASSERT_STR_NEQ(first, second);
ASSERT_STR_EQ(first, "We are equal");
}TEST(string_test_3)
{
const char* first = "We are equal";
const char* second = "We are notequal";ASSERT_STR_EQ(first, second);
}
```