def test_pickle_session_open_file(self): """Pickle Session object with open file.""" s = Session(devices={'a': self.output_path()}) s.execute('open "A:TEST" for output as 1') ps = pickle.dumps(s) s2 = pickle.loads(ps) s2.execute('print#1, "test"') s2.close() with open(self.output_path('TEST')) as f: assert f.read() == u'test\n\x1a'
def test_pickle_session_running(self): """Pickle Session object with running program.""" s = Session() s.execute('10 for i%=1 to 10: system: next') try: s.execute('run') except Exit: pass ps = pickle.dumps(s) s2 = pickle.loads(ps) # resume the running program try: s2.interact() except Exit: pass assert s2.get_variable('i%') == 2