See also this thread: https://issues.apache.org/jira/browse/CALCITE-5760

You can run CalciteSqlOperatorTest instead.
If you want to quickly debug only this test in the IDE you can copy-paste this 
test into the CalciteSqlOperatorTest class and run it from there, then delete 
it when you are done.

Mihai

-----Original Message-----
From: Ran Tao 
Sent: Monday, August 07, 2023 4:04 AM
To: [email protected]
Subject: Re: [Discussion] Split function has some wrong and strange behaviors

> I found that when I use "*./gradlew  build*" to build the project 
> happens
with some errors, but I execute this case in IDEA alone and it is successful.

The default `fixture()` does not execute in unit tests (but works in ./gradlew 
build), you should use
Fixture.forOperators(true) to execute in unit tests. You can check this usage, 
hope it helps you.


Best Regards,
Ran Tao
https://github.com/chucheng92


P.F. ZHAN <[email protected]> 于2023年8月7日周一 15:22写道:

> Sorry, I made a mistake,  used Chinese to describe my question.
>
> Hi, When I was testing the split function with a  case as follows:
> org.apache.calcite.test.SqlOperatorTest#testSplitFunction
>
> > f.checkScalar("SPLIT('h-e-l-l-o', '-')[0]", "h", "VARCHAR");
> >
>
>  I found that when I use "*./gradlew  build*" to build the project 
> happens with some errors, but I execute this case in IDEA alone and it 
> is successful.
>
> 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.checkR
> esult(ResultCheckers.java:321)
> >         at
> >
> org.apache.calcite.test.SqlOperatorTest$TesterImpl.check(SqlOperatorTe
> st.java:12150)
> >         at
> org.apache.calcite.sql.test.SqlTester.check(SqlTester.java:160)
> >         at
> >
> org.apache.calcite.test.SqlOperatorFixtureImpl.lambda$checkScalar$2(Sq
> lOperatorFixtureImpl.java:224)
> >         at
> >
> org.apache.calcite.sql.test.AbstractSqlTester.forEachQuery(AbstractSql
> Tester.java:446)
> >         at
> >
> org.apache.calcite.test.SqlOperatorFixtureImpl.checkScalar(SqlOperator
> FixtureImpl.java:223)
> >         at
> >
> org.apache.calcite.sql.test.SqlOperatorFixture.checkScalar(SqlOperator
> Fixture.java:238)
> >         at
> >
> org.apache.calcite.test.SqlOperatorTest.testSplitFunction(SqlOperatorT
> est.java:7657)
> >         at
> >
> org.junit.platform.commons.util.ReflectionUtils.invokeMethod(Reflectio
> nUtils.java:727)
> >
>
> I also add a case in the file big-query.iq
>
> SELECT SPLIT("h,e,l,l,o", ',')[1] as result;
> > +------- +
> > | result |
> > +------- +
> > | e |
> > +------- +
> > (1 row)
> >
> > !ok
> >
>
> The error log is as follows:
>
> > 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)
> >
> >
> On Mon, Aug 7, 2023 at 3:13 PM P.F. ZHAN <[email protected]> wrote:
>
> > 大家好。我在测试 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.checkR
> esult(ResultCheckers.java:321)
> >>         at
> >>
> org.apache.calcite.test.SqlOperatorTest$TesterImpl.check(SqlOperatorTe
> st.java:12150)
> >>         at
> org.apache.calcite.sql.test.SqlTester.check(SqlTester.java:160)
> >>         at
> >>
> org.apache.calcite.test.SqlOperatorFixtureImpl.lambda$checkScalar$2(Sq
> lOperatorFixtureImpl.java:224)
> >>         at
> >>
> org.apache.calcite.sql.test.AbstractSqlTester.forEachQuery(AbstractSql
> Tester.java:446)
> >>         at
> >>
> org.apache.calcite.test.SqlOperatorFixtureImpl.checkScalar(SqlOperator
> FixtureImpl.java:223)
> >>         at
> >>
> org.apache.calcite.sql.test.SqlOperatorFixture.checkScalar(SqlOperator
> Fixture.java:238)
> >>         at
> >>
> org.apache.calcite.test.SqlOperatorTest.testSplitFunction(SqlOperatorT
> est.java:7657)
> >>         at
> >>
> org.junit.platform.commons.util.ReflectionUtils.invokeMethod(Reflectio
> nUtils.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)
> >>
> >
>

Reply via email to