separate the testing step from the build step

There are circumstances where you just want to repeat the build
without running the tests.  keeping the "test" target distinct from
the "all" target makes it possible to do that cleanly.