private static SchemaTestMode setUpEnvironmentInternal(final SchemaTestMode schemaTestMode) {
    switch (schemaTestMode) {
      case Memory:
        EnvFactory.getEnv().getConfig().getCommonConfig().setSchemaEngineMode("Memory");
        break;
      case PBTree:
        EnvFactory.getEnv().getConfig().getCommonConfig().setSchemaEngineMode("PBTree");
        allocateMemoryForSchemaRegion(4000);
        break;
    }
    return schemaTestMode;
  }
This class define multiple modes for schema engine. All IT class extends AbstractSchemaIT will be
run in both Memory and PBTree modes. In PBTree mode, there are three kinds of test environment:
full memory, partial memory and non memory.

<p>Notice that, all IT class extends AbstractSchemaIT need to call {@link
AbstractSchemaIT#setUpEnvironment} before test env initialization at {@code @BeforeParam}, or
call {@link AbstractSchemaIT#setUpEnvironmentBeforeMethod()} at {@code @Before}, and call {@link
AbstractSchemaIT#tearDownEnvironment} after test env cleaning.
integration-test/src/test/java/org/apache/iotdb/util/AbstractSchemaIT.java