Testrunner binary not available


when trying to run the public tests I encounter the following error.


I’ve already implented all functions and haven’t made any changes to the test files.
I also applied the patch only after completing the first few functions.

Thanks in advance!

This is the output of make check?
Try to delete the ./bin folder and run make followed by make check again.
Do any unusual warnings or errors appear?

No, this is the output of ./run_tests.py, sorry. When running make check, apart from warning of unused variables, it says


and doesn’t run the tests at all.

Deleting bin folder didn’t help.

The python script does not build the project, it only uses the already built files to run the tests. If there are no files, it can not run the tests. If you want to run all tests, use make check.

Regarding the output of make check:
It seems that you use floor from the math library. But we do not link against this library in the Makefile. Therefore, these functions will not be available during execution:

Further note that using floor is likely not necessary.

floor takes a float, and gives you a new float, which is floored (i.e. it computes \lfloor x \rfloor given x).

Since you most likely convert your float to an integer later anyway, this is unnecessary. The code

float f = 3.5; //example value
int i = f;

performs an automatic conversion from float to int, which is defined to truncate the portion after the decimal point. In the above example, i has value 3 afterwards. If you had written i = floor(f);, the floor would be redundant.

PS: If your floats are negative, this does not apply, since floor rounds towards -\infty, while truncation is rounding towards 0. But I guess your floats are all non-negative :slightly_smiling_face:.

1 Like