diff --git a/testsuites/unittest/basic/exc/smoke/it_test_exc_001.cpp b/testsuites/unittest/basic/exc/smoke/it_test_exc_001.cpp index 26512427ba38e915e3278216edd064ffd07108df..c86223f87f3530a330e9b9233be133e8414e93b1 100644 --- a/testsuites/unittest/basic/exc/smoke/it_test_exc_001.cpp +++ b/testsuites/unittest/basic/exc/smoke/it_test_exc_001.cpp @@ -34,9 +34,11 @@ static int TestCase(void) { int ret; int status = 0; + int *test = NULL; // for trggering an exception pid_t pid = fork(); ICUNIT_ASSERT_WITHIN_EQUAL(pid, 0, INVALID_PROCESS_ID, pid); if (pid == 0) { + *test = 0x1; // Deliberately trigger an exceptioin exit(0); } @@ -52,6 +54,7 @@ static int TestCase(void) pid = fork(); ICUNIT_ASSERT_WITHIN_EQUAL(pid, 0, INVALID_PROCESS_ID, pid); if (pid == 0) { + *test = 0x1; // Deliberately trigger an exceptioin exit(0); } diff --git a/testsuites/unittest/basic/exc/smoke/it_test_exc_004.cpp b/testsuites/unittest/basic/exc/smoke/it_test_exc_004.cpp index 3299fefaccc9491aec84caed90d39e21240d2ab2..21c5d5fd8cc229790fa5c82497f87e0fb5b66b0b 100644 --- a/testsuites/unittest/basic/exc/smoke/it_test_exc_004.cpp +++ b/testsuites/unittest/basic/exc/smoke/it_test_exc_004.cpp @@ -36,13 +36,16 @@ static int TestThread(void) { int ret; + int *test = nullptr; // For triggering an exceptioin pid_t pid = fork(); ICUNIT_ASSERT_WITHIN_EQUAL(pid, 0, INVALID_PROCESS_ID, pid); if (pid == 0) { + *test = 0x1; // Deliberately trigger an exceptioin while (1) { } } + *test = 0x1; // Deliberately trigger an exceptioin ret = waitpid(pid, NULL, 0); ICUNIT_ASSERT_EQUAL(ret, pid, ret); diff --git a/testsuites/unittest/basic/mem/shm/full/shm_test_002.cpp b/testsuites/unittest/basic/mem/shm/full/shm_test_002.cpp index c624257f14d045510d3e81404f5221a48134f1a1..7740e7581a0e6ae2724c6b0913447cdd2fc0c7da 100644 --- a/testsuites/unittest/basic/mem/shm/full/shm_test_002.cpp +++ b/testsuites/unittest/basic/mem/shm/full/shm_test_002.cpp @@ -37,6 +37,12 @@ static int Testcase(VOID) int shmid[SHMID_MAX + 1] = {-1}; int ret; int i; + struct shm_info shmInfo; + int leftShmIds; + + ret = shmctl(0, SHM_INFO, reinterpret_cast(&shmInfo)); + ICUNIT_ASSERT_EQUAL(ret, SHMID_MAX, ret); + leftShmIds = SHMID_MAX - shmInfo.used_ids; shmid[0] = shmget((key_t)0x1234, PAGE_SIZE, 0777 | IPC_CREAT); ICUNIT_ASSERT_NOT_EQUAL(shmid[0], -1, shmid[0]); @@ -50,20 +56,20 @@ static int Testcase(VOID) ret = shmctl(shmid[0], IPC_RMID, NULL); ICUNIT_ASSERT_EQUAL(ret, 0, ret); - for (i = 0; i < SHMID_MAX; i++) { + for (i = 0; i < leftShmIds; i++) { shmid[i] = shmget(IPC_PRIVATE, PAGE_SIZE, 0777 | IPC_CREAT); ICUNIT_ASSERT_NOT_EQUAL(shmid[i], -1, shmid[i]); } - shmid[SHMID_MAX] = shmget(IPC_PRIVATE, PAGE_SIZE, 0777 | IPC_CREAT); - ICUNIT_ASSERT_EQUAL(shmid[SHMID_MAX], -1, shmid[SHMID_MAX]); + shmid[leftShmIds] = shmget(IPC_PRIVATE, PAGE_SIZE, 0777 | IPC_CREAT); + ICUNIT_ASSERT_EQUAL(shmid[leftShmIds], -1, shmid[leftShmIds]); - for (i = 0; i < SHMID_MAX; i++) { + for (i = 0; i < leftShmIds; i++) { ret = shmctl(shmid[i], IPC_RMID, NULL); ICUNIT_ASSERT_EQUAL(ret, 0, ret); } - for (i = 0; i < SHMID_MAX; i++) { + for (i = 0; i < leftShmIds; i++) { ret = shmctl(shmid[i], IPC_RMID, NULL); ICUNIT_ASSERT_EQUAL(ret, -1, ret); }