大家好。我在测试 split 函数功能的时候,添加了个 case
org.apache.calcite.test.SqlOperatorTest#testSplitFunction
> f.checkScalar("SPLIT('h-e-l-l-o', '-')[0]", "h", "VARCHAR");
>
我发现我使用 gradlew build 整个项目时会出错,但我单独在 IDEA 里面执行这个 case 是成功的。
> FAILURE 0.3sec, org.apache.calcite.test.CalciteSqlOperatorTest >
> testSplitFunction()
> java.lang.AssertionError: Query: values (SPLIT('h-e-l-l-o', '-')[0])
> Expected: is "h"
> but: was null
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
> at
> org.apache.calcite.sql.test.ResultCheckers.compareResultSetWithMatcher(ResultCheckers.java:252)
> at
> org.apache.calcite.sql.test.ResultCheckers$MatcherResultChecker.checkResult(ResultCheckers.java:321)
> at
> org.apache.calcite.test.SqlOperatorTest$TesterImpl.check(SqlOperatorTest.java:12150)
> at org.apache.calcite.sql.test.SqlTester.check(SqlTester.java:160)
> at
> org.apache.calcite.test.SqlOperatorFixtureImpl.lambda$checkScalar$2(SqlOperatorFixtureImpl.java:224)
> at
> org.apache.calcite.sql.test.AbstractSqlTester.forEachQuery(AbstractSqlTester.java:446)
> at
> org.apache.calcite.test.SqlOperatorFixtureImpl.checkScalar(SqlOperatorFixtureImpl.java:223)
> at
> org.apache.calcite.sql.test.SqlOperatorFixture.checkScalar(SqlOperatorFixture.java:238)
> at
> org.apache.calcite.test.SqlOperatorTest.testSplitFunction(SqlOperatorTest.java:7657)
> at
> org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
>
我在big-query.iq 中加入下面这段
> SELECT SPLIT("h,e,l,l,o", ',')[1] as result;
> +------- +
> | result |
> +------- +
> | e |
> +------- +
> (1 row)
>
> !ok
>
报错如下:
> FAILURE 27.6sec, org.apache.calcite.test.BabelQuidemTest >
> test(String)[3], [3] sql/big-query.iq
> org.opentest4j.AssertionFailedError: Files differ:
> ~/calcite/babel/build/quidem/test/sql/big-query.iq
> ~/calcite/babel/build/resources/test/sql/big-query.iq
> 759c759
> < +------- +
> ---
> > +--------+
> 761,763c761,763
> < +------- +
> < | e |
> < +------- +
> ---
> > +--------+
> > | h |
> > +--------+
>
> at
> org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:38)
> at org.junit.jupiter.api.Assertions.fail(Assertions.java:135)
> at org.apache.calcite.test.QuidemTest.checkRun(QuidemTest.java:183)
> at org.apache.calcite.test.QuidemTest.test(QuidemTest.java:236)
>