test runner itself is rewritten using async/await