You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
In case 'C' method used 'old-style' declaration UTBot does not properly generate '.h' file and later cannot compile it for test execution.
To Reproduce
Steps to reproduce the behavior:
Generate code for following method
intsum(a, b)
inta;
intb;
{
returna+b;
}
The generated tests in '.cpp' file looks pretty normal
Try to run generated tests
Expected behavior
Tests are supposed to be executed.
Actual behavior
Execution fails with error: "1 actions failed during building and running tests." . Log contains following errors:
In file included from /home/utbot/remote/SampleDocker2/tests/makefiles/src/../../../tests/src/old_syntax_dot_c_test.cpp:5:
/home/utbot/remote/SampleDocker2/tests/makefiles/src/../../../tests/src/old_syntax_dot_c_test.h:63:37: error: unknown type name 'a'
extern "C" int sum_src_old_syntax_c(a, b);
^
/home/utbot/remote/SampleDocker2/tests/makefiles/src/../../../tests/src/old_syntax_dot_c_test.h:63:40: error: unknown type name 'b'
extern "C" int sum_src_old_syntax_c(a, b);
^
/home/utbot/remote/SampleDocker2/tests/makefiles/src/../../../tests/src/old_syntax_dot_c_test.h:64:16: error: unknown type name 'a'
static int sum(a, b) {
^
/home/utbot/remote/SampleDocker2/tests/makefiles/src/../../../tests/src/old_syntax_dot_c_test.h:64:19: error: unknown type name 'b'
static int sum(a, b) {
^
/home/utbot/remote/SampleDocker2/tests/makefiles/src/../../../tests/src/old_syntax_dot_c_test.h:65:29: error: use of undeclared identifier 'a'
return sum_src_old_syntax_c(a, b);
^
/home/utbot/remote/SampleDocker2/tests/makefiles/src/../../../tests/src/old_syntax_dot_c_test.h:65:32: error: use of undeclared identifier 'b'
return sum_src_old_syntax_c(a, b);
^
6 errors generated.
....
That's because generated header file for test has following declaration:
extern"C"intsum_src_old_syntax_c(a, b);
staticintsum(a, b) {
returnsum_src_old_syntax_c(a, b);
}
Additional information
Please note that even this syntax is not widely used in modern applications it could be found in old, but still active projects. For instance I found it in zlib library (2k Forks, 3.9k Start on GitHub, 40 commits in last month). So I believe that we should not put this case on hold.
The text was updated successfully, but these errors were encountered:
Description
In case 'C' method used 'old-style' declaration UTBot does not properly generate '.h' file and later cannot compile it for test execution.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Tests are supposed to be executed.
Actual behavior
Execution fails with error: "1 actions failed during building and running tests." . Log contains following errors:
That's because generated header file for test has following declaration:
Additional information
Please note that even this syntax is not widely used in modern applications it could be found in old, but still active projects. For instance I found it in zlib library (2k Forks, 3.9k Start on GitHub, 40 commits in last month). So I believe that we should not put this case on hold.
The text was updated successfully, but these errors were encountered: