Skip to content

integration tests for groovy script session #181

@devinrsmith

Description

@devinrsmith

We don't test groovy script session execution in CI.

Recently, due to the removal of large swaths of code, it has been breaking with errors like:

grpc-api_1    | Script_1: 29: unable to resolve class com.illumon.iris.gui.widget.poliform.VariableTypeForm
grpc-api_1    |  @ line 29, column 1.
grpc-api_1    |    import static com.illumon.iris.gui.widget.poliform.VariableTypeForm.*;
grpc-api_1    |    ^
grpc-api_1    | 
grpc-api_1    | Script_1: 29: unable to resolve class com.illumon.iris.gui.widget.poliform.VariableTypeForm
grpc-api_1    |  @ line 29, column 1.
grpc-api_1    |    import static com.illumon.iris.gui.widget.poliform.VariableTypeForm.*;
grpc-api_1    |    ^
grpc-api_1    | 
grpc-api_1    | 2 errors
grpc-api_1    | 
grpc-api_1    |         at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:309)
grpc-api_1    |         at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:938)
grpc-api_1    |         at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:585)
grpc-api_1    |         at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:534)
grpc-api_1    |         at com.illumon.iris.db.util.IrisDbGroovySession.updateClassloader(IrisDbGroovySession.java:552)
grpc-api_1    |         at com.illumon.iris.db.util.IrisDbGroovySession.evaluate(IrisDbGroovySession.java:245)
grpc-api_1    |         at com.illumon.iris.db.util.AbstractScriptSession.evaluateScript(AbstractScriptSession.java:27)
grpc-api_1    |         at io.deephaven.grpc_api.console.ConsoleServiceGrpcImpl.lambda$null$7(ConsoleServiceGrpcImpl.java:114)
grpc-api_1    |         at com.illumon.util.locks.FunctionalLock.doLockedInterruptibly(FunctionalLock.java:47)
grpc-api_1    |         at io.deephaven.grpc_api.console.ConsoleServiceGrpcImpl.lambda$null$8(ConsoleServiceGrpcImpl.java:108)
grpc-api_1    |         at io.deephaven.grpc_api.session.SessionState$ExportBuilder.lambda$submit$1(SessionState.java:941)
grpc-api_1    |         at io.deephaven.grpc_api.session.SessionState$ExportObject.doExport(SessionState.java:585)
grpc-api_1    |         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
grpc-api_1    |         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
grpc-api_1    |         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
grpc-api_1    |         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
grpc-api_1    |         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
grpc-api_1    |         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
grpc-api_1    |         at java.lang.Thread.run(Thread.java:748)

It would be nice to be able to have some more confidence that our scripts worked if we could automatically test them.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions