Пример #1
0
/*
	$4762 (02.07.2015)
	$4747 (using getHeaderAddr and initHeader)
	$40c2 (compiled with -Or)
	$3885 (-or switch also on CuString and CuTest)
	$383f (no register vars)
	$3854 (using getDataAddr)
*/

int main(void){
    int Nofails;

    CuSuite_t* suite = NULL; //
    suite = CuAlloc_requestEarlyTests();
    CuSuiteRun(suite);
    CuSuiteDetails(suite, stdout);
    Nofails = CuSuiteGetFailcount(suite);
    CuSuiteDelete(suite);
    if (Nofails) return Nofails;

    printf("Registering tests...\n");
    printf("Alloc Count before SuiteNew:%u %u %u\n", CuAlloc_getAllocCount(), CuAlloc_getFreeCount(), CuAlloc_getReallocCount());
    suite = CuAlloc_requestTests();
    printf("Alloc Count after request tests:%u %u %u\n", CuAlloc_getAllocCount(), CuAlloc_getFreeCount(), CuAlloc_getReallocCount());assert(NULL != suite);
    printf("Running tests...\n");
    CuSuiteRun(suite);//This function does not return!
    CuSuiteDetails(suite, stdout);
    printf("Alloc Count after SuiteRun:%u %u %u\n", CuAlloc_getAllocCount(), CuAlloc_getFreeCount(), CuAlloc_getReallocCount());
 	printf("End testing\n");
 	Nofails = CuSuiteGetFailcount(suite);

	CuSuiteDelete(suite);
	printf("Alloc Count after SuiteDelete:%u %u %u\n", CuAlloc_getAllocCount(), CuAlloc_getFreeCount(), CuAlloc_getReallocCount());

	assert (0 == CuAlloc_getPendingFrees());

	assert (0 == CuAlloc_getPendingFrees());
/*
#ifdef __CC65__
	printf("CuAlloc total size: $%x", getCuAllocMemSize());
	#endif // __CC65__
*/
	return Nofails;
Пример #2
0
void RunAllTests(void)
{
    LOGD("RunAllTests() Entered!\n");
	CuString *output = CuStringNew();//Êä³ö½á¹¹Ìå
	CuSuite* suite = CuSuiteNew();//²âÊÔ×é¾ä±ú
	CuSuite* suite_test = NULL;//²âÊÔ×é¾ä±ú

	//Ôö¼ÓµÄ²âÊÔ×é
	printf("Step1\n");
	suite_test = CuGetSuite();
	CuSuiteRobSuite(suite, suite_test);
	CuSuiteDelete(suite_test);
	printf("Step2\n");
	suite_test = CuStringGetSuite();
	CuSuiteRobSuite(suite, suite_test);
	CuSuiteDelete(suite_test);
	printf("Step3\n");
	CuSuiteRun(suite);
	printf("Step4\n");
	CuSuiteSummary(suite, output);
	printf("Step5\n");
	CuSuiteDetails(suite, output);
	printf("%s\n", output->buffer);
	
	CuSuiteDelete(suite);
	CuStringDelete(output);
}
Пример #3
0
void runAllTests(void)
{
	CuString *output = CuStringNew();
	CuSuite* suite = CuSuiteNew();
	
	/* Create suites from other tests. */
	//CuSuite *agg_suite = DBAggregateGetSuite();
	CuSuite *dbqmm_suite = DBQueryMMGetSuite();
	CuSuite *lex_suite = LexerGetSuite();
	CuSuite *dbparseexpr_suite = DBParseExprGetSuite();
	CuSuite *eet_suite = DBEETGetSuite();
	CuSuite *ntjoin_suite = DBNTJoinGetSuite();
	CuSuite *osijoin_suite = DBOSIJoinGetSuite();
	CuSuite *project_suite = DBProjectGetSuite();
	CuSuite *scan_suite = DBScanGetSuite();
	CuSuite *select_suite = DBSelectGetSuite();
	CuSuite *sort_suite = DBSortGetSuite();
	
	//CuSuiteAddSuite(suite, agg_suite);
	CuSuiteAddSuite(suite, dbqmm_suite);
	CuSuiteAddSuite(suite, lex_suite);
	CuSuiteAddSuite(suite, dbparseexpr_suite);
	CuSuiteAddSuite(suite, eet_suite);
	CuSuiteAddSuite(suite, ntjoin_suite);
	CuSuiteAddSuite(suite, osijoin_suite);
	CuSuiteAddSuite(suite, project_suite);
	CuSuiteAddSuite(suite, scan_suite);
	CuSuiteAddSuite(suite, select_suite);
	CuSuiteAddSuite(suite, sort_suite);
	
	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	printf("%s\n", output->buffer);
	
	//CuSuiteDelete(agg_suite);
	CuSuiteDelete(dbqmm_suite);
	CuSuiteDelete(lex_suite);
	CuSuiteDelete(dbparseexpr_suite);
	CuSuiteDelete(eet_suite);
	CuSuiteDelete(ntjoin_suite);
	CuSuiteDelete(osijoin_suite);
	CuSuiteDelete(project_suite);
	CuSuiteDelete(scan_suite);
	CuSuiteDelete(select_suite);
	CuSuiteDelete(sort_suite);
	free(suite);
	CuStringDelete(output);
}
Пример #4
0
int main() {
    CuSuite *suites[] = {
        strtrim_get_cusuite(),
        strrpl_get_cusuite(),
        iv_parse_config_get_cusuite(),
        iv_parse_index_get_cusuite(),
        iv_parse_series_get_cusuite(),
        iv_parse_auth_get_cusuite(),
        iv_parse_categories_get_cusuite(),
    };
    CuString *output = CuStringNew();
    CuSuite *suite = CuSuiteNew();
    unsigned int i;
    for(i=0; i<SUITE_COUNT(suites); i++) {
        if(suites[i]) { CuSuiteAddSuite(suite, suites[i]); }
        /* Hack for CuTest odditiy - CuSuiteAddSuite() implementation copies
         * tests attached to suites[i] into suite and doesn't internally free
         * suites[i]. Documentation doesn't mention anything about this. */
        free(suites[i]);
    }
    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    printf("%s\n", output->buffer);
    CuSuiteDelete(suite);
    CuStringDelete(output);
    return 0;
}
void RunAllTests(void) 
{
    CuString *output = CuStringNew();
    CuSuite* suite = CuSuiteNew();


    SUITE_ADD_TEST(suite, Test_find_decoded_line_length_b4_should_be_four);
    SUITE_ADD_TEST(suite, Test_find_decoded_line_length_b1000_should_be_one_thousand);
    SUITE_ADD_TEST(suite, Test_find_decoded_line_length_b502_should_be_502);
    SUITE_ADD_TEST(suite, Test_string_of_encode);
    SUITE_ADD_TEST(suite, Test_string_of_encode_with_all_the_same_character);
    SUITE_ADD_TEST(suite, Test_string_of_encode_with_a_large_number_of_characters);
    SUITE_ADD_TEST(suite, Test_string_of_encode_with_single_occurrence_characters);
    SUITE_ADD_TEST(suite, Test_same_character_string_of_decode);
    SUITE_ADD_TEST(suite, Test_multicharacter_string_of_decode);
    SUITE_ADD_TEST(suite, Test_140character_string_of_decode);
    SUITE_ADD_TEST(suite, Test_1character_occurrences_string_of_decode);

    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    printf("%s\n", output->buffer);
    CuStringDelete(output);
    CuSuiteDelete(suite);
}
Пример #6
0
int RunPreOpenSetterAndGetterTests(CuString *output)
{
	CuSuite *suite = CuSuiteNew("TestPreOpenSetterAndGetter",
	    TestPreOpenSetterAndGetterSuiteSetup, 
	    TestPreOpenSetterAndGetterSuiteTeardown);
	int count;

	SUITE_ADD_TEST(suite, TestEnvPreOpenSetterAndGetter,
	    TestPreOpenSetterAndGetterTestSetup, 
	    TestPreOpenSetterAndGetterTestTeardown);
	SUITE_ADD_TEST(suite, TestDbPreOpenSetterAndGetter,
	    TestPreOpenSetterAndGetterTestSetup, 
	    TestPreOpenSetterAndGetterTestTeardown);
	SUITE_ADD_TEST(suite, TestMpoolFilePreOpenSetterAndGetter,
	    TestPreOpenSetterAndGetterTestSetup, 
	    TestPreOpenSetterAndGetterTestTeardown);
	SUITE_ADD_TEST(suite, TestSequencePreOpenSetterAndGetter,
	    TestPreOpenSetterAndGetterTestSetup, 
	    TestPreOpenSetterAndGetterTestTeardown);

	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	count = suite->failCount;
	CuSuiteDelete(suite);
	return (count);
}
Пример #7
0
int RunPartitionTests(CuString *output)
{
	CuSuite *suite = CuSuiteNew("TestPartition",
	    TestPartitionSuiteSetup, TestPartitionSuiteTeardown);
	int count;

	SUITE_ADD_TEST(suite, TestPartOneKeyNoData,
	    TestPartitionTestSetup, TestPartitionTestTeardown);
	SUITE_ADD_TEST(suite, TestPartTwoKeyNoData,
	    TestPartitionTestSetup, TestPartitionTestTeardown);
	SUITE_ADD_TEST(suite, TestPartDuplicatedKey,
	    TestPartitionTestSetup, TestPartitionTestTeardown);
	SUITE_ADD_TEST(suite, TestPartUnsortedKey,
	    TestPartitionTestSetup, TestPartitionTestTeardown);
	SUITE_ADD_TEST(suite, TestPartNumber,
	    TestPartitionTestSetup, TestPartitionTestTeardown);
	SUITE_ADD_TEST(suite, TestPartKeyCallBothSet,
	    TestPartitionTestSetup, TestPartitionTestTeardown);
	SUITE_ADD_TEST(suite, TestPartKeyCallNeitherSet,
	    TestPartitionTestSetup, TestPartitionTestTeardown);

	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	count = suite->failCount;
	CuSuiteDelete(suite);
	return (count);
}
Пример #8
0
int
main (void)
{
    CuString *output = CuStringNew ();
    CuSuite* suite = CuSuiteNew ();
    int ret;

    _p11_mutex_init (&race_mutex);
    mock_module_init ();
    _p11_library_init ();

#ifdef OS_UNIX
    SUITE_ADD_TEST (suite, test_fork_initialization);
#endif

    SUITE_ADD_TEST (suite, test_recursive_initialization);
    SUITE_ADD_TEST (suite, test_threaded_initialization);

    CuSuiteRun (suite);
    CuSuiteSummary (suite, output);
    CuSuiteDetails (suite, output);
    printf ("%s\n", output->buffer);
    ret = suite->failCount;
    CuSuiteDelete (suite);
    CuStringDelete (output);

    return ret;
}
Пример #9
0
int RunDbHotBackupTests(CuString *output)
{
	CuSuite *suite = CuSuiteNew("TestDbHotBackup",
	    TestDbHotBackupSuiteSetup, TestDbHotBackupSuiteTeardown);
	int count;

	SUITE_ADD_TEST(suite, TestBackupSimpleEnvNoCallback,
	    TestDbHotBackupTestSetup, TestDbHotBackupTestTeardown);
	SUITE_ADD_TEST(suite, TestBackupSimpleEnvWithCallback,
	    TestDbHotBackupTestSetup, TestDbHotBackupTestTeardown);
	SUITE_ADD_TEST(suite, TestBackupSimpleEnvWithConfig,
	    TestDbHotBackupTestSetup, TestDbHotBackupTestTeardown);
	SUITE_ADD_TEST(suite, TestBackupPartitionDB,
	    TestDbHotBackupTestSetup, TestDbHotBackupTestTeardown);
	SUITE_ADD_TEST(suite, TestBackupMultiDataDir,
	    TestDbHotBackupTestSetup, TestDbHotBackupTestTeardown);
	SUITE_ADD_TEST(suite, TestBackupSetLogDir,
	    TestDbHotBackupTestSetup, TestDbHotBackupTestTeardown);
	SUITE_ADD_TEST(suite, TestBackupQueueDB,
	    TestDbHotBackupTestSetup, TestDbHotBackupTestTeardown);
	SUITE_ADD_TEST(suite, TestBackupHeapDB,
	    TestDbHotBackupTestSetup, TestDbHotBackupTestTeardown);

	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	count = suite->failCount;
	CuSuiteDelete(suite);
	return (count);
}
Пример #10
0
void RunAllTests(void)
{
    CuString *output = CuStringNew();
    CuSuite* suite = CuSuiteNew();


    SUITE_ADD_TEST(suite, TestInitLL);
    SUITE_ADD_TEST(suite, TestLengthLL);
    SUITE_ADD_TEST(suite, TestInsertLLIncreasesLength);
    SUITE_ADD_TEST(suite, TestInsertLLInserts);
    SUITE_ADD_TEST(suite, TestCountLL);
    SUITE_ADD_TEST(suite, TestIndexLL);
    SUITE_ADD_TEST(suite, TestRemoveLL);
    SUITE_ADD_TEST(suite, TestExtendLL);
    SUITE_ADD_TEST(suite, TestLookup);
    SUITE_ADD_TEST(suite, TestLookup2);
    SUITE_ADD_TEST(suite, TestLookup3);

    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    printf("%s\n", output->buffer);
    CuStringDelete(output);
    CuSuiteDelete(suite);
}
Пример #11
0
void CuSuiteMoveSuite(CuSuite* testSuite, CuSuite* testSuite2)
{
    int i;
    for (i = 0 ; i < testSuite2->count ; ++i)
    {
        CuTest* testCase = testSuite2->list[i];
        CuSuiteAdd(testSuite, testCase);
        testSuite2->list[i] = NULL;
    }
    CuSuiteDelete(testSuite2);
}
Пример #12
0
void runAllTests_dbparseexpr(void)
{
	CuString *output = CuStringNew();
	CuSuite *suite = DBParseExprGetSuite();
	
	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	printf("%s\n", output->buffer);
	
	CuSuiteDelete(suite);
	CuStringDelete(output);
}
Пример #13
0
void runTests()
{
    srand(0);
    CuSuite* suite = CuSuiteNew();
    CuString* output = CuStringNew();
    addTests(suite);
    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    printf("%s\n", output->buffer);
    CuSuiteDelete(suite);
    CuStringDelete(output);
}
Пример #14
0
void runAllTests_sort()
{
	CuString *output = CuStringNew();
	CuSuite* suite = DBSortGetSuite();
	
	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	printf("%s\n", output->buffer);
	
	CuSuiteDelete(suite);
	CuStringDelete(output);
}
void RunAllTests(void) {
    CuString *output = CuStringNew();
    CuSuite *suite = CuGetSuite();

    //Run the tests!
    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    printf("%s\n", output->buffer);
    
    //Clean up.
    CuStringDelete(output);
    CuSuiteDelete(suite);
}
Пример #16
0
void RunAllTests(void)
{
	//obtain tests of independent functions
	CuSuite_t* suite = GetSuite(CuStringGetSuite1);//CuSuiteNew();

	//*********************************
	//*** Test CuTestString			***
	//*********************************
		 //assert initialization of suite

    //run tests of independent functions
    printf("*** Running tests of independent functions...\n\n");
	if (testRunner(suite)){
        exit(-1);
	};

	CuSuiteDelete(suite);

	printf("*** Running tests of single dependent functions...\n\n");
	//obtain tests of dependent functions
	suite = GetSuite(CuStringGetSuite2);
    if (testRunner(suite)){
        exit(-1);
	};

    CuSuiteDelete(suite);

	printf("*** Running tests of multiple dependent functions...\n\n");
	//obtain tests of dependent functions
	suite = GetSuite(CuStringGetSuite3);
    if (testRunner(suite)){
        exit(-1);
	};

	CuSuiteDelete(suite);
Пример #17
0
void run_all_tests(void){
	
	CuString *output = CuStringNew();
	CuSuite *suite = CuSuiteNew();

	CuSuiteAddSuite(suite, TestHashLib());
        
	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	printf("%s\n", output->buffer);

	CuStringDelete(output);
	CuSuiteDelete(suite);
}
Пример #18
0
int RunEnvMethodTests(CuString *output)
{
	CuSuite *suite = CuSuiteNew("TestEnvMethod",
	    NULL, NULL);
	int count;

	SUITE_ADD_TEST(suite, TestSetThreadCount,
	    NULL, NULL); /* SKIP */

	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	count = suite->failCount;
	CuSuiteDelete(suite);
	return (count);
}
Пример #19
0
int RunKeyExistErrorReturnTests(CuString *output)
{
	CuSuite *suite = CuSuiteNew("TestKeyExistErrorReturn",
	    NULL, NULL);
	int count;

	SUITE_ADD_TEST(suite, TestKeyExistErrorReturn,
	    NULL, NULL);

	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	count = suite->failCount;
	CuSuiteDelete(suite);
	return (count);
}
Пример #20
0
int RunChannelTests(CuString *output)
{
	CuSuite *suite = CuSuiteNew("TestChannel",
	    TestChannelSuiteSetup, TestChannelSuiteTeardown);
	int count;

	SUITE_ADD_TEST(suite, TestChannelFeature,
	    TestChannelTestSetup, TestChannelTestTeardown);

	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	count = suite->failCount;
	CuSuiteDelete(suite);
	return (count);
}
Пример #21
0
void RunAllTests()
{
    platform_semaphore_init(&sub_sem);

	CuString *output = CuStringNew();
    CuSuite* suite = CuGetSuite();

	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
    platform_printf("%s\n", output->buffer);
    CuStringDelete(output);
    CuSuiteDelete(suite);

    platform_semaphore_deinit(&sub_sem);
}
Пример #22
0
int RunMutexAlignmentTests(CuString *output)
{
	CuSuite *suite = CuSuiteNew("TestMutexAlignment",
	    NULL, NULL);
	int count;

	SUITE_ADD_TEST(suite, TestMutexAlignment,
	    NULL, NULL);

	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	count = suite->failCount;
	CuSuiteDelete(suite);
	return (count);
}
Пример #23
0
int RunDbTunerTests(CuString *output)
{
	CuSuite *suite = CuSuiteNew("TestDbTuner",
	    NULL, NULL);
	int count;

	SUITE_ADD_TEST(suite, TestDbTuner,
	    NULL, NULL);

	CuSuiteRun(suite);
	CuSuiteSummary(suite, output);
	CuSuiteDetails(suite, output);
	count = suite->failCount;
	CuSuiteDelete(suite);
	return (count);
}
Пример #24
0
int include_RunAllTests(void) {
    CuString *output = CuStringNew();
    CuSuite *suite = CuSuiteNew();
    CuSuite *common_s = common_TestSuite();
    CuSuite *maf_s = mafShared_TestSuite();
    CuSuiteAddSuite(suite, common_s);
    CuSuiteAddSuite(suite, maf_s);
    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    printf("%s\n", output->buffer);
    CuStringDelete(output);
    int status = (suite->failCount > 0);
    free(common_s);
    free(maf_s);
    CuSuiteDelete(suite);
    return status;
}
Пример #25
0
int main(void)
{
    int result;
    CuString *output = CuStringNew();
    CuSuite *suite = CuSuiteNew();


    add_suite_quicklist(suite);

    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    result = suite->failCount;
    printf("%s\n", output->buffer);
    CuSuiteDelete(suite);
    CuStringDelete(output);
    return result;
}
void RunAllTests(void) {
    
    printf("Running Test Suite: lib_stringmanip\n");

    CuString * output = CuStringNew();
    CuSuite * suite = CuSuiteNew();
    
    CuSuite * st = StringUtilGetSuite();
    CuSuiteAddSuite(suite, st);
    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    printf("%s \n", output->buffer);
    
    CuSuiteDelete(st);
    CuStringDelete(output);
    free(suite);
}
void RunAllTests(void) {

    printf("Running Test Suite: lib_clinalg\n");

    CuString * output = CuStringNew();
    CuSuite * suite = CuSuiteNew();

    CuSuite * clin = CLinalgSuite();
    CuSuiteAddSuite(suite, clin);
    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    printf("%s \n", output->buffer);

    CuSuiteDelete(clin);
    CuStringDelete(output);
    free(suite);
}
void RunAllTests(void) {
    
    printf("Running Test Suite: lib_tensor\n");

    CuString * output = CuStringNew();
    CuSuite * suite = CuSuiteNew();
    
    CuSuite * tensor = TensorGetSuite();
    CuSuiteAddSuite(suite, tensor);
    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    printf("%s \n", output->buffer);
    
    CuSuiteDelete(tensor);
    CuStringDelete(output);
    free(suite);
   
}
Пример #29
0
void RunAllTests(void)
{
    CuString *output = CuStringNew();
    CuSuite* suite = CuSuiteNew();

    CuSuiteAddSuite(suite, CuGetSuite());
    CuSuiteAddSuite(suite, CuGetBlockSuite());
    CuSuiteAddSuite(suite, CuGetDCTSuite());
    CuSuiteAddSuite(suite, CuGetImageSuite());
    CuSuiteAddSuite(suite, CuGetStackSuite());
    CuSuiteAddSuite(suite, CuGetNodeSuite());
    CuSuiteAddSuite(suite, CuGetHuffmanSuite());

    CuSuiteRun(suite);
    CuSuiteSummary(suite, output);
    CuSuiteDetails(suite, output);
    printf("%s\n", output->buffer);
    CuSuiteDelete(suite);
}
bool CuSuiteDelete (CuSuite_t *testSuite) {
    if (testSuite) {
        CuSize_t n = testSuite->totalcount;
        bool freereturn;
        CuTestOrSuitePtr_t *testlist = testSuite->testlist;

        //assert (NULL != testSuite);
        printf ("Removing testcases:\n");

        //n may be 0 but then the loop is not executed
        for (; n > 0; --n) {
            //We start with n=n_max and proceed to n=1. therefore index with n-1
            //We can assume here that n>0
            register CuTestOrSuitePtr_t *test = &testlist[n - 1];

            if (NULL != test->test) {
                if (test->isSuite) {
                    CuSuiteDelete (test->suite);
                }
                else {
                    printf ("%s\n", CuStringCStr (test->test->name) );
                    CuTestDelete (test->test);
                    //assert (NULL != testSuite->list);
                    //free(testSuite->list);
                }
            }
        }


        freereturn = CuFree (testlist);
        assert (freereturn);
        freereturn = CuReportDestroy (testSuite->report);
        assert (freereturn);
        freereturn = CuStringDelete (testSuite->name);
        assert (freereturn);
        freereturn = CuFree (testSuite);
        assert (freereturn);
        return EXIT_SUCCESS;
    }

    return EXIT_FAILURE;
}