-utc_eina_counter_new.c
-utc_eina_counter_start.c
-utc_eina_counter_dump.c
-utc_eina_counter_free.c
-utc_eina_counter_stop.c
+utc_eina_counter.c
-utc_eina_counter_new.c
-utc_eina_counter_start.c
-utc_eina_counter_dump.c
-utc_eina_counter_free.c
-utc_eina_counter_stop.c
+utc_eina_counter.c
-utc_eina_counter_new.c
-utc_eina_counter_start.c
-utc_eina_counter_dump.c
-utc_eina_counter_free.c
-utc_eina_counter_stop.c
+utc_eina_counter.c
-utc_eina_counter_new.c
-utc_eina_counter_start.c
-utc_eina_counter_dump.c
-utc_eina_counter_free.c
-utc_eina_counter_stop.c
+utc_eina_counter.c
--- /dev/null
+#include <check.h>
+#include <Eina.h>
+
+/**
+ * @addtogroup eina
+ * @{
+ * @defgroup eina_counter
+ *
+ *
+ * @precondition
+ * @step 1 Initialize eina library with eina_init()
+ */
+static void
+setup(void)
+{
+ printf(" ============ Startup ============ \n");
+ eina_init();
+}
+
+static void
+teardown(void)
+{
+ printf(" ============ Cleanup ============ \n");
+ eina_shutdown();
+}
+
+/**
+ * @addtogroup eina_counter
+ * @{
+ * @defgroup eina_counter_pack_p
+ * @li eina_counter_new()
+ * @li eina_counter_start()
+ * @li eina_counter_stop()
+ * @li eina_counter_dump()
+ * @li eina_counter_free()
+ *
+ * @{
+ * @objective Positive test case checks if function dumps result of clocks of the counter properly.
+ *
+ * @procedure
+ * @step 1 Create new counter by call eina_counter_new().
+ * @step 2 Start the time count by call eina_counter_start().
+ * @step 3 Dump the result of clocks of the counter to ensure that returned string doesn't contain
+ * substring "1000" that is supposed to be there after counter stopping.
+ * @step 4 Call eina_counter_stop() and pass 1000 as number of the test.
+ * @step 5 Dump the result and check if dump string contains substrings "1000".
+ * @step 6 Start the time count.
+ * @step 7 Stop the time count and pass 2000 as number of the test.
+ * @step 8 Start the time count.
+ * @step 9 Stop the time count and pass 3000 as number of the test.
+ * @step 10 Dump the result of clocks of the counter by call eina_counter_dump().
+ * @step 11 Check if dump string contains substrings "1000", "2000" and "3000" - passed numbers of the tests
+ * due to example in the documentation dump string should contain them.
+ * @step 12 Call eina_counter_free().
+ *
+ * @passcondition Returned dump string contains all expected values.
+ * @}
+ * @}
+ */
+START_TEST(utc_eina_counter_pack_p)
+{
+ Eina_Counter *counter = eina_counter_new("test");
+ if (!counter)
+ {
+ ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed.. Eina_Counter is not created..", __FILE__, __LINE__);
+ }
+
+ eina_counter_start(counter);
+ char *dump = eina_counter_dump(counter);
+ if (dump && strstr(dump, "1000"))
+ {
+ ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed..", __FILE__, __LINE__);
+ }
+
+ eina_counter_stop(counter, 1000);
+ dump = eina_counter_dump(counter);
+ if (!dump || !strstr(dump, "1000"))
+ {
+ ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed..", __FILE__, __LINE__);
+ }
+ free(dump);
+
+ eina_counter_start(counter);
+ eina_counter_stop(counter, 2000);
+ eina_counter_start(counter);
+ eina_counter_stop(counter, 3000);
+ dump = eina_counter_dump(counter);
+ if (!dump || !strstr(dump, "1000") || !strstr(dump, "2000") || !strstr(dump, "3000"))
+ {
+ ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed.. Dump:\n%s", __FILE__, __LINE__, dump);
+ }
+
+ free(dump);
+ eina_counter_free(counter);
+
+ printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
+}
+END_TEST
+
+/**
+ *@}
+ */
+Suite *
+test_suite(void)
+{
+ Suite *suite = suite_create("utc_eina_counter");
+
+ TCase *tcase = tcase_create("TCase");
+ tcase_set_timeout(tcase, 30);
+ tcase_add_checked_fixture(tcase, setup, teardown);
+ tcase_add_test(tcase, utc_eina_counter_pack_p);
+ suite_add_tcase(suite, tcase);
+
+ return suite;
+}
+
+int
+main()
+{
+ int number_failed;
+
+ Suite *suite = test_suite();
+ SRunner *srunner = srunner_create(suite);
+ srunner_set_log(srunner, "utc_eina_counter.log");
+ srunner_set_xml(srunner, "utc_eina_counter.xml");
+ srunner_run_all(srunner, CK_NORMAL);
+ number_failed = srunner_ntests_failed(srunner);
+ srunner_free(srunner);
+
+ return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
+}
+++ /dev/null
-#include <check.h>
-#include <Eina.h>
-#include "../../utc_negative_unitest.h"
-
-/**
- * @addtogroup eina_counter
- * @{
- * @defgroup eina_counter_dump eina_counter_dump()
- *
- *
- * @precondition
- * @step 1 Initialize eina library with eina_init()
- */
-static void
-setup(void)
-{
- printf(" ============ Startup ============ \n");
- eina_init();
-}
-
-static void
-teardown(void)
-{
- printf(" ============ Cleanup ============ \n");
- eina_shutdown();
-}
-
-/**
- * @addtogroup eina_counter_dump
- * @{
- * @objective Positive test case checks if function dumps result of clocks of the counter properly.
- * @n Input Data: pointer to Eina_Counter.
- *
- * @procedure
- * @step 1 Create new counter
- * @step 2 Start the time count
- * @step 3 Stop the time count and pass 1000 as number of the test
- * @step 4 Start the time count
- * @step 5 Stop the time count and pass 2000 as number of the test
- * @step 6 Start the time count
- * @step 7 Stop the time count and pass 3000 as number of the test
- * @step 8 Dump the result of clocks of the counter
- * @step 9 Check if dump string contains substrings "1000", "2000" and "3000" - passed numbers of the tests;
- * due to example in the documentation dump string should contain them.
- *
- * @passcondition Returned dump string contains all expected values.
- * @}
- */
-START_TEST(utc_eina_counter_dump_p)
-{
- Eina_Counter *counter = eina_counter_new("test");
-
- if (!counter)
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed.. Eina_Counter is not created..", __FILE__, __LINE__);
- return;
- }
- eina_counter_start(counter);
- eina_counter_stop(counter, 1000);
- eina_counter_start(counter);
- eina_counter_stop(counter, 2000);
- eina_counter_start(counter);
- eina_counter_stop(counter, 3000);
-
- char *dump = eina_counter_dump(counter);
-
- if (!dump || !strstr(dump, "1000") || !strstr(dump, "2000") || !strstr(dump, "3000"))
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed.. Dump:\n%s", __FILE__, __LINE__, dump);
- }
- else
- {
- printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
- }
- free(dump);
- eina_counter_free(counter);
-}
-END_TEST
-
-/**
- * @addtogroup eina_counter_dump
- * @{
- * @objective Negative test case checks if function doesn't cause segmentation fault
- * and returns NULL if it is called with NULL instead of pointer to Eina_Counter.
- * @n Input Data: NULL as pointer to counter.
- *
- * @procedure
- * @step 1 Call function and pass NULL instead of its argument
- *
- * @passcondition Function doesn't cause segmentation fault and returns NULL.
- * @}
- */
-START_TEST(utc_eina_counter_dump_n)
-{
-
- if (UNITEST_FUNC_NEG_RET(NULL, eina_counter_dump, NULL) == TEST_FAIL)
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed..", __FILE__, __LINE__);
- return;
- }
- printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
-}
-END_TEST
-/**
- *@}
- */
-Suite *
-test_suite(void)
-{
- Suite *suite = suite_create("utc_eina_counter_dump");
-
- TCase *tcase = tcase_create("TCase");
- tcase_set_timeout(tcase, 30);
- tcase_add_checked_fixture(tcase, setup, teardown);
- tcase_add_test(tcase, utc_eina_counter_dump_p);
- tcase_add_test(tcase, utc_eina_counter_dump_n);
- suite_add_tcase(suite, tcase);
-
- return suite;
-}
-
-int
-main()
-{
- int number_failed;
-
- Suite *suite = test_suite();
- SRunner *srunner = srunner_create(suite);
- srunner_set_log(srunner, "utc_eina_counter_dump.log");
- srunner_set_xml(srunner, "utc_eina_counter_dump.xml");
- srunner_run_all(srunner, CK_NORMAL);
- number_failed = srunner_ntests_failed(srunner);
- srunner_free(srunner);
-
- return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
-}
+++ /dev/null
-#include <check.h>
-#include <Eina.h>
-#include "../../utc_negative_unitest.h"
-
-/**
- * @addtogroup eina_counter
- * @{
- * @defgroup eina_counter_free eina_counter_free()
- *
- *
- * @precondition
- * @step 1 Initialize eina library with eina_init()
- */
-static void
-setup(void)
-{
- printf(" ============ Startup ============ \n");
- eina_init();
-}
-
-static void
-teardown(void)
-{
- printf(" ============ Cleanup ============ \n");
- eina_shutdown();
-}
-
-/**
- * @addtogroup eina_counter_free
- * @{
- * @objective Positive test case checks if function removes given counter and frees memory properly.
- * @n Input Data: pointer to Eina_Counter.
- *
- * @procedure
- * @step 1 Create new counter
- * @step 2 Call tested function to free the counter
- *
- * @passcondition Function executes successfully.
- * @}
- */
-START_TEST(utc_eina_counter_free_p)
-{
- Eina_Counter *counter = eina_counter_new("test");
-
- if (!counter)
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed..", __FILE__, __LINE__);
- return;
- }
- eina_counter_free(counter);
-
- printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
-}
-END_TEST
-
-/**
- * @addtogroup eina_counter_free
- * @{
- * @objective Negative test case checks if function doesn't cause segmentation fault
- * if it is called with NULL instead of pointer to Eina_Counter.
- * @n Input Data: NULL as pointer to counter.
- *
- * @procedure
- * @step 1 Call function and pass NULL instead of its argument
- *
- * @passcondition Function doesn't cause segmentation fault.
- * @}
- */
-START_TEST(utc_eina_counter_free_n)
-{
-
- UNITEST_FUNC_NEG(eina_counter_free, NULL);
-
- printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
-}
-END_TEST
-/**
- *@}
- */
-Suite *
-test_suite(void)
-{
- Suite *suite = suite_create("utc_eina_counter_free");
-
- TCase *tcase = tcase_create("TCase");
- tcase_set_timeout(tcase, 30);
- tcase_add_checked_fixture(tcase, setup, teardown);
- tcase_add_test(tcase, utc_eina_counter_free_p);
- tcase_add_test(tcase, utc_eina_counter_free_n);
- suite_add_tcase(suite, tcase);
-
- return suite;
-}
-
-int
-main()
-{
- int number_failed;
-
- Suite *suite = test_suite();
- SRunner *srunner = srunner_create(suite);
- srunner_set_log(srunner, "utc_eina_counter_free.log");
- srunner_set_xml(srunner, "utc_eina_counter_free.xml");
- srunner_run_all(srunner, CK_NORMAL);
- number_failed = srunner_ntests_failed(srunner);
- srunner_free(srunner);
-
- return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
-}
+++ /dev/null
-#include <check.h>
-#include <Eina.h>
-#include "../../utc_negative_unitest.h"
-
-/**
- * @addtogroup eina_counter
- * @{
- * @defgroup eina_counter_new eina_counter_new()
- *
- *
- * @precondition
- * @step 1 Initialize eina library with eina_init()
- */
-static void
-setup(void)
-{
- printf(" ============ Startup ============ \n");
- eina_init();
-}
-
-static void
-teardown(void)
-{
- printf(" ============ Cleanup ============ \n");
- eina_shutdown();
-}
-
-/**
- * @addtogroup eina_counter_new
- * @{
- * @objective Positive test case checks if function creates new counter properly.
- * @n Input Data: "test" as name of counter.
- *
- * @procedure
- * @step 1 Call tested function and check returned value
- *
- * @passcondition Function returns non-NULL pointer to created Eina_Counter.
- * @}
- */
-START_TEST(utc_eina_counter_new_p)
-{
- Eina_Counter *counter = eina_counter_new("test");
-
- if (!counter)
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed..", __FILE__, __LINE__);
- return;
- }
- eina_counter_free(counter);
- printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
-}
-END_TEST
-
-/**
- * @addtogroup eina_counter_new
- * @{
- * @objective Negative test case checks if function doesn't cause segmentation fault
- * and returns NULL if it is called with NULL instead of name of counter.
- * @n Input Data: NULL as name of counter.
- *
- * @procedure
- * @step 1 Call function and pass NULL instead of its argument.
- *
- * @passcondition Function doesn't cause segmentation fault and returns NULL.
- * @}
- */
-START_TEST(utc_eina_counter_new_n)
-{
-
- if (UNITEST_FUNC_NEG_RET(NULL, eina_counter_new, NULL) == TEST_FAIL)
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed..", __FILE__, __LINE__);
- return;
- }
- printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
-}
-END_TEST
-/**
- *@}
- */
-Suite *
-test_suite(void)
-{
- Suite *suite = suite_create("utc_eina_counter_new");
-
- TCase *tcase = tcase_create("TCase");
- tcase_set_timeout(tcase, 30);
- tcase_add_checked_fixture(tcase, setup, teardown);
- tcase_add_test(tcase, utc_eina_counter_new_p);
- tcase_add_test(tcase, utc_eina_counter_new_n);
- suite_add_tcase(suite, tcase);
-
- return suite;
-}
-
-int
-main()
-{
- int number_failed;
-
- Suite *suite = test_suite();
- SRunner *srunner = srunner_create(suite);
- srunner_set_log(srunner, "utc_eina_counter_new.log");
- srunner_set_xml(srunner, "utc_eina_counter_new.xml");
- srunner_run_all(srunner, CK_NORMAL);
- number_failed = srunner_ntests_failed(srunner);
- srunner_free(srunner);
-
- return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
-}
+++ /dev/null
-#include <check.h>
-#include <Eina.h>
-#include "../../utc_negative_unitest.h"
-
-/**
- * @addtogroup eina_counter
- * @{
- * @defgroup eina_counter_start eina_counter_start()
- *
- *
- * @precondition
- * @step 1 Initialize eina library with eina_init()
- */
-static void
-setup(void)
-{
- printf(" ============ Startup ============ \n");
- eina_init();
-}
-
-static void
-teardown(void)
-{
- printf(" ============ Cleanup ============ \n");
- eina_shutdown();
-}
-
-/**
- * @addtogroup eina_counter_start
- * @{
- * @objective Positive test case checks if function starts time count properly.
- * @n Input Data: pointer to Eina_Counter.
- *
- * @procedure
- * @step 1 Create new counter
- * @step 2 Start the time count
- * @step 3 Dump the result of clocks of the counter to ensure that returned string doesn't contain
- * substring "1000" that is supposed to be there after counter stopping
- * @step 4 Stop the time count and pass 1000 as number of the test
- * @step 5 Dump the result of clocks of the counter
- * @step 6 Check if dumped string contains substring "1000" - passed number of the test; due to example
- * in the documentation dump string contains only letters in the first row, and only if time count was
- * started/stopped properly - the second dump row would contain specimen (number passed to eina_counter_stop()) -
- * "1000" in this case; if there was no clocks - dump would contain just one row, without numerals.
- *
- * @passcondition Dumped string contains "1000" - number of the test, it means that time counting was
- * successfully started before we stopped it.
- * @}
- */
-START_TEST(utc_eina_counter_start_p)
-{
- Eina_Counter *counter = eina_counter_new("test");
-
- if (!counter)
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed.. Eina_Counter is not created..", __FILE__, __LINE__);
- return;
- }
- eina_counter_start(counter);
- char *dump = eina_counter_dump(counter);
-
- if (dump && strstr(dump, "1000"))
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed.. Dump is incorrect (counter isn't stopped):\n%s", __FILE__, __LINE__, dump);
- free(dump);
- return;
- }
- free(dump);
- eina_counter_stop(counter, 1000);
- dump = eina_counter_dump(counter);
-
- if (!dump || !strstr(dump, "1000"))
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed.. Dump:\n%s", __FILE__, __LINE__, dump);
- }
- else
- {
- printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
- }
- free(dump);
- eina_counter_free(counter);
-}
-END_TEST
-
-/**
- * @addtogroup eina_counter_start
- * @{
- * @objective Negative test case checks if function doesn't cause segmentation fault
- * if it is called with NULL instead of pointer to Eina_Counter.
- * @n Input Data: NULL as pointer to counter.
- *
- * @procedure
- * @step 1 Call function and pass NULL instead of its argument
- *
- * @passcondition Function doesn't cause segmentation fault.
- * @}
- */
-START_TEST(utc_eina_counter_start_n)
-{
-
- UNITEST_FUNC_NEG(eina_counter_start, NULL);
-
- printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
-}
-END_TEST
-/**
- *@}
- */
-Suite *
-test_suite(void)
-{
- Suite *suite = suite_create("utc_eina_counter_start");
-
- TCase *tcase = tcase_create("TCase");
- tcase_set_timeout(tcase, 30);
- tcase_add_checked_fixture(tcase, setup, teardown);
- tcase_add_test(tcase, utc_eina_counter_start_p);
- tcase_add_test(tcase, utc_eina_counter_start_n);
- suite_add_tcase(suite, tcase);
-
- return suite;
-}
-
-int
-main()
-{
- int number_failed;
-
- Suite *suite = test_suite();
- SRunner *srunner = srunner_create(suite);
- srunner_set_log(srunner, "utc_eina_counter_start.log");
- srunner_set_xml(srunner, "utc_eina_counter_start.xml");
- srunner_run_all(srunner, CK_NORMAL);
- number_failed = srunner_ntests_failed(srunner);
- srunner_free(srunner);
-
- return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
-}
+++ /dev/null
-#include <check.h>
-#include <Eina.h>
-#include "../../utc_negative_unitest.h"
-
-/**
- * @addtogroup eina_counter
- * @{
- * @defgroup eina_counter_stop eina_counter_stop()
- *
- *
- * @precondition
- * @step 1 Initialize eina library with eina_init()
- */
-static void
-setup(void)
-{
- printf(" ============ Startup ============ \n");
- eina_init();
-}
-
-static void
-teardown(void)
-{
- printf(" ============ Cleanup ============ \n");
- eina_shutdown();
-}
-
-/**
- * @addtogroup eina_counter_stop
- * @{
- * @objective Positive test case checks if function stops time count properly.
- * @n Input Data:
- * @li pointer to Eina_Counter;
- * @li 1000 as number of the test.
- *
- * @procedure
- * @step 1 Create new counter
- * @step 2 Start the time count
- * @step 3 Dump the result of clocks of the counter to ensure that returned string doesn't contain
- * substring "1000" that is supposed to be there after counter stopping
- * @step 4 Stop the time count and pass 1000 as number of the test
- * @step 5 Dump the result of clocks of the counter
- * @step 6 Check if dumped string contains substring "1000" - passed number of the test; due to example
- * in the documentation dump string contains only letters in the first row, and only if time count was
- * started/stopped properly - the second dump row would contain specimen (number passed to eina_counter_stop()) -
- * "1000" in this case; if there was no clocks - dump would contain just one row, without numerals.
- *
- * @passcondition Dumped string contains "1000" - number of the test, it means that started time
- * counting was successfully stopped.
- * @}
- */
-START_TEST(utc_eina_counter_stop_p)
-{
- Eina_Counter *counter = eina_counter_new("test");
-
- if (!counter)
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed.. Eina_Counter is not created..", __FILE__, __LINE__);
- return;
- }
- eina_counter_start(counter);
- char *dump = eina_counter_dump(counter);
-
- if (dump && strstr(dump, "1000"))
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed.. Dump is incorrect (counter isn't stopped):\n%s", __FILE__, __LINE__, dump);
- free(dump);
- return;
- }
- free(dump);
- eina_counter_stop(counter, 1000);
- dump = eina_counter_dump(counter);
-
- if (!dump || !strstr(dump, "1000"))
- {
- ck_abort_msg("[TEST_FAIL]:: %s[%d] : Test has failed.. Dump:\n%s", __FILE__, __LINE__, dump);
- }
- else
- {
- printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
- }
- free(dump);
- eina_counter_free(counter);
-}
-END_TEST
-
-/**
- * @addtogroup eina_counter_stop
- * @{
- * @objective Negative test case checks if function doesn't cause segmentation fault
- * if it is called with NULL instead of pointer to Eina_Counter.
- * @n Input Data:
- * @li NULL as pointer to Eina_Counter;
- * @li 0 as number of the test.
- *
- * @procedure
- * @step 1 Call function once and pass NULL instead of its first argument.
- *
- * @passcondition Function doesn't cause segmentation fault.
- * @}
- */
-START_TEST(utc_eina_counter_stop_n)
-{
-
- CREATE_CHECKED_ARGS_ARRAY(1, 0);
- UNITEST_FUNC_NEG_CA(eina_counter_stop, NULL, 0);
-
- printf("[TEST_PASS]:: %s[%d] : Test has passed..\n", __FILE__, __LINE__);
-}
-END_TEST
-/**
- *@}
- */
-Suite *
-test_suite(void)
-{
- Suite *suite = suite_create("utc_eina_counter_stop");
-
- TCase *tcase = tcase_create("TCase");
- tcase_set_timeout(tcase, 30);
- tcase_add_checked_fixture(tcase, setup, teardown);
- tcase_add_test(tcase, utc_eina_counter_stop_p);
- tcase_add_test(tcase, utc_eina_counter_stop_n);
- suite_add_tcase(suite, tcase);
-
- return suite;
-}
-
-int
-main()
-{
- int number_failed;
-
- Suite *suite = test_suite();
- SRunner *srunner = srunner_create(suite);
- srunner_set_log(srunner, "utc_eina_counter_stop.log");
- srunner_set_xml(srunner, "utc_eina_counter_stop.xml");
- srunner_run_all(srunner, CK_NORMAL);
- number_failed = srunner_ntests_failed(srunner);
- srunner_free(srunner);
-
- return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
-}