edouard@3436: """ This test opens, modifies, builds and runs exemple project named "python". edouard@3424: Test succeeds if runtime's stdout behaves as expected edouard@3424: """ edouard@3424: edouard@3424: import os edouard@3424: import time edouard@3424: edouard@3424: # allow module import from current test directory's parent edouard@3424: addImportPath(os.path.dirname(getBundlePath())) edouard@3424: edouard@3424: # common test definitions module edouard@3424: from sikuliberemiz import * edouard@3424: edouard@3424: # Start the app edouard@3424: proc,app = StartBeremizApp(exemple="python") edouard@3424: edouard@3424: # To detect when actions did finish because IDE content isn't changing edouard@3437: idle = IDEIdleObserver(app) edouard@3424: edouard@3436: doubleClick("1646062660770.png") edouard@3436: edouard@3437: idle.Wait(1,15) edouard@3437: edouard@3442: click("example") edouard@3436: edouard@3437: idle.Wait(1,15) edouard@3437: edouard@3436: type(Key.DOWN * 10, Key.CTRL) edouard@3436: edouard@3437: idle.Wait(1,15) edouard@3437: edouard@3436: doubleClick("1646066996620.png") edouard@3436: edouard@3437: idle.Wait(1,15) edouard@3437: edouard@3436: type(Key.TAB*3) # select text content edouard@3436: edouard@3437: type("'sys.stdout.write(\"EDIT TEST OK\\n\")'") edouard@3436: edouard@3436: type(Key.ENTER) edouard@3436: edouard@3437: idle.Wait(1,15) edouard@3437: edouard@3437: k = KBDShortcut(app) edouard@3437: edouard@3437: k.Save() edouard@3437: edouard@3437: del idle edouard@3437: edouard@3424: stdoutIdle = stdoutIdleObserver(proc) edouard@3424: edouard@3424: k.Clean() edouard@3424: edouard@3437: stdoutIdle.WaitForChangeAndIdle(2,15) edouard@3424: edouard@3424: k.Build() edouard@3424: edouard@3437: stdoutIdle.WaitForChangeAndIdle(2,15) edouard@3424: edouard@3424: k.Connect() edouard@3424: edouard@3437: stdoutIdle.WaitForChangeAndIdle(2,15) edouard@3424: edouard@3424: k.Transfer() edouard@3424: edouard@3437: stdoutIdle.WaitForChangeAndIdle(2,15) edouard@3424: edouard@3424: del stdoutIdle edouard@3424: edouard@3424: k.Run() edouard@3424: edouard@3424: # wait 10 seconds for 10 Grumpfs edouard@3436: found = waitPatternInStdout(proc, "EDIT TEST OK", 10) edouard@3424: edouard@3424: app.close() edouard@3424: edouard@3424: if found: edouard@3424: exit(0) edouard@3424: else: edouard@3424: exit(1) edouard@3424: