Enh: use a more portable strategy - inline define doesn't work on centos7
Enh: better integration testing suite