Hagai
Hagai

Reputation: 1079

Using unit testing framework for C Check

I am trying to use unit testing framework for C called Check.

I installed the package as instructed on the file INSTALL in the package:

  1. ./configure
  2. make
  3. make check -> run self-tests that come with the package (pass successfully).
  4. make install

After doing that I failed to run my own test so finally I decided to use the package example in /usr/local/share/doc/check/example.

Did the following commands:

$ autoreconf --install
$ ./configure
$ make
$ make check

And still the same problem :

/usr/local/share/doc/check/example/tests/.libs/lt-check_money: error while loading shared libraries: libcheck.so.0: cannot open shared object file: No such file or directory
FAIL: check_money

Tried to add the directory to LDFLAGS in the make file but that did not help, also tried to do what Rick Hightower did here (...deleting the *.so files (and their links)) by I don't know how to remove the links

Upvotes: 12

Views: 3950

Answers (3)

Bato-Bair Tsyrenov
Bato-Bair Tsyrenov

Reputation: 1194

This project uses check https://github.com/batousik/Practical-C2

  1. For some reason a folder m4 is required
  2. .travis.yml has instructions for dependences
  3. after it is run script -
  4. configure.ac, makefile.am, src/makefile.am, tests/makefile.am are files to look at

Upvotes: 0

Matthew Bloch
Matthew Bloch

Reputation: 394

On my system at least (Debian), libcheck isn't packaged as a shared library, you have to link it statically, e.g.

gcc -o test_program test1.o test2.o /usr/lib/libcheck.a

Upvotes: 2

Nordic Mainframe
Nordic Mainframe

Reputation: 28767

Try running ldconfig (ie. sudo ldconfig) to rebuild the runtime linker cache.

Upvotes: 17

Related Questions