common test framework