Why it's using GBK as encoding? And the IO handling needs improvement. And there are dup code in: - SmartTestLog - XCTestCommandReceiver