mirror of
https://github.com/yuzu-emu/unicorn
synced 2024-11-24 11:28:11 +00:00
da21bd0589
* Move assembly to S files * more assembly files * osx compilation change * makefile mistake * add objcopy from crosstool * use gobjcopy on osx * start cmocka install cleanup * move wget to directory option * move back to cd * fix copy * First cut * free allocated memory * bad idea too much switching between python and c * add debug * cleanup bad size
50 lines
1.6 KiB
C
50 lines
1.6 KiB
C
#ifndef UNICORN_TEST_H
|
|
#define UNICORN_TEST_H
|
|
|
|
#include <stdarg.h>
|
|
#include <stddef.h>
|
|
#include <setjmp.h>
|
|
#include <cmocka.h>
|
|
#include <unicorn/unicorn.h>
|
|
#include <sys/stat.h>
|
|
|
|
/**
|
|
* Assert that err matches expect
|
|
*/
|
|
#define uc_assert_err(expect, err) \
|
|
do { \
|
|
uc_err __err = err; \
|
|
if (__err != expect) { \
|
|
fail_msg("%s", uc_strerror(__err)); \
|
|
} \
|
|
} while (0)
|
|
|
|
/**
|
|
* Assert that err is UC_ERR_OK
|
|
*/
|
|
#define uc_assert_success(err) uc_assert_err(UC_ERR_OK, err)
|
|
|
|
/**
|
|
* Assert that err is anything but UC_ERR_OK
|
|
*
|
|
* Note: Better to use uc_assert_err(<specific error>, err),
|
|
* as this serves to document which errors a function will return
|
|
* in various scenarios.
|
|
*/
|
|
#define uc_assert_fail(err) \
|
|
do { \
|
|
uc_err __err = err; \
|
|
if (__err == UC_ERR_OK) { \
|
|
fail_msg("%s", uc_strerror(__err)); \
|
|
} \
|
|
} while (0)
|
|
|
|
char * read_file(const char *filename, struct stat *info) {
|
|
stat(filename, info);
|
|
char *code = malloc(info->st_size);
|
|
FILE *fp = fopen(filename, "r");
|
|
fread(code, info->st_size, 1, fp);
|
|
return code;
|
|
}
|
|
|
|
#endif /* UNICORN_TEST_H */
|