add coverage test support to setup.py
update test infrastructure