Skip to content

Commit a050e64

Browse files
committed
add a flag so we can easily test in multi-context mode
1 parent bd8cde7 commit a050e64

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

graalpython/com.oracle.graal.python.shell/src/com/oracle/graal/python/shell/GraalPythonMain.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import org.graalvm.options.OptionCategory;
4545
import org.graalvm.polyglot.Context;
4646
import org.graalvm.polyglot.Context.Builder;
47+
import org.graalvm.polyglot.Engine;
4748
import org.graalvm.polyglot.PolyglotException;
4849
import org.graalvm.polyglot.PolyglotException.StackFrame;
4950
import org.graalvm.polyglot.Source;
@@ -73,14 +74,14 @@ public static void main(String[] args) {
7374
private boolean stdinIsInteractive = System.console() != null;
7475
private boolean runLLI = false;
7576
private boolean unbufferedIO = false;
77+
private boolean multiContext = false;
7678
private VersionAction versionAction = VersionAction.None;
7779
private String sulongLibraryPath = null;
7880
private List<String> givenArguments;
7981
private boolean wantsExperimental = false;
8082

8183
@Override
8284
protected List<String> preprocessArguments(List<String> givenArgs, Map<String, String> polyglotOptions) {
83-
8485
ArrayList<String> unrecognized = new ArrayList<>();
8586
ArrayList<String> inputArgs = new ArrayList<>();
8687
inputArgs.addAll(givenArgs);
@@ -197,6 +198,13 @@ protected List<String> preprocessArguments(List<String> givenArgs, Map<String, S
197198
unrecognized.add(arg);
198199
}
199200
break;
201+
case "-multi-context":
202+
if (wantsExperimental) {
203+
multiContext = true;
204+
} else {
205+
unrecognized.add(arg);
206+
}
207+
break;
200208
case "-dump":
201209
if (wantsExperimental) {
202210
subprocessArgs.add("Dgraal.Dump=");
@@ -374,6 +382,10 @@ protected void launch(Builder contextBuilder) {
374382
contextBuilder.option("python.TerminalWidth", Integer.toString(consoleHandler.getTerminalWidth()));
375383
contextBuilder.option("python.TerminalHeight", Integer.toString(consoleHandler.getTerminalHeight()));
376384

385+
if (multiContext) {
386+
contextBuilder.engine(Engine.create());
387+
}
388+
377389
int rc = 1;
378390
try (Context context = contextBuilder.build()) {
379391
runVersionAction(versionAction, context.getEngine());

0 commit comments

Comments
 (0)