Skip to content

Create testing interface #4

@achakravarti

Description

@achakravarti

Details output to file, summary and failed tests also shown in command line.
Test log aligned output.
Timing/memory usage to be shown later.
Run in separate thread.
Catch signals.
Skip debug tests.

Test suite: lsr_mblock_t
==================
1. [SKIP] lsr_mblock_spawn(): @sz 0 => assertion failure
2. [OK]   lsr_mblock_spawn(): @sz ~0 => ~null
3. [OK]   lsr_mblock_release(): @self ~null -> :refc--
----------------------------------
2 tests, 2 passed, 0 failed, 1 skipped.

Test suite: lsr_string_t
=================
1. [FAIL] lsr_string_copy(): @self null => assertion failure [SIGSEGV]
2. [OK]   lsr_string_copy(): @self ~null => @self
--------------------------
2 tests, 1 passed, 1 failed, 0 skipped.

Summary: 2 suites, 5 tests, 3 passed, 1 failed, 1 skipped.
See bld/test.log for details.
lsr_test_t;
lsr_test_case_t;
lsr_test_suite_t;
lsr_test_harness_t;

lsr_test_suite_t *suite = lsr_test_suite_new("suite");
lsr_test_case_t *case = lsr_test_case_new("context", "input", "output", &test);
lsr_test_suite_register(suite, case);

lsr_test_harness_t *harness = lsr_test_harness_new(file_path);
lsr_test_harness_register(harness, suite);
lsr_test_harness_run();
lsr_test_assert();
lsr_test_assert_signal();

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions