self-test functions correctly on all 3 platforms