wrote test
parent
9fb43f8ae9
commit
2d46929f07
|
@ -0,0 +1,55 @@
|
||||||
|
#ifndef _TEST_HEADER_H
|
||||||
|
#define _TEST_HEADER_H
|
||||||
|
|
||||||
|
#include "kwil.h"
|
||||||
|
#include "header.kwil.h"
|
||||||
|
|
||||||
|
KWIL_ENUM()
|
||||||
|
enum enum_A {
|
||||||
|
VALUE_A,
|
||||||
|
VALUE_B,
|
||||||
|
VALUE_C
|
||||||
|
};
|
||||||
|
|
||||||
|
KWIL_STRUCT()
|
||||||
|
struct struct_A {
|
||||||
|
KWIL_FIELD()
|
||||||
|
int b;
|
||||||
|
KWIL_FIELD()
|
||||||
|
float a;
|
||||||
|
KWIL_FIELD()
|
||||||
|
unsigned u;
|
||||||
|
KWIL_FIELD()
|
||||||
|
char* dyn_str;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef enum enum_A enum_A;
|
||||||
|
typedef struct struct_A struct_A;
|
||||||
|
|
||||||
|
KWIL_STRUCT()
|
||||||
|
struct struct_B {
|
||||||
|
KWIL_FIELD()
|
||||||
|
float f;
|
||||||
|
|
||||||
|
float f_NOT_KWIL;
|
||||||
|
int i_NOT_KWIL;
|
||||||
|
|
||||||
|
KWIL_FIELD()
|
||||||
|
int i;
|
||||||
|
KWIL_FIELD()
|
||||||
|
char* str;
|
||||||
|
KWIL_FIELD()
|
||||||
|
char str_static[44];
|
||||||
|
|
||||||
|
KWIL_FIELD()
|
||||||
|
struct struct_A other_struct;
|
||||||
|
KWIL_FIELD()
|
||||||
|
struct_A other_struct_typedef;
|
||||||
|
|
||||||
|
KWIL_FIELD()
|
||||||
|
enum enum_A other_enum;
|
||||||
|
KWIL_FIELD()
|
||||||
|
enum_A other_enum_typedef;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // !_TEST_HEADER_H
|
|
@ -0,0 +1,35 @@
|
||||||
|
#include "header.h"
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
KWIL_GEN_IMPL()
|
||||||
|
|
||||||
|
int main(int argc, char* argv[]) {
|
||||||
|
printf("running kwil test\n");
|
||||||
|
struct struct_A b = {
|
||||||
|
.b = -10,
|
||||||
|
.u = 13,
|
||||||
|
.a = 1.0,
|
||||||
|
.dyn_str = "WHOOAAAAA"
|
||||||
|
};
|
||||||
|
char* json = NULL;
|
||||||
|
int json_len = struct_A_to_json(&b, &json);
|
||||||
|
|
||||||
|
printf("allocated %d bytes for json of struct_A\n", json_len);
|
||||||
|
printf("struct_A as json:\n%s\n", json);
|
||||||
|
|
||||||
|
int real_len = strlen(json);
|
||||||
|
|
||||||
|
free(json);
|
||||||
|
|
||||||
|
if(real_len != json_len) {
|
||||||
|
printf("Json Length (%d) does not match allocated space %d\n", real_len, json_len);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef _kwil_macros_h
|
||||||
|
#define _kwil_macros_h
|
||||||
|
|
||||||
|
#define KWIL_ENUM(...)
|
||||||
|
#define KWIL_FIELD(...)
|
||||||
|
#define KWIL_STRUCT(...)
|
||||||
|
|
||||||
|
#endif // !_kwil_macros_h
|
Loading…
Reference in New Issue