summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/Makefile.in8
-rw-r--r--src/test/test_libconfig.c155
-rw-r--r--src/test/test_spinlock.c31
3 files changed, 118 insertions, 76 deletions
diff --git a/src/test/Makefile.in b/src/test/Makefile.in
index 6d2187733..3e7549943 100644
--- a/src/test/Makefile.in
+++ b/src/test/Makefile.in
@@ -1,7 +1,7 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2012-2015 Hercules Dev Team
+# Copyright (C) 2012-2016 Hercules Dev Team
# Copyright (C) Athena Dev Teams
#
# Hercules is free software: you can redistribute it and/or modify
@@ -23,7 +23,7 @@ CONFIG_D = ../config
CONFIG_H = $(wildcard $(CONFIG_D)/*.h) $(wildcard $(CONFIG_D)/*/*.h)
COMMON_D = ../common
-COMMON_H = $(wildcard $(COMMON_D)/*.h)
+COMMON_H = $(filter-out %.p.h, $(wildcard $(COMMON_D)/*.h))
SYSINFO_INC = $(COMMON_D)/sysinfo.inc
COMMON_INCLUDE = -I..
@@ -87,8 +87,8 @@ $(TESTS_ALL): test_%: ../../test_%@EXEEXT@
../../test_%@EXEEXT@: obj/test_%.o $(TEST_DEPENDS) Makefile
@echo " LD $(notdir $@)"
- @$(CC) @STATIC@ @LDFLAGS@ -o $@ $< $(COMMON_D)/obj_sql/common_sql.a \
- $(COMMON_D)/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
+ @$(CC) @STATIC@ @LDFLAGS@ -o $@ $< $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a \
+ $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
# object files
diff --git a/src/test/test_libconfig.c b/src/test/test_libconfig.c
index ff742af71..e1a767195 100644
--- a/src/test/test_libconfig.c
+++ b/src/test/test_libconfig.c
@@ -71,7 +71,7 @@ static const char *test_libconfig_defaults(void)
static const char *test_libconfig_init_destroy(void)
{
- config_t config;
+ struct config_t config;
libconfig->init(&config);
if (config.root == NULL || config.root != config_root_setting(&config)) {
return "Unable to create config.";
@@ -85,7 +85,9 @@ static const char *test_libconfig_init_destroy(void)
static const char *test_libconfig_read_file_src(void)
{
- config_t config;
+ struct config_t config;
+ libconfig->init(&config);
+
#define FILENAME "src/test/libconfig/test.conf"
if (libconfig->read_file_src(&config, FILENAME) == CONFIG_FALSE) {
libconfig->destroy(&config);
@@ -102,17 +104,21 @@ static const char *test_libconfig_read_file_src(void)
static const char *test_libconfig_read(void)
{
- config_t config;
+ struct config_t config;
#define FILENAME "src/test/libconfig/test.conf"
FILE *fp = fopen(FILENAME, "r");
if (!fp) {
return "File not found: '" FILENAME "'.";
}
+
+ libconfig->init(&config);
+
if (libconfig->read(&config, fp) == CONFIG_FALSE) {
fclose(fp);
libconfig->destroy(&config);
return "Unable to read from file '" FILENAME "'.";
}
+ fclose(fp);
#undef FILENAME
if (config.root == NULL) {
libconfig->destroy(&config);
@@ -122,11 +128,11 @@ static const char *test_libconfig_read(void)
return NULL;
}
-static const char *test_libconfig_read_file(void)
+static const char *test_libconfig_load_file(void)
{
- config_t config;
+ struct config_t config;
#define FILENAME "src/test/libconfig/test.conf"
- if (libconfig->read_file(&config, FILENAME) != 0) {
+ if (libconfig->load_file(&config, FILENAME) == CONFIG_FALSE) {
return "Unable to read file '" FILENAME "'.";
}
#undef FILENAME
@@ -140,19 +146,21 @@ static const char *test_libconfig_read_file(void)
static const char *test_libconfig_write(void)
{
- //void (*write) (const config_t *config, FILE *stream);
+ //void (*write) (const struct config_t *config, FILE *stream);
return "TEST NOT IMPLEMENTED";
}
static const char *test_libconfig_write_file(void)
{
- //int (*write_file) (config_t *config, const char *filename);
+ //int (*write_file) (struct config_t *config, const char *filename);
return "TEST NOT IMPLEMENTED";
}
static const char *test_libconfig_read_string(void)
{
- config_t config;
+ struct config_t config;
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, "") == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to read from string.";
@@ -167,7 +175,7 @@ static const char *test_libconfig_read_string(void)
static const char *test_libconfig_syntax(void)
{
- config_t config;
+ struct config_t config;
const char *input = "/* Test File */\n"
"Setting_Int: 1;\n"
"Setting_Int64: 1L;\n"
@@ -179,6 +187,8 @@ static const char *test_libconfig_syntax(void)
"Setting_List: ( );\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to read from string.";
@@ -193,14 +203,13 @@ static const char *test_libconfig_syntax(void)
static const char *test_libconfig_set_include_dir(void)
{
- //void (*set_include_dir) (config_t *config, const char *include_dir);
+ //void (*set_include_dir) (struct config_t *config, const char *include_dir);
return "TEST NOT IMPLEMENTED";
}
static const char *test_libconfig_lookup(void)
{
- config_t config;
- config_setting_t *t = NULL;
+ struct config_t config;
int32 i32;
int64 i64;
double f;
@@ -216,19 +225,21 @@ static const char *test_libconfig_lookup(void)
"Setting_List: ( );\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
}
- if ((t = libconfig->lookup(&config, "Setting_Int")) == NULL) {
+ if (libconfig->lookup(&config, "Setting_Int") == NULL) {
libconfig->destroy(&config);
return "libconfig->lookup failed.";
}
- if ((t = libconfig->lookup_from(config.root, "Setting_Int")) == NULL) {
+ if (libconfig->setting_lookup(config.root, "Setting_Int") == NULL) {
libconfig->destroy(&config);
- return "libconfig->lookup_from failed.";
+ return "libconfig->setting_lookup failed.";
}
if (libconfig->lookup_int(&config, "Setting_Int", &i32) == CONFIG_FALSE || i32 != 1) {
@@ -263,8 +274,8 @@ static const char *test_libconfig_lookup(void)
static const char *test_libconfig_setting_get(void)
{
- config_t config;
- config_setting_t *t = NULL;
+ struct config_t config;
+ struct config_setting_t *t = NULL;
double f;
const char *str;
const char *input = "/* Test File */\n"
@@ -278,6 +289,8 @@ static const char *test_libconfig_setting_get(void)
"Setting_List: ( );\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -366,17 +379,17 @@ static const char *test_libconfig_setting_get(void)
static const char *test_libconfig_set(void)
{
- //int (*setting_set_int) (config_setting_t *setting ,int value);
- //int (*setting_set_int64) (config_setting_t *setting, long long value);
- //int (*setting_set_float) (config_setting_t *setting, double value);
- //int (*setting_set_bool) (config_setting_t *setting, int value);
- //int (*setting_set_string) (config_setting_t *setting, const char *value);
+ //int (*setting_set_int) (struct config_setting_t *setting, int value);
+ //int (*setting_set_int64) (struct config_setting_t *setting, int64 value);
+ //int (*setting_set_float) (struct config_setting_t *setting, double value);
+ //int (*setting_set_bool) (struct config_setting_t *setting, int value);
+ //int (*setting_set_string) (struct config_setting_t *setting, const char *value);
return "TEST NOT IMPLEMENTED";
}
static const char *test_libconfig_setting_lookup(void)
{
- config_t config;
+ struct config_t config;
int32 i32;
int64 i64;
double f;
@@ -392,6 +405,8 @@ static const char *test_libconfig_setting_lookup(void)
"Setting_List: ( );\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -429,8 +444,8 @@ static const char *test_libconfig_setting_lookup(void)
static const char *test_libconfig_setting_types(void)
{
- config_t config;
- config_setting_t *t;
+ struct config_t config;
+ struct config_setting_t *t;
const char *input = "/* Test File */\n"
"Setting_Int: 1;\n"
"Setting_Int64: 1L;\n"
@@ -442,6 +457,8 @@ static const char *test_libconfig_setting_types(void)
"Setting_List: ( );\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -523,7 +540,7 @@ static const char *test_libconfig_setting_types(void)
static const char *test_libconfig_values(void)
{
- config_t config;
+ struct config_t config;
int32 i32;
int64 i64;
const char *input = "/* Test File */\n"
@@ -536,6 +553,8 @@ static const char *test_libconfig_values(void)
"Setting_IntSignedMax: 0x7fffffff;\n"
"/* End test file */\n";
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -583,7 +602,7 @@ static const char *test_libconfig_values(void)
static const char *test_libconfig_path_lookup(void)
{
- config_t config;
+ struct config_t config;
int32 i32;
const char *input = "/* Test File */\n"
"Setting_Array: [1, 2, 3];\n"
@@ -599,6 +618,9 @@ static const char *test_libconfig_path_lookup(void)
" 10,\n"
");\n"
"/* End test file */\n";
+
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -666,31 +688,37 @@ static const char *test_libconfig_path_lookup(void)
static const char *test_libconfig_setting_names(void)
{
- config_t config;
+ struct config_t config;
int32 i32;
const char *input = "/* Test File */\n"
- "Setting'with'apostrophes: 1;\n"
+ "1st_setting_with_numbers: 1;\n"
"Setting.with.periods: 2;\n"
"Setting: {\n"
" with: {\n"
" periods: 3;\n"
+ " 2nested: {\n"
+ " numbers1: 4;\n"
+ " };\n"
" };\n"
" nested: {\n"
" in: {\n"
- " groups: 4;\n"
+ " groups: 5;\n"
" };\n"
" };\n"
"};\n"
- "1st_setting_with_numbers: 5;\n"
+ "Setting_with_2_numbers_000: 6;\n"
"/* End test file */\n";
+
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
}
- if (libconfig->lookup_int(&config, "Setting'with'apostrophes", &i32) == CONFIG_FALSE || i32 != 1) {
+ if (libconfig->lookup_int(&config, "1st_setting_with_numbers", &i32) == CONFIG_FALSE || i32 != 1) {
libconfig->destroy(&config);
- return "Setting'with'apostrophes failed.";
+ return "1st_setting_with_numbers failed.";
}
if (libconfig->lookup_int(&config, "Setting.with.periods", &i32) == CONFIG_FALSE || i32 != 2) {
@@ -703,19 +731,24 @@ static const char *test_libconfig_setting_names(void)
return "Setting:with:periods failed.";
}
- if (libconfig->lookup_int(&config, "Setting:nested:in:groups", &i32) == CONFIG_FALSE || i32 != 4) {
+ if (libconfig->lookup_int(&config, "Setting/with/2nested/numbers1", &i32) == CONFIG_FALSE || i32 != 4) {
+ libconfig->destroy(&config);
+ return "Setting/with/2nested/numbers1 failed.";
+ }
+
+ if (libconfig->lookup_int(&config, "Setting:nested:in:groups", &i32) == CONFIG_FALSE || i32 != 5) {
libconfig->destroy(&config);
return "Setting:nested:in:groups failed.";
}
- if (libconfig->lookup_int(&config, "Setting/nested/in/groups", &i32) == CONFIG_FALSE || i32 != 4) {
+ if (libconfig->lookup_int(&config, "Setting/nested/in/groups", &i32) == CONFIG_FALSE || i32 != 5) {
libconfig->destroy(&config);
return "Setting/nested/in/groups failed.";
}
- if (libconfig->lookup_int(&config, "1st_setting_with_numbers", &i32) == CONFIG_FALSE || i32 != 5) {
+ if (libconfig->lookup_int(&config, "Setting_with_2_numbers_000", &i32) == CONFIG_FALSE || i32 != 6) {
libconfig->destroy(&config);
- return "1st_setting_with_numbers failed.";
+ return "Setting_with_2_numbers_000 failed.";
}
libconfig->destroy(&config);
@@ -724,9 +757,9 @@ static const char *test_libconfig_setting_names(void)
static const char *test_libconfig_duplicate_keys(void)
{
- config_t config;
+ struct config_t config;
int32 i32;
- config_setting_t *t, *tt;
+ struct config_setting_t *t, *tt;
int i = 0;
const char *input = "/* Test File */\n"
"Setting_Group: {\n"
@@ -736,6 +769,9 @@ static const char *test_libconfig_duplicate_keys(void)
" Duplicate: 4;\n"
"};\n"
"/* End test file */\n";
+
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -775,11 +811,14 @@ static const char *test_libconfig_duplicate_keys(void)
static const char *test_libconfig_special_string_syntax(void)
{
- config_t config;
+ struct config_t config;
const char *str;
const char *input = "/* Test File */\n"
"SpecialString: <\"This is an \"Item_Script\" Special String\n\tWith a line-break inside.\">;\n"
"/* End test file */\n";
+
+ libconfig->init(&config);
+
if (libconfig->read_string(&config, input) == CONFIG_FALSE) {
libconfig->destroy(&config);
return "Unable to parse configuration.";
@@ -809,33 +848,33 @@ int do_init(int argc, char **argv)
TEST("libconfig->init and libconfig->destroy", test_libconfig_init_destroy);
TEST("libconfig->read_file_src", test_libconfig_read_file_src);
TEST("libconfig->read", test_libconfig_read);
- TEST("libconfig->read_file", test_libconfig_read_file);
+ TEST("libconfig->load_file", test_libconfig_load_file);
(void)test_libconfig_write; //TEST("libconfig->write", test_libconfig_write);
(void)test_libconfig_write_file; //TEST("libconfig->write_file", test_libconfig_write_file);
TEST("libconfig->read_string", test_libconfig_read_string);
TEST("libconfig syntax", test_libconfig_syntax);
(void)test_libconfig_set_include_dir; //TEST("libconfig->set_include_dir", test_libconfig_set_include_dir);
- //int (*setting_set_format) (config_setting_t *setting, short format);
- //short (*setting_get_format) (const config_setting_t *setting);
- //config_setting_t * (*setting_set_int_elem) (config_setting_t *setting, int idx, int value);
- //config_setting_t * (*setting_set_int64_elem) (config_setting_t *setting, int idx, long long value);
- //config_setting_t * (*setting_set_float_elem) (config_setting_t *setting, int idx, double value);
- //config_setting_t * (*setting_set_bool_elem) (config_setting_t *setting, int idx, int value);
- //config_setting_t * (*setting_set_string_elem) (config_setting_t *setting, int idx, const char *value);
- //config_setting_t * (*setting_add) (config_setting_t *parent, const char *name, int type);
- //int (*setting_remove) (config_setting_t *parent, const char *name);
- //int (*setting_remove_elem) (config_setting_t *parent, unsigned int idx);
- //void (*setting_set_hook) (config_setting_t *setting, void *hook);
- //void (*set_destructor) (config_t *config, void (*destructor)(void *));
+ //int (*setting_set_format) (struct config_setting_t *setting, short format);
+ //short (*setting_get_format) (const struct config_setting_t *setting);
+ //struct config_setting_t * (*setting_set_int_elem) (struct config_setting_t *setting, int idx, int value);
+ //struct config_setting_t * (*setting_set_int64_elem) (struct config_setting_t *setting, int idx, int64 value);
+ //struct config_setting_t * (*setting_set_float_elem) (struct config_setting_t *setting, int idx, double value);
+ //struct config_setting_t * (*setting_set_bool_elem) (struct config_setting_t *setting, int idx, int value);
+ //struct config_setting_t * (*setting_set_string_elem) (struct config_setting_t *setting, int idx, const char *value);
+ //struct config_setting_t * (*setting_add) (struct config_setting_t *parent, const char *name, int type);
+ //int (*setting_remove) (struct config_setting_t *parent, const char *name);
+ //int (*setting_remove_elem) (struct config_setting_t *parent, unsigned int idx);
+ //void (*setting_set_hook) (struct config_setting_t *setting, void *hook);
+ //void (*set_destructor) (struct config_t *config, void (*destructor)(void *));
TEST("libconfig->lookup_*", test_libconfig_lookup);
TEST("libconfig->setting_get_*", test_libconfig_setting_get);
(void)test_libconfig_set; //TEST("libconfig->setting_set_*", test_libconfig_setting_set);
TEST("libconfig->setting_lookup_*", test_libconfig_setting_lookup);
TEST("setting types", test_libconfig_setting_types);
- //void (*setting_copy_simple) (config_setting_t *parent, const config_setting_t *src);
- //void (*setting_copy_elem) (config_setting_t *parent, const config_setting_t *src);
- //void (*setting_copy_aggregate) (config_setting_t *parent, const config_setting_t *src);
- //int (*setting_copy) (config_setting_t *parent, const config_setting_t *src);
+ //void (*setting_copy_simple) (struct config_setting_t *parent, const struct config_setting_t *src);
+ //void (*setting_copy_elem) (struct config_setting_t *parent, const struct config_setting_t *src);
+ //void (*setting_copy_aggregate) (struct config_setting_t *parent, const struct config_setting_t *src);
+ //int (*setting_copy) (struct config_setting_t *parent, const struct config_setting_t *src);
TEST("values", test_libconfig_values);
TEST("path lookup", test_libconfig_path_lookup);
TEST("setting key names", test_libconfig_setting_names);
diff --git a/src/test/test_spinlock.c b/src/test/test_spinlock.c
index 38186a975..1c0390d66 100644
--- a/src/test/test_spinlock.c
+++ b/src/test/test_spinlock.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2015 Hercules Dev Team
+ * Copyright (C) 2012-2016 Hercules Dev Team
* Copyright (C) Athena Dev Teams
*
* Hercules is free software: you can redistribute it and/or modify
@@ -38,7 +38,7 @@
#define PERINC 100000
#define LOOPS 47
-static SPIN_LOCK lock;
+static struct spin_lock lock;
static unsigned int val = 0;
static volatile int32 done_threads = 0;
@@ -60,13 +60,14 @@ static void *worker(void *p){
return NULL;
}//end: worker()
-int do_init(int argc, char **argv){
- rAthread *t[THRC];
+int do_init(int argc, char **argv)
+{
+ struct thread_handle *t[THRC];
int j, i;
int ok;
ShowStatus("==========\n");
- ShowStatus("TEST: %u Runs, (%u Threads)\n", LOOPS, THRC);
+ ShowStatus("TEST: %d Runs, (%d Threads)\n", LOOPS, THRC);
ShowStatus("This can take a while\n");
ShowStatus("\n\n");
@@ -78,35 +79,35 @@ int do_init(int argc, char **argv){
InitializeSpinLock(&lock);
for(i =0; i < THRC; i++){
- t[i] = rathread_createEx( worker, NULL, 1024*512, RAT_PRIO_NORMAL);
+ t[i] = thread->create_opt(worker, NULL, 1024*512, THREADPRIO_NORMAL);
}
+ (void)t;
while(1){
if(InterlockedCompareExchange(&done_threads, THRC, THRC) == THRC)
break;
- rathread_yield();
+ thread->yield();
}
FinalizeSpinLock(&lock);
// Everything fine?
if (val != (THRC*PERINC)) {
- printf("FAILED! (Result: %u, Expected: %u)\n", val, (THRC*PERINC));
+ printf("FAILED! (Result: %u, Expected: %d)\n", val, (THRC*PERINC));
} else {
- printf("OK! (Result: %u, Expected: %u)\n", val, (THRC*PERINC));
+ printf("OK! (Result: %u, Expected: %d)\n", val, (THRC*PERINC));
ok++;
}
}
- if(ok != LOOPS){
+ if (ok != LOOPS) {
ShowFatalError("Test failed.\n");
exit(1);
- }else{
- ShowStatus("Test passed.\n");
- exit(0);
}
- return 0;
+
+ core->runflag = CORE_ST_STOP;
+ return EXIT_SUCCESS;
}//end: do_init()
void do_abort(void) {
@@ -117,6 +118,8 @@ void set_server_type(void) {
}//end: set_server_type()
int do_final(void) {
+ ShowStatus("Test passed.\n");
+
return EXIT_SUCCESS;
}//end: do_final()