Use mu_main to reduce boilerplate in unit tests

* Disable colors on Windows because terminal looks bad otherwise
* Use environment on Windows to set PATH and make sure unit tests use
  the compiled libraries and not the installed ones
* Define ssize_t on Windows as well by using SSIZE_T

Update test_analysis_block.c

Update test_intervaltree.c

Update test_unum.c
This commit is contained in:
Riccardo Schirone 2020-12-23 10:51:40 +01:00 committed by Florian Märkl
parent cfc57aef3c
commit a7fd3fa3c6
81 changed files with 140 additions and 225 deletions

View file

@ -94,6 +94,7 @@ for:
- rizin -v
- copy C:\Python38-x64\python.exe C:\Python38-x64\python3.exe
- python3 -m pip install "git+https://github.com/rizinorg/rz-pipe#egg=rzpipe&subdirectory=python"
- "%PYTHON%\\Scripts\\ninja -C build test"
- cd test
- git clone -q --depth 1 https://github.com/rizinorg/rizin-testbins bins
- rz-test -o results.json -L db

View file

@ -16,6 +16,11 @@
#define st8 signed char
#define boolt int
#if defined(_MSC_VER)
#include <BaseTsd.h>
typedef SSIZE_T ssize_t;
#endif
#if defined(_MSC_VER)
# define RZ_ALIGNED(x) __declspec(align(x))
#else

View file

@ -46,9 +46,6 @@
/* Do this here and now, because struct stat gets re-defined on solaris */
#include <sys/stat.h>
#include <stdarg.h>
#ifdef _MSC_VER
typedef unsigned int ssize_t;
#endif
/* Type for Unicode characters */
typedef unsigned long unichar;

View file

@ -545,6 +545,36 @@ if use_rpath
rpath_exe = '$ORIGIN/../' + get_option('libdir')
rpath_lib = '$ORIGIN'
endif
# NOTE: this is to workaround an issue on Windows where unit tests don't use
# the right libraries, resulting in tests not being run properly
test_env_common_path = []
build_root = meson.current_build_dir()
if host_machine.system() == 'windows'
test_env_common_path += [
build_root / 'librz' / 'analysis',
build_root / 'librz' / 'asm',
build_root / 'librz' / 'bin',
build_root / 'librz' / 'bp',
build_root / 'librz' / 'config',
build_root / 'librz' / 'cons',
build_root / 'librz' / 'core',
build_root / 'librz' / 'crypto',
build_root / 'librz' / 'debug',
build_root / 'librz' / 'egg',
build_root / 'librz' / 'flag',
build_root / 'librz' / 'hash',
build_root / 'librz' / 'io',
build_root / 'librz' / 'lang',
build_root / 'librz' / 'magic',
build_root / 'librz' / 'main',
build_root / 'librz' / 'parse',
build_root / 'librz' / 'reg',
build_root / 'librz' / 'search',
build_root / 'librz' / 'socket',
build_root / 'librz' / 'syscall',
build_root / 'librz' / 'util',
]
endif
subdir('librz/util')
subdir('librz/socket')

View file

@ -3,9 +3,6 @@
#define LIBGDBR_H
#include <stdint.h>
#ifdef _MSC_VER
typedef unsigned int ssize_t;
#endif
#include "arch.h"
#include "rz_types_base.h"

View file

@ -4,7 +4,6 @@
#include <stdint.h>
#ifdef _MSC_VER
typedef unsigned int ssize_t;
typedef int pid_t;
#else
#include <unistd.h>

View file

@ -58,9 +58,7 @@
#define HAVE_SNPRINTF 1
/* Define to 1 if the system has the type `ssize_t'. */
#ifndef _MSC_VER
#define HAVE_SSIZE_T 1
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1

View file

