br1ghtyang / asterixdb

Automatically exported from code.google.com/p/asterixdb
0 stars 0 forks source link

User Defined Function test case is failing #497

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
With the updated test framework, to fail fast, the test case 
src/test/resources/runtimets/queries/user-defined-functions/udf29/udf29.1.ddl.aq
l is failing for the DDL:
drop dataverse test if exists;
create dataverse test;

use dataverse test;

declare function test.f1(){
100
};

Here is the stack trace:

java.lang.Exception: Test 
"src/test/resources/runtimets/queries/user-defined-functions/udf29/udf29.1.ddl.a
ql" FAILED!
        at edu.uci.ics.asterix.test.aql.TestsUtils.executeTest(TestsUtils.java:360)
        at edu.uci.ics.asterix.test.runtime.ExecutionTest.test(ExecutionTest.java:95)
        at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:24)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
        at com.sun.proxy.$Proxy0.invoke(Unknown Source)
        at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
        at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:74)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
Caused by: org.json.JSONException: JSONObject["summary"] not found.
        at org.json.JSONObject.get(JSONObject.java:498)
        at org.json.JSONObject.getString(JSONObject.java:669)
        at edu.uci.ics.asterix.test.aql.TestsUtils.handleError(TestsUtils.java:175)
        at edu.uci.ics.asterix.test.aql.TestsUtils.executeDDL(TestsUtils.java:269)
        at edu.uci.ics.asterix.test.aql.TestsUtils.executeTest(TestsUtils.java:324)
        ... 38 more

You can see this issue on the branch "madhusudancs/testframework-update" now. 
This issue is blocking me from merging my issue 330 code.

Original issue reported on code.google.com by madhusudancs on 3 Jun 2013 at 11:17

GoogleCodeExporter commented 8 years ago
corrected test case. 
it had 2 issues 
a) use fully qualified name for a function in a declare statement 
b) incorrectly placed the declare function statement as part of DDL

the branch builds now and should be ready for its next destination (master, 
right Madhu ?)

Original comment by ram...@uci.edu on 4 Jun 2013 at 4:10

GoogleCodeExporter commented 8 years ago
Yeah! I am just verifying, by re-building after merging my branches to latest 
master. Thanks for the quick turnaround Raman!

Original comment by madhusudancs on 4 Jun 2013 at 4:18

GoogleCodeExporter commented 8 years ago
What is the difference between the following two use cases ?

i) CREATE FUNCTION function-name()

drop dataverse test if exists;
create dataverse test;

use dataverse test;

create function test.f1(){
100
};

f1();

ii) DECLARE FUNCTION function-name()

drop dataverse test if exists;
create dataverse test;

use dataverse test;

declare function f1(){
100
};

 let $x:=f1()
 return $x

Original comment by khfaraaz82 on 4 Jun 2013 at 4:35

GoogleCodeExporter commented 8 years ago
Khurram, I think declare is per session, whereas create is for the whole 
instance of asterix.

Marking this issue as verified since Raman fixed it and I verified it.

Original comment by madhusudancs on 4 Jun 2013 at 4:45