`test` or `tests` is needed for py.test to recognize them as tests. 

I was debating whether to use dots or not. The advantage to dots is that they look better in the py.test output (specifically, they look more like the py.test output that you get in Nengo, when py.test collects the tests itself). The only alternative to dots is underscores I think, and this would look kind of weird if/when you have test names with underscores. But it would allow them to be visible in the namespace. 

One other option, since all we need is unique names, is to either hash all the module strings to create a unique number to prepend/append to the test name, or simply prepend/append a number when we find a duplicate. This shouldn't be too confusing since if you run py.test in verbose mode, it's quite clear where each test file is located (it even tells you the original test file where the function was declared). Maybe that would be better? It would make the function more general, but I'm not sure if that generality will ever be used.