engine.action: 简化动作参数指定方式, 直接使用 dict
tests: 添加 util.compat 模块测试用例