diff options
author | shmibs <shmibs@gmail.com> | 2015-12-19 01:44:56 -0700 |
---|---|---|
committer | shmibs <shmibs@gmail.com> | 2015-12-19 01:44:56 -0700 |
commit | 8aea0b1ca3f59106363207cb412fba8fafdeefee (patch) | |
tree | d9c01f7b7aaf7b52def62e9400b896eef6d762e8 | |
parent | 502bcf5794d4b8533b0d76826fc11a95fb1ed023 (diff) | |
download | simple-test-8aea0b1ca3f59106363207cb412fba8fafdeefee.tar.gz |
update usage pdf
-rw-r--r-- | doc/a_simple_example.c | 73 | ||||
-rw-r--r-- | doc/usage.pdf | bin | 138351 -> 102190 bytes | |||
-rw-r--r-- | doc/usage.tex | 112 |
3 files changed, 50 insertions, 135 deletions
diff --git a/doc/a_simple_example.c b/doc/a_simple_example.c index fb7d774..2153a70 100644 --- a/doc/a_simple_example.c +++ b/doc/a_simple_example.c @@ -1,52 +1,45 @@ +/* keep this include at the very top of the file */ #include "simple-test.h" + +/* any global variables, functions, other inclusions, etc. + * should be declared here */ #include "header_with_stuff_to_be_tested.h" BEGIN_TEST -/* a simple test using only stack mem */ -TEST("description of the first test") +/* the string is a description of the test being run */ +TEST("check add()'s return value") { - int var1=2; - int var2=4; - - /* add is a function included from our hypothetical - * header_with_stuff_to_be_tested */ - EXPECT_INT("error message shown on failing", - var1+var2, add(var1, var2)); + int var1=2; + int var2=4; + + /* add is a function included from our hypothetical + * header_with_stuff_to_be_tested */ + EXPECT_INT(var1+var2, add(var1, var2)); } -/* this test uses heap memory, so things get a bit - * more complicated */ -TEST("this is the second test") +TEST("compare two arrays of strings") { - /* first, ensure all your pointers which will - * point to heap mem are declared */ - char *heap_string=NULL; - - /* next, declare a list of statements to be - * called to clean up memory once the test - * is completed */ - CLEANUP( - if(heap_string != NULL) - free(heap_string); - ); - - /* then, define the body of the test */ - - /* STATE can be used to report (with pretty - * formatting) the current state within the - * test, which may be useful in the case of - * a segfault */ - STATE("grabbing heap string"); - - heap_string=get_heap_string_value(); - - EXPECT_STR("i suck at grabbing pointers!", - "expected value", heap_string); - - /* finally, call RETURN(); to run the - * cleanup code and continue */ - RETURN(); + int i; + char array1[][10] = { + "str1", + "str2", + "str3", + }; + char array2[][10] = { + "str1", + "str2", + /* matching will fail here */ + "different", + }; + + for(i = 0; i < sizeof(array1) / sizeof(char[10]); i++) { + /* ECHO can be used to print (with pretty + * formatting) the current state within the + * test */ + ECHO("checking strs at i == %i", i); + EXPECT_STR_EQ(array1[i], array2[i]); + } } END_TEST diff --git a/doc/usage.pdf b/doc/usage.pdf Binary files differindex fb6f9c7..0ffcd3c 100644 --- a/doc/usage.pdf +++ b/doc/usage.pdf diff --git a/doc/usage.tex b/doc/usage.tex index 6494ee5..f8cde5d 100644 --- a/doc/usage.tex +++ b/doc/usage.tex @@ -8,13 +8,7 @@ \usepackage[usenames,x11names,table]{xcolor} \usepackage{listings} -\usepackage{enumitem} -\usepackage{graphicx} \usepackage{framed} -\usepackage{calc} -\usepackage{ifthenx} -\usepackage{tabularx} -\usepackage{soul} %%% ------------------------------------------------------- %%% universal formatting @@ -50,18 +44,6 @@ } } -\newcommand{\myhl}[1]{ - { - \color{Snow1} - \sethlcolor{Red1} - \hl{#1} - } -} - -\newcommand{\mymacrow}[2]{ - \footnotesize\textcolor{DarkOrchid3}{\textbf{#1}}: & \small #2 \\[8pt] -} - \newcommand{\mytermrow}[2]{ \tt\bf\small #1 & \tt\small #2 \\ } @@ -102,16 +84,15 @@ \hrule \pagebreak - If both tests above succeed, the output will look like this:\\ + If the second test was ommited, the ouput would look like this:\\ \hrule \vspace{8pt} % successful output + {\tt\bf\small a\_simple\_example.c}\\ \begin{tabular*}{\textwidth}{r@{\ \tt\bf :: }l} - \mytermrow{1}{\color{Yellow4}description of the first test} - \mytermrow{2}{\color{Yellow4}this is the second test} - \mytermrow{ }{\color{DodgerBlue2}grabbing heap string...} + \mytermrow{1}{\color{Yellow4}check add()'s return value} \mytermrow{ }{\color{SpringGreen4}success!} \end{tabular*} @@ -119,89 +100,30 @@ \hrule \vspace{20pt} - If the first test fails, it will look something like this:\\ + If the second test was included, it would look like this:\\ + \hrule \vspace{8pt} % failed output + {\tt\bf\small a\_simple\_example.c}\\ \begin{tabular*}{\textwidth}{r@{\ \tt\bf :: }l} - \mytermrow{1}{\color{Yellow4}description of the first test} - \mytermrow{ }{\color{Red1}FAIL: error message shown on failing} - \mytermrow{ }{\textcolor{SpringGreen4}{\textbf{\ \ expected:}}6} - \mytermrow{ }{\textcolor{Red1}{\textbf{\ \ \ \ actual:}}0} + \mytermrow{1}{\color{Yellow4}check add()'s return value} + \mytermrow{2}{\color{Yellow4}compare two arrays of strings} + \mytermrow{ }{\color{DodgerBlue2}checking strs at i == 0...} + \mytermrow{ }{\color{DodgerBlue2}checking strs at i == 1...} + \mytermrow{ }{\color{DodgerBlue2}checking strs at i == 2...} + \mytermrow{ }{\textbf{a\_simple\_example.c:40: \textcolor{Red1}{fail:}} strings unequal} + \mytermrow{ }{\ \ \textbf{array1[i]} == `str3'} + \mytermrow{ }{\ \ \textbf{array2[i]} == `different'} \end{tabular*} \vspace{8pt} \hrule + \vspace{20pt} - \pagebreak - - \myheading{defined macros} - \begin{tabularx}{\textwidth}{r@{\ }X} - \mymacrow{BEGIN\_TEST}{ - must appear before all tests and - after all global variable declarations - } - \mymacrow{END\_TEST}{ - must appear at the end of your test - program - } - \mymacrow{CLEANUP(statements)}{ - this defines a list of statements to run - when the test exits, either successfully or - on a failure. it isn't necessary for a test - to run, but, if it does appear, it must be - after the declaration of all variables to - which it makes reference. - } - \mymacrow{RETURN()}{ - place at the end of a test which uses - CLEANUP to ensure it is called before the - test exits. i couldn't find any way around - this without using more than just one - header file, so i hope it isn't too annoying. - } - \mymacrow{STATE(description)}{ - show a prettily-formatted description of the - program's state during a test. takes printf-style - arguments. - } - \mymacrow{EXPECT\_ZERO(summary, arg)}{ - fail if \texttt{arg} does not resolve to 0 - } - \mymacrow{EXPECT\_ONE(summary, arg)}{ - fail if \texttt{arg} does not resolve to 1 - } - \mymacrow{EXPECT\_GREATER\_THAN\_ZERO(summary, arg)}{ - fail if \texttt{arg} does not resolve to a value - greater than 0. this will be replaced with more - generic integer comparisons soon. - } - \mymacrow{EXPECT\_INT(summary, arg1, arg2)}{ - fail if \texttt{arg2} does not match the - expected integer value \texttt{arg1} - } - \mymacrow{EXPECT\_EQUAL\_INT(summary, arg1, arg2)}{ - fail if \texttt{arg1} and \texttt{arg2} are - not equal - } - \mymacrow{EXPECT\_UNEQUAL\_INT(summary, arg1, arg2)}{ - fail if \texttt{arg1} and \texttt{arg2} are - equal - } - \mymacrow{EXPECT\_STR(summary, arg1, arg2)}{ - fail if string \texttt{arg2} does not match the - expected string value \texttt{arg1} - } - \mymacrow{EXPECT\_EQUAL\_STR(summary, arg1, arg2)}{ - fail if \texttt{arg1} and \texttt{arg2} are - not equivalent strings - } - \mymacrow{EXPECT\_UNEQUAL\_STR(summary, arg1, arg2)}{ - fail if \texttt{arg1} and \texttt{arg2} are - equivalent strings - } - \end{tabularx} + For detailed descriptions of all available tests, see the included man page + or README.md . \end{document} |