42 lines
968 B
C
42 lines
968 B
C
|
|
#include <stdio.h>
|
||
|
|
#include <errno.h>
|
||
|
|
#include <assert.h>
|
||
|
|
#include "hako/ffi.h"
|
||
|
|
|
||
|
|
int main(void) {
|
||
|
|
HakoHandle map = (HakoHandle)0xDEADBEEF; // dummy handle
|
||
|
|
|
||
|
|
errno = 0;
|
||
|
|
nyash_map_set_h(map, 1, 2);
|
||
|
|
assert(errno == ENOSYS);
|
||
|
|
|
||
|
|
errno = 0;
|
||
|
|
nyash_map_set_hh(map, (HakoHandle)0x1, (HakoHandle)0x2);
|
||
|
|
assert(errno == ENOSYS);
|
||
|
|
|
||
|
|
errno = 0;
|
||
|
|
nyash_map_set_ha(map, 1, (HakoHandle)0x3);
|
||
|
|
assert(errno == ENOSYS);
|
||
|
|
|
||
|
|
errno = 0;
|
||
|
|
nyash_map_set_ah(map, (HakoHandle)0x4, 5);
|
||
|
|
assert(errno == ENOSYS);
|
||
|
|
|
||
|
|
errno = 0;
|
||
|
|
HakoHandle r1 = nyash_map_get_h(map, 42);
|
||
|
|
assert(r1 == (HakoHandle)0 && errno == ENOSYS);
|
||
|
|
|
||
|
|
errno = 0;
|
||
|
|
HakoHandle r2 = nyash_map_get_hh(map, (HakoHandle)0x5);
|
||
|
|
assert(r2 == (HakoHandle)0 && errno == ENOSYS);
|
||
|
|
|
||
|
|
int ok = 1234;
|
||
|
|
errno = 0;
|
||
|
|
long v = nyash_unbox_i64((HakoHandle)0x6, &ok);
|
||
|
|
assert(v == 0 && ok == 0 && errno == ENOSYS);
|
||
|
|
|
||
|
|
printf("[OK] HAKO FFI smoke passed.\n");
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|