@ -150,9 +150,7 @@ static bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)
```
Minunit provides various functions to check the actual output of a function with

View file

@ -75,6 +75,11 @@ if get_option('enable_tests')
'subprocess',
]
unit_test_env = environment()
if test_env_common_path != []
unit_test_env.prepend('PATH', test_env_common_path)
endif
foreach test : tests
exe = executable('test_@0@'.format(test), 'test_@0@.c'.format(test),
include_directories: [platform_inc],
@ -106,6 +111,6 @@ if get_option('enable_tests')
install_rpath: rpath_exe,
implicit_include_directories: false
)
test(test, exe, workdir: join_paths(meson.current_source_dir(), '..'))
test(test, exe, workdir: join_paths(meson.current_source_dir(), '..'), env: unit_test_env)
endforeach
endif

View file

@ -3,9 +3,19 @@
// You may use the code in this tech note for any purpose,
// with the understanding that it comes with NO WARRANTY.
#ifndef TERMCOLOR_H
#define TERMCOLOR_H
#ifndef _MINUNIT_H_
#define _MINUNIT_H_
#if __WINDOWS__
#define TRED
#define TGREEN
#define TYELLOW
#define TBLUE
#define TMAGENTA
#define TCYAN
#define TBOLD
#define TRESET
#else
#define TRED "\x1b[31m"
#define TGREEN "\x1b[32m"
#define TYELLOW "\x1b[33m"
@ -190,3 +200,9 @@ void sprint_mem(char *out, const ut8 *buf, size_t len) {
int tests_run = 0;
int tests_passed = 0;
int mu_test_status = MU_TEST_UNBROKEN;
#define mu_main(fcn) int main(int argc, char **argv) { \
return fcn (); \
}
#endif

View file

@ -38,6 +38,4 @@ int all_tests(void) {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -104,6 +104,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -106,6 +106,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -98,6 +98,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -130,6 +130,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -340,6 +340,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -604,6 +604,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -354,6 +354,4 @@ int all_tests(void) {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -228,6 +228,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -23,6 +23,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -438,6 +438,4 @@ static int all_tests(void) {
return tests_passed != tests_run;
}
int main (int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -288,6 +288,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -50,6 +50,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -531,6 +531,4 @@ static int all_tests(void) {
return tests_passed != tests_run;
}
int main (int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -28,6 +28,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -46,6 +46,4 @@ bool all_tests () {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -30,6 +30,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -416,6 +416,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -724,6 +724,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -288,6 +288,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -63,8 +63,10 @@ bool test_r_rbtree_cont_delete() {
}
int main(int argc, char *argv[]) {
bool all_tests(void) {
mu_run_test (test_r_rbtree_cont_insert);
mu_run_test (test_r_rbtree_cont_delete);
return tests_run != tests_passed;
}
mu_main (all_tests)

View file

@ -121,6 +121,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -88,6 +88,4 @@ static int all_tests(void) {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -24,6 +24,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -58,6 +58,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -196,6 +196,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -67,6 +67,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -1291,6 +1291,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -424,6 +424,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -252,6 +252,4 @@ int all_tests(void) {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -50,7 +50,9 @@ bool test_filter_regs(void) {
mu_end;
}
int main(int argc, char **argv) {
bool all_tests(void) {
mu_run_test (test_filter_regs);
return tests_passed != tests_run;
}
mu_main (all_tests)

View file

@ -71,6 +71,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -62,6 +62,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -128,13 +128,11 @@ bool test_r_flag_get_at() {
mu_end;
}
int all_tests() {
int all_tests(void) {
mu_run_test (test_r_flag_get_set);
mu_run_test (test_r_flag_by_spaces);
mu_run_test (test_r_flag_get_at);
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -17,6 +17,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -142,6 +142,4 @@ static int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -161,6 +161,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -182,6 +182,4 @@ static int all_tests(void) {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -83,6 +83,4 @@ static int all_tests(void) {
return tests_passed != tests_run;
}
int main (int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -81,6 +81,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -274,6 +274,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -1218,6 +1218,4 @@ static int all_tests(void) {
return tests_passed != tests_run;
}
int main(void) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -483,6 +483,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -69,6 +69,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -90,6 +90,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -506,6 +506,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -24,6 +24,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -37,6 +37,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -309,6 +309,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -245,6 +245,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -185,6 +185,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -3,6 +3,9 @@
#include "minunit.h"
static bool test_rzpipe(void) {
#if __WINDOWS__
mu_test_status = MU_TEST_BROKEN;
#endif
RzPipe *r = rzpipe_open ("rizin -q0 -");
mu_assert ("rzpipe can spawn", r);
char *hello = rzpipe_cmd (r, "?e hello world");
@ -24,6 +27,4 @@ static int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -1834,6 +1834,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -82,6 +82,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -236,6 +236,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -150,6 +150,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -111,6 +111,4 @@ int all_tests(void) {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -171,6 +171,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -91,6 +91,4 @@ static int all_tests(void) {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -119,6 +119,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -18,6 +18,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -53,6 +53,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -604,6 +604,4 @@ bool all_tests () {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -230,6 +230,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -140,6 +140,4 @@ bool all_tests () {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -321,6 +321,4 @@ bool all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -241,6 +241,4 @@ static int all_tests(void) {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests ();
}
mu_main (all_tests)

View file

@ -105,6 +105,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -95,6 +95,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -208,6 +208,4 @@ int all_tests() {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)

View file

@ -1118,6 +1118,4 @@ static int all_tests(void) {
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}
mu_main (all_tests)