9
#include "eet_test_common.h"
11
typedef struct _Eet_Union_Test Eet_Union_Test;
12
typedef struct _Eet_Variant_Test Eet_Variant_Test;
13
typedef struct _Eet_Variant_Type Eet_Variant_Type;
14
typedef struct _Eet_Inherit_Test1 Eet_Inherit_Test1;
15
typedef struct _Eet_Inherit_Test2 Eet_Inherit_Test2;
16
typedef struct _Eet_Inherit_Test3 Eet_Inherit_Test3;
17
typedef struct _Eet_St1 Eet_St1;
18
typedef struct _Eet_St2 Eet_St2;
19
typedef struct _Eet_St3 Eet_St3;
20
typedef struct _Eet_List Eet_List;
21
typedef struct _Eet_Hash Eet_Hash;
23
typedef enum _Eet_Union
52
unsigned long long v1;
71
struct _Eet_Variant_Type
77
struct _Eet_Variant_Test
85
struct _Eet_Inherit_Test1
90
struct _Eet_Inherit_Test2
95
struct _Eet_Inherit_Test3
112
_eet_union_type_get(const void *data,
115
const Eet_Union *u = data;
119
*unknow = EINA_FALSE;
121
for (i = 0; eet_mapping[i].name != NULL; ++i)
122
if (*u == eet_mapping[i].u)
123
return eet_mapping[i].name;
132
_eet_union_type_set(const char *type,
142
for (i = 0; eet_mapping[i].name != NULL; ++i)
143
if (strcmp(eet_mapping[i].name, type) == 0)
145
*u = eet_mapping[i].u;
153
_eet_variant_type_get(const void *data,
156
const Eet_Variant_Type *type = data;
160
*unknow = type->unknow;
162
for (i = 0; eet_mapping[i].name != NULL; ++i)
163
if (strcmp(type->type, eet_mapping[i].name) == 0)
164
return eet_mapping[i].name;
167
*unknow = EINA_FALSE;
173
_eet_variant_type_set(const char *type,
177
Eet_Variant_Type *vt = data;
184
static Eet_Data_Descriptor *
187
Eet_Data_Descriptor_Class eddc;
188
Eet_Data_Descriptor *res;
190
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Eet_St1);
191
res = eet_data_descriptor_stream_new(&eddc);
192
EET_DATA_DESCRIPTOR_ADD_BASIC(res, Eet_St1, "val1", val1, EET_T_DOUBLE);
193
EET_DATA_DESCRIPTOR_ADD_BASIC(res, Eet_St1, "stuff", stuff, EET_T_INT);
194
EET_DATA_DESCRIPTOR_ADD_BASIC(res, Eet_St1, "s1", s1, EET_T_STRING);
200
_eet_st1_set(Eet_St1 *st1,
203
st1->val1 = EET_TEST_DOUBLE;
204
st1->stuff = EET_TEST_INT + i;
205
st1->s1 = EET_TEST_STRING;
209
_eet_st1_cmp(Eet_St1 *st1,
216
tmp = st1->val1 - EET_TEST_DOUBLE;
220
fail_if(tmp > 0.005);
221
fail_if(st1->stuff != EET_TEST_INT + i);
222
fail_if(strcmp(st1->s1, EET_TEST_STRING));
225
static Eet_Data_Descriptor *
228
Eet_Data_Descriptor_Class eddc;
229
Eet_Data_Descriptor *res;
231
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Eet_St2);
232
res = eet_data_descriptor_stream_new(&eddc);
233
EET_DATA_DESCRIPTOR_ADD_BASIC(res, Eet_St2, "b1", b1, EET_T_UCHAR);
234
EET_DATA_DESCRIPTOR_ADD_BASIC(res, Eet_St2, "v1", v1, EET_T_ULONG_LONG);
240
_eet_st2_set(Eet_St2 *st2,
244
st2->v1 = EET_TEST_LONG_LONG + i;
248
_eet_st2_cmp(Eet_St2 *st2,
252
fail_if(st2->v1 != EET_TEST_LONG_LONG + i);
255
static Eet_Data_Descriptor *
258
Eet_Data_Descriptor_Class eddc;
259
Eet_Data_Descriptor *res;
261
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Eet_St3);
262
res = eet_data_descriptor_stream_new(&eddc);
263
EET_DATA_DESCRIPTOR_ADD_BASIC(res, Eet_St3, "boby", boby, EET_T_INT);
269
_eet_st3_set(Eet_St3 *st3,
272
st3->boby = EET_TEST_INT + i;
276
_eet_st3_cmp(Eet_St3 *st3,
279
fail_if(st3->boby != EET_TEST_INT + i);
282
EFL_START_TEST(eet_test_data_basic_type_encoding_decoding)
284
Eet_Data_Descriptor *edd;
285
Eet_Test_Basic_Type *result;
286
Eet_Data_Descriptor_Class eddc;
287
Eet_Test_Basic_Type etbt;
291
eet_test_basic_set(&etbt, 0);
293
eet_test_setup_eddc(&eddc);
294
eddc.name = "Eet_Test_Basic_Type";
295
eddc.size = sizeof(Eet_Test_Basic_Type);
297
edd = eet_data_descriptor_stream_new(&eddc);
300
eet_build_basic_descriptor(edd);
302
transfert = eet_data_descriptor_encode(edd, &etbt, &size);
303
fail_if(!transfert || size <= 0);
305
result = eet_data_descriptor_decode(edd, transfert, size);
308
eet_test_basic_check(result, 0, EINA_FALSE);
313
eet_data_descriptor_free(edd);
317
EFL_START_TEST(eet_test_data_type_encoding_decoding)
319
Eet_Data_Descriptor *edd;
320
Eet_Test_Ex_Type *result;
322
Eet_Data_Descriptor_Class eddc;
323
Eet_Test_Ex_Type etbt;
327
eet_test_ex_set(&etbt, 0);
328
etbt.list = eina_list_prepend(etbt.list, eet_test_ex_set(NULL, 1));
329
etbt.hash = eina_hash_string_superfast_new(NULL);
330
eina_hash_add(etbt.hash, EET_TEST_KEY1, eet_test_ex_set(NULL, 2));
331
etbt.ilist = eina_list_prepend(etbt.ilist, &i42);
332
etbt.ihash = eina_hash_string_superfast_new(NULL);
333
eina_hash_add(etbt.ihash, EET_TEST_KEY1, &i7);
334
etbt.slist = eina_list_prepend(NULL, "test");
335
etbt.shash = eina_hash_string_superfast_new(NULL);
336
eina_hash_add(etbt.shash, EET_TEST_KEY1, "test");
337
memset(&etbt.charray, 0, sizeof(etbt.charray));
338
etbt.charray[0] = "test";
339
etbt.charray[5] = "plouf";
341
eet_test_setup_eddc(&eddc);
342
eddc.name = "Eet_Test_Ex_Type";
343
eddc.size = sizeof(Eet_Test_Ex_Type);
345
edd = eet_data_descriptor_file_new(&eddc);
348
eet_build_ex_descriptor(edd, EINA_FALSE);
350
transfert = eet_data_descriptor_encode(edd, &etbt, &size);
351
fail_if(!transfert || size <= 0);
353
result = eet_data_descriptor_decode(edd, transfert, size);
356
fail_if(eet_test_ex_check(result, 0, EINA_FALSE) != 0);
357
fail_if(eet_test_ex_check(eina_list_data_get(result->list), 1, EINA_FALSE) != 0);
358
fail_if(eina_list_data_get(result->ilist) == NULL);
359
fail_if(*((int *)eina_list_data_get(result->ilist)) != 42);
360
fail_if(eina_list_data_get(result->slist) == NULL);
361
fail_if(strcmp(eina_list_data_get(result->slist), "test") != 0);
362
fail_if(eina_hash_find(result->shash, EET_TEST_KEY1) == NULL);
363
fail_if(strcmp(eina_hash_find(result->shash, EET_TEST_KEY1), "test") != 0);
364
fail_if(strcmp(result->charray[0], "test") != 0);
365
fail_if(strcmp(result->charray[5], "plouf") != 0);
369
eina_hash_foreach(result->hash, func, &test);
373
eina_hash_foreach(result->ihash, func7, &test);
379
EFL_START_TEST(eet_test_data_type_dump_undump)
381
Eet_Data_Descriptor *edd;
382
Eet_Test_Ex_Type *result;
383
Eet_Data_Descriptor_Class eddc;
384
Eet_Test_Ex_Type etbt;
393
eet_test_ex_set(&etbt, 0);
394
etbt.list = eina_list_prepend(etbt.list, eet_test_ex_set(NULL, 1));
395
etbt.list = eina_list_prepend(etbt.list, eet_test_ex_set(NULL, 1));
396
etbt.hash = eina_hash_string_superfast_new(NULL);
397
eina_hash_add(etbt.hash, EET_TEST_KEY1, eet_test_ex_set(NULL, 2));
398
etbt.hash = eina_hash_string_superfast_new(NULL);
399
eina_hash_add(etbt.hash, EET_TEST_KEY2, eet_test_ex_set(NULL, 2));
400
etbt.ilist = eina_list_prepend(etbt.ilist, &i42);
401
etbt.ilist = eina_list_prepend(etbt.ilist, &i42);
402
etbt.ihash = eina_hash_string_superfast_new(NULL);
403
eina_hash_add(etbt.ihash, EET_TEST_KEY1, &i7);
404
etbt.ihash = eina_hash_string_superfast_new(NULL);
405
eina_hash_add(etbt.ihash, EET_TEST_KEY2, &i7);
406
etbt.slist = eina_list_prepend(NULL, "test");
407
etbt.shash = eina_hash_string_superfast_new(NULL);
408
eina_hash_add(etbt.shash, EET_TEST_KEY1, "test");
409
memset(&etbt.charray, 0, sizeof(etbt.charray));
410
etbt.charray[0] = "test";
412
eet_test_setup_eddc(&eddc);
413
eddc.name = "Eet_Test_Ex_Type";
414
eddc.size = sizeof(Eet_Test_Ex_Type);
416
edd = eet_data_descriptor_file_new(&eddc);
419
eet_build_ex_descriptor(edd, EINA_FALSE);
421
transfert1 = eet_data_descriptor_encode(edd, &etbt, &size1);
422
fail_if(!transfert1 || size1 <= 0);
425
eet_data_text_dump(transfert1, size1, append_string, &string1);
428
transfert2 = eet_data_text_undump(string1, string1 ? strlen(
429
string1) : 0, &size2);
430
fail_if(!transfert2 && size2 <= 0);
433
eet_data_text_dump(transfert2, size2, append_string, &string2);
436
fail_if(strlen(string2) != strlen(string1));
438
result = eet_data_descriptor_decode(edd, transfert2, size2);
441
fail_if(eet_test_ex_check(result, 0, EINA_TRUE) != 0);
442
fail_if(eet_test_ex_check(eina_list_data_get(result->list), 1, EINA_TRUE) != 0);
443
fail_if(eina_list_data_get(result->ilist) == NULL);
444
fail_if(*((int *)eina_list_data_get(result->ilist)) != 42);
445
fail_if(eina_list_data_get(result->slist) == NULL);
446
fail_if(strcmp(eina_list_data_get(result->slist), "test") != 0);
447
fail_if(eina_hash_find(result->shash, EET_TEST_KEY1) == NULL);
448
fail_if(strcmp(eina_hash_find(result->shash, EET_TEST_KEY1), "test") != 0);
449
fail_if(strcmp(result->charray[0], "test") != 0);
452
_dump_call = EINA_TRUE;
454
eina_hash_foreach(result->hash, func, &test);
455
_dump_call = EINA_FALSE;
459
eina_hash_foreach(result->ihash, func7, &test);
466
EFL_START_TEST(eet_test_data_type_escape_dump_undump)
471
const char *outputstr;
473
const char inputstr[] = ""
474
"group \"\\\\My\\\"Group\\\\\" struct {\n"
475
" value \"\\\\My\\\\BackSlash\\\\\" string: \"\\\\\";\n"
476
" value \"\\\\My\\\\DoubleQuote\\\\\" string: \"\\\"\";\n"
477
" value \"\\\\My\\\\NewLine\\\\\" string: \"\\n\";\n"
480
blob = eet_data_text_undump(inputstr, strlen(inputstr), &blob_len);
483
strbuf = eina_strbuf_new();
484
ret = eet_data_text_dump(blob, blob_len, append_strbuf_string, strbuf);
485
ck_assert_int_eq(ret, 1);
487
outputstr = eina_strbuf_string_get(strbuf);
489
ck_assert_str_eq(inputstr, outputstr);
491
eina_strbuf_free(strbuf);
497
EFL_START_TEST(eet_test_data_fp)
499
Eet_Data_Descriptor_Class eddc;
500
Eet_Data_Descriptor *edd_5FP;
501
Eet_Data_Descriptor *edd_5DBL;
508
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Eet_5FP);
509
edd_5FP = eet_data_descriptor_stream_new(&eddc);
511
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_5FP, Eet_5FP, "fp32", fp32, EET_T_F32P32);
512
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_5FP, Eet_5FP, "fp16", fp16, EET_T_F16P16);
513
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_5FP, Eet_5FP, "fp8", fp8, EET_T_F8P24);
514
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_5FP, Eet_5FP, "f1", f1, EET_T_F32P32);
515
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_5FP, Eet_5FP, "f0", f0, EET_T_F32P32);
517
eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "Eet_5FP", sizeof (Eet_5DBL));
518
edd_5DBL = eet_data_descriptor_stream_new(&eddc);
520
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_5DBL, Eet_5DBL, "fp32", fp32, EET_T_DOUBLE);
521
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_5DBL, Eet_5DBL, "fp16", fp16, EET_T_DOUBLE);
522
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_5DBL, Eet_5DBL, "fp8", fp8, EET_T_FLOAT);
523
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_5DBL, Eet_5DBL, "f1", f1, EET_T_DOUBLE);
524
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_5DBL, Eet_5DBL, "f0", f0, EET_T_DOUBLE);
526
origin.fp32 = eina_f32p32_double_from(1.125);
527
origin.fp16 = eina_f16p16_int_from(2000);
528
origin.fp8 = eina_f8p24_int_from(125);
529
origin.f1 = eina_f32p32_int_from(1);
532
blob = eet_data_descriptor_encode(edd_5FP, &origin, &size);
533
fail_if(!blob || size <= 0);
535
build = eet_data_descriptor_decode(edd_5FP, blob, size);
538
convert = eet_data_descriptor_decode(edd_5DBL, blob, size);
541
fail_if(build->fp32 != eina_f32p32_double_from(1.125));
542
fail_if(build->fp16 != eina_f16p16_int_from(2000));
543
fail_if(build->fp8 != eina_f8p24_int_from(125));
544
fail_if(build->f1 != eina_f32p32_int_from(1));
545
fail_if(build->f0 != 0);
547
fail_if(!EINA_DBL_EQ(convert->fp32, 1.125));
548
fail_if(!EINA_DBL_EQ(convert->fp16, 2000));
549
fail_if(!EINA_DBL_EQ(convert->fp8, 125));
550
fail_if(!EINA_DBL_EQ(convert->f1, 1));
551
fail_if(!EINA_DBL_EQ(convert->f0, 0));
556
EFL_START_TEST(eet_test_data_union)
560
Eet_Data_Descriptor_Class eddc;
561
Eet_Data_Descriptor *edd;
562
Eet_Data_Descriptor *unified;
563
Eet_Data_Descriptor *m;
568
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Eet_Union_Test);
569
edd = eet_data_descriptor_stream_new(&eddc);
571
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Eet_Union_Test);
572
m = eet_data_descriptor_stream_new(&eddc);
574
eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
575
eddc.func.type_get = _eet_union_type_get;
576
eddc.func.type_set = _eet_union_type_set;
577
unified = eet_data_descriptor_stream_new(&eddc);
579
EET_DATA_DESCRIPTOR_ADD_MAPPING(unified, "ST1", _eet_st1_dd());
580
EET_DATA_DESCRIPTOR_ADD_MAPPING(unified, "ST2", _eet_st2_dd());
581
EET_DATA_DESCRIPTOR_ADD_MAPPING(unified, "ST3", _eet_st3_dd());
583
EET_DATA_DESCRIPTOR_ADD_UNION(edd, Eet_Union_Test, "u", u, type, unified);
585
EET_DATA_DESCRIPTOR_ADD_LIST(m, Eet_List, "list", list, edd);
587
l = calloc(1, sizeof (Eet_List));
589
#define EUT_NEW(Type_Index) \
590
eut = calloc(1, sizeof (Eet_Union_Test)); \
591
eut->type = EET_ST ## Type_Index; \
592
_eet_st ## Type_Index ## _set(&(eut->u.st ## Type_Index), i);
594
for (i = 0; i < 3; ++i)
597
l->list = eina_list_append(l->list, eut);
600
l->list = eina_list_append(l->list, eut);
603
l->list = eina_list_append(l->list, eut);
606
blob = eet_data_descriptor_encode(m, l, &size);
607
fail_if(!blob || size <= 0);
609
l = eet_data_descriptor_decode(m, blob, size);
612
fail_if(eina_list_count(l->list) != 9);
614
#define EUT_CMP(Type_Index) \
615
eut = eina_list_nth(l->list, i * 3 + Type_Index - 1); \
616
fail_if(eut->type != EET_ST ## Type_Index); \
617
_eet_st ## Type_Index ## _cmp(&(eut->u.st ## Type_Index), i);
619
for (i = 0; i < 3; ++i)
628
EFL_START_TEST(eet_test_data_variant)
630
Eet_Variant_Test *evt;
635
Eet_Data_Descriptor_Class eddc;
636
Eet_Data_Descriptor *edd;
637
Eet_Data_Descriptor *unified;
638
Eet_Data_Descriptor *m;
643
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Eet_Variant_Test);
644
edd = eet_data_descriptor_stream_new(&eddc);
646
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Eet_Variant_Test);
647
m = eet_data_descriptor_stream_new(&eddc);
649
eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
650
eddc.func.type_get = _eet_variant_type_get;
651
eddc.func.type_set = _eet_variant_type_set;
652
unified = eet_data_descriptor_stream_new(&eddc);
654
EET_DATA_DESCRIPTOR_ADD_MAPPING(unified, "ST1", _eet_st1_dd());
655
EET_DATA_DESCRIPTOR_ADD_MAPPING(unified, "ST2", _eet_st2_dd());
656
EET_DATA_DESCRIPTOR_ADD_MAPPING(unified, "ST3", _eet_st3_dd());
658
EET_DATA_DESCRIPTOR_ADD_VARIANT(edd,
665
unified = eet_data_descriptor_stream_new(&eddc);
666
eet_data_descriptor_element_add(unified, "ST1",
667
EET_T_UNKNOW, EET_G_LIST,
668
0, 0, NULL, _eet_st1_dd());
669
eet_data_descriptor_element_add(unified, "ST2",
670
EET_T_UNKNOW, EET_G_LIST,
671
0, 0, NULL, _eet_st2_dd());
673
EET_DATA_DESCRIPTOR_ADD_VARIANT(edd, Eet_Variant_Test,
674
"data_list", data_list, t, unified);
676
EET_DATA_DESCRIPTOR_ADD_LIST(m, Eet_List, "list", list, edd);
678
l = calloc(1, sizeof (Eet_List));
680
#define EVT_NEW(Type_Index) \
681
evt = calloc(1, sizeof (Eet_Variant_Test)); \
682
evt->t.type = eet_mapping[Type_Index - 1].name; \
683
st ## Type_Index = calloc(1, sizeof (Eet_St ## Type_Index)); \
684
_eet_st ## Type_Index ## _set(st ## Type_Index, i); \
685
evt->data = st ## Type_Index;
687
for (i = 0; i < 3; ++i)
690
l->list = eina_list_append(l->list, evt);
692
st1 = calloc(1, sizeof (Eet_St1));
693
_eet_st1_set(st1, i);
694
evt->data_list = eina_list_append(evt->data_list, st1);
697
l->list = eina_list_append(l->list, evt);
700
l->list = eina_list_append(l->list, evt);
703
blob = eet_data_descriptor_encode(m, l, &size);
704
fail_if(!blob || size <= 0);
706
l = eet_data_descriptor_decode(m, blob, size);
709
fail_if(eina_list_count(l->list) != 9);
711
#define EVT_CMP(Type_Index) \
712
evt = eina_list_nth(l->list, i * 3 + Type_Index - 1); \
713
fail_if(strcmp(evt->t.type, eet_mapping[Type_Index - 1].name) != 0); \
714
_eet_st ## Type_Index ## _cmp(evt->data, i);
716
for (i = 0; i < 3; ++i)
720
fail_if(!evt->data_list);
721
fail_if(eina_list_count(evt->data_list) != 1);
723
st1 = eina_list_data_get(evt->data_list);
724
_eet_st1_cmp(st1, i);
733
EFL_START_TEST(eet_test_data_hash_value)
737
Eet_Data_Descriptor_Class eddc;
738
Eet_Data_Descriptor *edd;
745
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Eet_Hash);
746
edd = eet_data_descriptor_stream_new(&eddc);
748
EET_DATA_DESCRIPTOR_ADD_HASH_VALUE(edd, Eet_Hash, "hash", hash);
750
h = calloc(1, sizeof(Eet_Hash));
751
h->hash = eina_hash_string_small_new((Eina_Free_Cb)eina_value_free);
753
val = eina_value_new(EINA_VALUE_TYPE_INT);
754
eina_value_set(val, EET_TEST_INT);
755
eina_hash_direct_add(h->hash, "val/int", val);
757
val = eina_value_new(EINA_VALUE_TYPE_DOUBLE);
758
eina_value_set(val, EET_TEST_DOUBLE);
759
eina_hash_direct_add(h->hash, "val/double", val);
761
val = eina_value_new(EINA_VALUE_TYPE_STRING);
762
eina_value_set(val, EET_TEST_STRING);
763
eina_hash_direct_add(h->hash, "val/string", val);
765
blob = eet_data_descriptor_encode(edd, h, &size);
766
fail_if((!blob) || (size <= 0));
768
h = eet_data_descriptor_decode(edd, blob, size);
771
val = (Eina_Value *)eina_hash_find(h->hash, "val/int");
772
eina_value_get(val, &i);
773
fail_if((!val) || (i != EET_TEST_INT));
775
val = (Eina_Value *)eina_hash_find(h->hash, "val/double");
776
eina_value_get(val, &d);
777
fail_if((!val) || (!EINA_DBL_EQ(d, EET_TEST_DOUBLE)));
779
val = (Eina_Value *)eina_hash_find(h->hash, "val/string");
780
eina_value_get(val, &s);
781
fail_if((!val) || strcmp(s, EET_TEST_STRING));
785
void eet_test_data(TCase *tc)
787
tcase_add_test(tc, eet_test_data_basic_type_encoding_decoding);
788
tcase_add_test(tc, eet_test_data_type_encoding_decoding);
789
tcase_add_test(tc, eet_test_data_type_dump_undump);
790
tcase_add_test(tc, eet_test_data_type_escape_dump_undump);
791
tcase_add_test(tc, eet_test_data_fp);
792
tcase_add_test(tc, eet_test_data_union);
793
tcase_add_test(tc, eet_test_data_variant);
794
tcase_add_test(tc, eet_test_data_hash_value);