Thank you Miro, I appreciate that you took time to respond.
If you want to provide a way to run the tests by the user without
compiling, I
suggest libexec or even bindir (with appropriate name) would do.
We would like users to be able to run the test suite without compiling. It seems like
placing the test and example directories in libexec/charliecloud may be a reasonable
approach.
Question: is this something I could handle in the spec file, e.g., move the test suite
directories as part of the %install section of the spec file? It would be simple enough to
update the master Makefile, I am just curious.
The primary question would be: why are those files shipped. Would
users
experimenting with those probably read the source and compile them, or just
execute them?
The test suite c files are compiled and used to test a subset of key features. For
example, pivot_root.c walks through the dance of Linux namespace and pivot_root(2)
syscalls that result in an unprivileged container. Each step is commented in detail so
that users who are interested in how our unprivileged containers work can follow the logic
in the example source files.
Since we compile them at build-time, I suppose if we wanted to include these c files we
could place them in /usr/share/doc/charliecloud.