Index

lognestmonster / 08742cb

A general-purpose single-header C logging library and parser for event-based logs. (Incomplete)

Latest Commit

{#}TimeHashSubjectAuthor#(+)(-)GPG?
18101 Feb 2020 21:57b7d72feCreate bin/ directory for tests if not already createdJosh Stockin110G

Blob @ lognestmonster / test

text/x-shellscript1319 bytesdownload raw
1#!/usr/bin/env bash
2
3success() {
4 echo -e "\033[92m\033[1m\033[7m${@}\033[0m"
5}
6
7success_lite() {
8 echo -e "\033[92m${@}\033[0m"
9}
10
11error() {
12 echo -e "\033[91m\033[7m\033[1m${@}\033[0m"
13}
14
15warn() {
16 echo -e "\033[93m\033[1m\033[7m${@}\033[0m"
17}
18
19warn_lite() {
20 echo -e "\033[93m${@}\033[0m"
21}
22
23handle() {
24 echo $1
25 $1
26 if [ $? -ne 0 ]
27 then
28 error "Error in test. Exiting..."
29 exit $1
30 else
31 success_lite "Success in test."
32 fi
33}
34
35help() {
36 echo "Usage: ./test [help] [c_unit] [performance] [lint]"
37}
38
39c_unit() {
40 warn "Running C unit test chain"
41 echo
42
43 # Compile C unit tests
44 warn_lite "Making C header unit test"
45 mkdir -p bin
46 handle "gcc -pedantic -Wall -Wextra -Werror -o bin/c -I src/c tests/header_unit.c tests/header_unit_2.c"
47 echo
48
49 warn_lite "Running C header unit test"
50 handle bin/c
51 echo
52
53 success "Finished"
54}
55
56lint() {
57 warn "Running lint test"
58 echo
59
60 find . -name "*.c" -print0 | while read -d $'\0' file
61 do
62 warn_lite "Executing gcc --syntax-only $file"
63 handle "gcc --syntax-only -pedantic -Wall -Wextra -I src/c $file"
64 echo
65 done
66
67 success "Finished"
68}
69
70performance() {
71 warn "Running performance test"
72 echo
73
74 warn_lite "Compiling and getting file sizes"
75 handle tests/performance.py
76 echo
77
78 success "Finished"
79}
80
81for test in "$@"
82do
83 $test
84done
85
86echo -e "finished: ${SECONDS} seconds"
87