def run_test_command(self, cmd): observer = FSEventsObserver() shared_queue = Queue.Queue() handler = ChangeHandler(shared_queue) observer.schedule(handler, self.temp_dir) observer.start() args = ['./webnull.py'] + cmd env = os.environ.copy() if 'DEV_MODE' in env: del env['DEV_MODE'] env['HOSTFILE_PATH'] = self.hostfile_path env['TEST_DURATION'] = '0.02' process = subprocess.Popen(args, env=env) process.wait() time.sleep( .09 ) # if we just quit, the observer doesn't see the final file action. bodies = [] while not shared_queue.empty(): bodies.append(shared_queue.get()) observer.stop() observer.join() return bodies