def test_rtseq_with_deps_multiple_times_diff_folder(): seq = RealTimeSequence(calls_another) folder = tempfile.mkdtemp() seq.save(folder) _, _, files = next(os.walk(folder)) assert len(files) == 2 folder = tempfile.mkdtemp() seq.save(folder) _, _, files = next(os.walk(folder)) assert len(files) == 2
def test_rtseq_with_deps_multiple_times(): seq = RealTimeSequence(calls_another) folder = tempfile.mkdtemp() seq.save(folder) root, _, files = next(os.walk(folder)) assert len(files) == 2 for file in files: os.remove(os.path.join(root, file)) seq.save(folder) _, _, files = next(os.walk(folder)) assert len(files) == 2
def save_py_as_rtseq(toplevelfunc, dest_folder): """ Saves a Python function as an RT sequence that is compatible with the Stimulus Profile Editor. Args: toplevelfunc: the Python function you want to save. dest_folder[str]: the folder you want to save the sequence and all its dependencies in. Returns: The full path to the main sequence file. Raises: :class:`niveristand.errors.TranslateError`: if the function is not successfully translated. """ from niveristand.clientapi import RealTimeSequence seq = RealTimeSequence(toplevelfunc) filename = seq.save(dest_folder) return filename
def test_rtseq_several_calls(): seq = RealTimeSequence(two_levels_deep) folder = tempfile.mkdtemp() seq.save(folder) _, _, files = next(os.walk(folder)) assert len(files) == 4