以太坊的java客户端pantheon目前不能在windows平台跑测试用例,以下都是在ubuntu18测试成功
1、下载代码,并编译
参考https://docs.pantheon.pegasys.tech/en/latest/Installation/Build-From-Source/#installation-on-linux-unix-mac-os-x
代码语言:javascript复制git clone --recursive https://github.com/PegaSysEng/pantheon.git
cd pantheon
./gradlew build -x test
2、跑测试集
编译成功后,就可以跑测试了
代码语言:javascript复制./gradlew referenceTest
3、使用eclipse测试
导入eclipse后,打开文件/ethereum-core/src/test/java/tech/pegasys/pantheon/ethereum/vm/generalstate/GeneralStateReferenceTest_0.java 右键文件名,run as,Junit test,执行成功 在文件里面的变量TEST_CONFIG_FILE_DIR_PATH定义了多个json文件,修改为一个就可以测试一项 针对vm的测试就放在一个文件中/ethereum-core/src/test/java/tech/pegasys/pantheon/ethereum/vm/VMReferenceTest.java,如果需要测试单个文件只能修改TEST_CONFIG_FILE_DIR_PATHS到一个新目录,里面放单个文件,例如: 修改:
代码语言:javascript复制 private static final String[] TEST_CONFIG_FILE_DIR_PATHS = {
// "VMTests/vmArithmeticTest",
// "VMTests/vmBitwiseLogicOperation",
// "VMTests/vmBlockInfoTest",
// "VMTests/vmEnvironmentalInfo",
// "VMTests/vmIOandFlowOperations",
// "VMTests/vmLogTest",
// "VMTests/vmSha3Test",
// "VMTests/vmSystemOperations",
"VMTests/testone"
};
创建: /ethereum/referencetests/build/resources/test/VMTests/testone目录,并复制一个json文件