The best idea I have is for the CI to execute as many tests as possible, print details about failures (for the Travis-CI log), and finish up with an error exit code if > 0 tests failed. (The "skip" code is only meaningful within the Makefile -- you can drop that concept if you want.)

How do you envision running the tests? From the Makefile, from the shell, or from Lua?