def testSetShowFiles(self): sf = [] def f(fileheaders, wtitle, fdel, pager): sf.append(wtitle) for tf in fileheaders: sf.append(tf) rinterface.set_showfiles(f) file_path = rinterface.baseenv["file.path"] r_home = rinterface.baseenv["R.home"] filename = file_path(r_home(rinterface.StrSexpVector(("doc", ))), rinterface.StrSexpVector(("COPYRIGHTS", ))) res = rinterface.baseenv["file.show"](filename) self.assertEqual(filename[0], sf[1][1]) self.assertEqual('R Information', sf[0])
def testShowFilesWithError(self): def f(fileheaders, wtitle, fdel, pager): raise Exception("Doesn't work") rinterface.set_showfiles(f) file_path = rinterface.baseenv["file.path"] r_home = rinterface.baseenv["R.home"] filename = file_path(r_home(rinterface.StrSexpVector(("doc", ))), rinterface.StrSexpVector(("COPYRIGHTS", ))) tmp_file = tempfile.NamedTemporaryFile() stderr = sys.stderr sys.stderr = tmp_file try: res = rinterface.baseenv["file.show"](filename) except rinterface.RRuntimeError, rre: pass
def testShowFilesWithError(self): def f(fileheaders, wtitle, fdel, pager): raise Exception("Doesn't work.") rinterface.set_showfiles(f) file_path = rinterface.baseenv["file.path"] r_home = rinterface.baseenv["R.home"] filename = file_path(r_home(rinterface.StrSexpVector(("doc",))), rinterface.StrSexpVector(("COPYRIGHTS",))) tmp_file = tempfile.NamedTemporaryFile() stderr = sys.stderr sys.stderr = tmp_file try: res = rinterface.baseenv["file.show"](filename) except rinterface.RRuntimeError: pass except Exception as e: sys.stderr = stderr raise e sys.stderr = stderr tmp_file.flush() tmp_file.seek(0) self.assertEqual("Doesn't work.", str(sys.last_value))
def testShowFilesWithError(self): def f(fileheaders, wtitle, fdel, pager): raise Exception("Doesn't work.") rinterface.set_showfiles(f) file_path = rinterface.baseenv["file.path"] r_home = rinterface.baseenv["R.home"] filename = file_path(r_home(rinterface.StrSexpVector(("doc", ))), rinterface.StrSexpVector(("COPYRIGHTS", ))) tmp_file = tempfile.NamedTemporaryFile() stderr = sys.stderr sys.stderr = tmp_file try: res = rinterface.baseenv["file.show"](filename) except rinterface.RRuntimeError: pass except Exception as e: sys.stderr = stderr raise e sys.stderr = stderr tmp_file.flush() tmp_file.seek(0) self.assertEqual("Doesn't work.", str(sys.last_value))