Reputation: 587
Trying to test my C project on NetBeans, the tests never end while the output is:
Test: testFileOne ...passed Test: testFileTwo ...passed
Run Summary: Type Total Ran Passed Failed Inactive
suites 1 1 n/a 0 0
tests 2 2 2 0 0
asserts 8 8 8 0 n/a
Elapsed time = 0.000 seconds
Even if it seems complete, the progress bar is still shining at the value 0.0%.
Test cases are all like:
void testMethod() {
CU_ASSERT(1 == 1);
//other lines of code..
CU_ASSERT(0 == 0);
}
with more than one CU_ASSERT for each function. Some behaviour with auto-generated test code by NetBeans.
The command
make test
from command line works like a charme and ends with no problem.
Anybody has encountered this issue before? any way to get it solved without strambling my laptop? Thank you in advance for every comment.
Upvotes: 5
Views: 807
Reputation: 1902
It seems that Netbeans requires a certain directive a to stop the Test Suite and this is exactly printf("%%SUITE_FINISHED%% time=0\n");
. Here is how your test should look like (either you are using plain vanilla C or some library like CUnit):
#include <stdio.h>
#include <stdlib.h>
void test1() {
// do your stuff
}
int main(int argc, char** argv) {
printf("%%SUITE_STARTING%% mysimpletest\n");
printf("%%SUITE_STARTED%%\n");
printf("%%TEST_STARTED%% test1 (mysimpletest)\n");
test1();
printf("%%TEST_FINISHED%% time=0 test1 (mysimpletest) \n");
printf("%%SUITE_FINISHED%% time=0\n");
return (EXIT_SUCCESS);
}
Upvotes: 1
Reputation: 11
You can use a debugger (e.g gdb) to trace what happens.
This will require debugging flags to be added to your cunit code. Assuming you're using gcc, this will be the -g flag.
After compiling with debugging flags you can simply start the test binary with with the debugger, the way you'd debug a normal program.
Upvotes: 1