printArr(client.execute("addExec", new Object[] { "abc" }));
printArr(client.execute("addExec", new Object[] { "import sys" }));
printArr(client.execute("addExec", new Object[] { "class Foo:" }));
printArr(client.execute("addExec", new Object[] { " print 20" }));
printArr(client.execute("addExec", new Object[] { " print >> sys.stderr, 30" }));
printArr(client.execute("addExec", new Object[] { "" }));
printArr(client.execute("addExec", new Object[] { "foo=Foo()" }));
printArr(client.execute("addExec", new Object[] { "foo.__doc__=None" }));
printArr("start get completions");
Object[] completions = (Object[]) client.execute("getCompletions", new Object[] { "fo" });
//the completions may come in any order, we must sort it for the test and remove things we don't expect.