tests pass via setup.py command