xaizek / stic (License: MIT) (since 2018-12-07)
Simple Tests In C with optional automatic test registration in C.
<root> / tests / stic_tests.c (e13087fc46645c0980805ff88a24d68e14286077) (2,085B) (mode 100644) [raw]
#include "stic_tests.h"

void test_assert_n_array_equal()
{
  int array_1[4] = { 0, 1, 2, 3 };
  int array_2[4] = { 0, 1, 2, 4 };
  int array_3[4] = { 0, 1, 2, 3 };

  assert_test_passes(assert_n_array_equal(array_1, array_1, 4));
  assert_test_passes(assert_n_array_equal(array_1, array_3, 4));
  assert_test_passes(assert_n_array_equal(array_1, array_2, 3));
  assert_test_fails(assert_n_array_equal(array_1, array_2, 4));
  assert_test_fails(assert_n_array_equal(array_1, array_2, 0));
}

void test_assert_string_equal()
{
  assert_test_passes(assert_string_equal((char *)0, (char *)0));
  assert_test_passes(assert_string_equal("", ""));
  assert_test_passes(assert_string_equal("foo", "foo"));
  assert_test_fails(assert_string_equal((char *)0, "bar"));
  assert_test_fails(assert_string_equal("foo", (char *)0));
  assert_test_fails(assert_string_equal("foo", "bar"));
  assert_test_fails(assert_string_equal("foo", "Foo"));
  assert_test_fails(assert_string_equal("foo", "foo\n"));
}

void test_assert_ulong_equal()
{
  assert_test_passes(assert_ulong_equal(1, 1));
  assert_test_passes(assert_ulong_equal(-2, -2));
  assert_test_fails(assert_ulong_equal(1, 0));
  assert_test_fails(assert_ulong_equal(-2, 2));
}

void test_assert_int_equal()
{
  assert_test_passes(assert_int_equal(1, 1));
  assert_test_passes(assert_int_equal(-2, -2));
  assert_test_fails(assert_int_equal(1, 0));
  assert_test_fails(assert_int_equal(-2, 2));
}

void test_assert_true()
{
  assert_test_passes(assert_true(1)); 
  assert_test_fails(assert_true(0));
}

void test_assert_false()
{
  assert_test_passes(assert_false(0));
  assert_test_fails(assert_false(1));
}

void test_fixture_stic(void)
{
  test_fixture_start();      
  run_test(test_assert_true);   
  run_test(test_assert_false);
  run_test(test_assert_int_equal);
  run_test(test_assert_ulong_equal);
  run_test(test_assert_string_equal);
  run_test(test_assert_n_array_equal);
  test_fixture_end();       
}

void all_tests(void)
{
  test_fixture_stic();   
}

int main(int argc, char** argv)
{
  return run_tests(all_tests) ? 0 : 1;
}
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/stic

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/stic

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master