@Override
  public void run() {
    LogConfigurator.setLevel("", "OFF");
    // presume ethereum mainnet for reference and EOF tests
    SignatureAlgorithmFactory.setDefaultInstance();
    final ObjectMapper eofTestMapper = JsonUtils.createObjectMapper();

    if (parentCommand.hasFork()) {
      fork = parentCommand.getFork();
    }
    ProtocolSpec protocolSpec =
        ReferenceTestProtocolSchedules.getInstance()
            .geSpecByName(fork == null ? EvmSpecVersion.FUTURE_EIPS.getName() : fork);
    evm = protocolSpec.getEvm();

    final JavaType javaType =
        eofTestMapper
            .getTypeFactory()
            .constructParametricType(Map.class, String.class, EOFTestCaseSpec.class);
    try {
      if (eofTestFiles.isEmpty()) {
        // if no EOF tests were specified use standard input to get filenames
        final BufferedReader in =
            new BufferedReader(new InputStreamReader(parentCommand.in, UTF_8));
        while (true) {
          final String fileName = in.readLine();
          if (fileName == null) {
            // reached end of file.  Stop the loop.
            break;
          }
          final File file = new File(fileName);
          if (file.isFile()) {
            final Map<String, EOFTestCaseSpec> eofTests = eofTestMapper.readValue(file, javaType);
            executeEOFTest(file.toString(), eofTests);
          } else {
            parentCommand.out.println("File not found: " + fileName);
          }
        }
      } else {
        for (final Path eofTestFile : eofTestFiles) {
          final Map<String, EOFTestCaseSpec> eofTests;
          if ("stdin".equals(eofTestFile.toString())) {
            eofTests = eofTestMapper.readValue(parentCommand.in, javaType);
          } else {
            eofTests = eofTestMapper.readValue(eofTestFile.toFile(), javaType);
          }
          executeEOFTest(eofTestFile.toString(), eofTests);
        }
      }
    } catch (final JsonProcessingException jpe) {
      parentCommand.out.println("File content error: " + jpe);
    } catch (final IOException e) {
      System.err.println("Unable to read EOF test file");
      e.printStackTrace(System.err);
    }
  }
Constructor for the EOFTestSubCommand class with a parent command.

@param parentCommand The parent command for this sub command.
ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EOFTestSubCommand.java