Reviewing and writing comments in ./utl/ and adding more color to unit tests

This commit is contained in:
Leonardo committed 2020-03-20 16:51:23 -03:00
1 parent 701a24f47c
commit 1e861383e7
5 files changed
+45 -44

No files matched your search

+22 -22
View File
@@ -23,7 +23,7 @@
* - cmc_assert_in_range
* - cmc_assert_not_in_range
*
* Data types include:
* Data types (dtype) include:
* - int8_t
* - int16_t
* - int32_t
@@ -37,8 +37,8 @@
* - size_t
* - float
* - double
* - ptr
* - bool (only for equals and not_equals)
* - ptr (only equals and not_equals)
* - bool (only equals and not_equals)
*
* Specialized assertions that work with any data type:
*
@@ -53,7 +53,6 @@
#include <inttypes.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
@@ -105,25 +104,25 @@ static bool cmc_assert_state = true;
/**
* dtype : One of the data types listed at the beggining of this file
* (excluding ptr). boundary : Expected lowest possible value (excluded). actual
* : Actual value tested against the given boundary.
* boundary : Expected lowest possible value (excluded).
* actual : Actual value tested against the given boundary.
*/
#define cmc_assert_greater(dtype, boundary, actual) \
CMC_ASSERT_GLUE(dtype, greater) \
(boundary, actual)
/**
* dtype : One of the data types listed at the beggining of this file
* (excluding ptr). boundary : Expected lowest possible value (included). actual
* : Actual value tested against the given boundary.
* dtype : One of the data types listed at the beggining of this file.
* boundary : Expected lowest possible value (included).
* actual : Actual value tested against the given boundary.
*/
#define cmc_assert_greater_equals(dtype, boundary, actual) \
CMC_ASSERT_GLUE(dtype, greater_equals) \
(boundary, actual)
/**
* dtype : One of the data types listed at the beggining of this file
* (excluding ptr). boundary : Expected highest possible value (excluded).
* dtype : One of the data types listed at the beggining of this file.
* boundary : Expected highest possible value (excluded).
* actual : Actual value tested against the given boundary.
*/
#define cmc_assert_lesser(dtype, boundary, actual) \
@@ -131,8 +130,8 @@ static bool cmc_assert_state = true;
(boundary, actual)
/**
* dtype : One of the data types listed at the beggining of this file
* (excluding ptr). boundary : Expected highest possible value (included).
* dtype : One of the data types listed at the beggining of this file.
* boundary : Expected highest possible value (included).
* actual : Actual value tested against the given boundary.
*/
#define cmc_assert_lesser_equals(dtype, boundary, actual) \
@@ -140,8 +139,8 @@ static bool cmc_assert_state = true;
(boundary, actual)
/**
* dtype : One of the data types listed at the beggining of this file
* (excluding ptr). lower_bound : Smallest value of the expected range.
* dtype : One of the data types listed at the beggining of this file.
* lower_bound : Smallest value of the expected range.
* upper_bound : Highest value of the expected range.
* actual : Actual value tested against the given range.
*
@@ -152,8 +151,8 @@ static bool cmc_assert_state = true;
(lower_bound, upper_bound, actual)
/**
* dtype : One of the data types listed at the beggining of this file
* (excluding ptr). lower_bound : Smallest value of the not expected range.
* dtype : One of the data types listed at the beggining of this file.
* lower_bound : Smallest value of the not expected range.
* upper_bound : Highest value of the not expected range.
* actual : Actual value tested against the given range.
*
@@ -260,13 +259,14 @@ static bool cmc_assert_state = true;
} while (0)
/**
* Assert that each element in the array are within bounds.
* Assert that each element in the array are out of bounds.
*
* dtype : The type of the array.
* array : Array to be checked if its elements are outside of a given
* range comparator : A function that has two 'dtype' arguments and returns -1
* if the first is less then the second, 0 if both are equal or 1 if the first
* is greater then the second. lower_bound : Smallest value of the given range.
* array : Array to be checked if its elements are outside a given range.
* comparator : A function that has two 'dtype' arguments and returns -1 if the
* first is less then the second, 0 if both are equal or 1 if the
* first is greater then the second.
* lower_bound : Smallest value of the given range.
* upper_bound : Highest value of the given range.
* from_index : First index from the array to compare (inclusive).
* to_index : Last index from the array to compare (inclusive).
+9
View File
@@ -8,6 +8,15 @@
*
*/
/**
* For-Each macros that work with all Collections within the library.
*
* PFX - Functions prefix
* SNAME - Struct name
* ITERNAME - Iterator variable name
* TARGET - Target variable
*/
#ifndef CMC_FOR_EACH_H
#define CMC_FOR_EACH_H
+4 -4
View File
@@ -18,11 +18,11 @@
*/
/**
* What each error code means
* What each error code means inside the DEV Collections
*
* TRACE - Trace is used to describe the inner workings of the function or an
* algorithm. It can be useful when trying to find for an error in the
* algorithm or an untreated case.
* algorithm or corner cases.
* DEBUG - Mainly used for debugging, tracking certain variables or anything
* useful to help visualizing what your program is doing.
* INFO - Info can be used as a heads up. It is also used to track the main
@@ -31,7 +31,7 @@
* from and they are usually treated by it. In most cases the user can
* treat these warnings himself.
* ERROR - Something really bad happened. Your program will not crash yet but
* depending on what comes next, it might crash indeed.
* depending on what comes next, it will.
* FATAL - This will probably be the last logging message before your program
* crashes or goes into madness. Fatal errors are commonly attributed
* to dereferencing NULL pointers.
@@ -45,7 +45,7 @@
* ERROR - 5
* FATAL - 6
*
* How the Log Level is calculated
* How the Log Level is calculated for tlevel and flevel
*
* - If the log level is 0 all logs are enabled.
* - If the log level (X) is positive:
+6 -16
View File
@@ -27,17 +27,8 @@
* Parameters:
* - TNAME : Test name (const char *)
* - BODY : Block of code containing a specific test
* Inside the BODY use the following macros:
* - CMC_TEST_PASS
* Pass current test.
* - CMC_TEST_FAIL
* Fail current test.
* - CMC_TEST_PASS_ELSE_FAIL
* If given expression is true, pass current test, else fail.
* - CMC_TEST_ABORT
* Abort current unit test and displays error message. All tests
* after the abort won't be called.
* All of these macros can only be called once per test.
* Inside the BODY use the macros in ./utl/assert.h. The unit test will keep
* track of cmc_assert_state and automatically pass or fail tests.
*
* CMC_TEST_COLOR
* Define this macro to allow colored output.
@@ -46,14 +37,13 @@
#ifndef CMC_TEST_H
#define CMC_TEST_H
#include "assert.h"
#include "timer.h"
#include <inttypes.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "assert.h"
#include "timer.h"
#ifdef CMC_TEST_COLOR
static const char *cmc_test_color[] = { "\x1b[32m", "\x1b[31m", "\x1b[35m" };
@@ -84,7 +74,7 @@ static void cmc_test_log(const char *unit_name, const char *current_test,
else
{
#ifdef CMC_TEST_COLOR
printf("Test from %s %s%7s\x1b[0m %s\n", unit_name,
printf("Test from \x1b[33m%s\x1b[0m %s%7s\x1b[0m %s\n", unit_name,
passed ? cmc_test_color[0] : cmc_test_color[1],
passed ? "PASSED" : "FAILED", current_test);
#else
+4 -2
View File
@@ -8,7 +8,9 @@
*
*/
/* Simple timer macros utility */
/**
* Simple timer macros utility for timing code execution.
*/
#ifndef CMC_TIMER_H
#define CMC_TIMER_H
@@ -19,7 +21,7 @@ struct cmc_timer
{
clock_t start;
clock_t stop;
double result;
double result; /* The result is given in milliseconds */
};
#define cmc_timer_start(timer) \