def _assemble_cmd(self): """ Assembles a shell command used in running tests under gdb or valgrind. EXAMPLES:: sage: from sage.doctest.control import DocTestDefaults, DocTestController sage: DC = DocTestController(DocTestDefaults(timeout=123), ["hello_world.py"]) sage: print DC._assemble_cmd() python "$SAGE_LOCAL/bin/sage-runtests" --serial --timeout=123 hello_world.py """ cmd = '''python "%s" --serial ''' % (os.path.join( "$SAGE_LOCAL", "bin", "sage-runtests")) opt = dict_difference(self.options.__dict__, DocTestDefaults().__dict__) for o in ("all", "sagenb"): if o in opt: raise ValueError( "You cannot run gdb/valgrind on the whole sage%s library" % ("" if o == "all" else "nb")) for o in ("all", "sagenb", "long", "force_lib", "verbose", "failed", "new"): if o in opt: cmd += "--%s " % o for o in ("timeout", "randorder", "stats_path"): if o in opt: cmd += "--%s=%s " % (o, opt[o]) if "optional" in opt: cmd += "--optional={} ".format(self._optional_tags_string()) return cmd + " ".join(self.files)
def _assemble_cmd(self): """ Assembles a shell command used in running tests under gdb or valgrind. EXAMPLES:: sage: from sage.doctest.control import DocTestDefaults, DocTestController sage: DC = DocTestController(DocTestDefaults(timeout=123), ["hello_world.py"]) sage: print DC._assemble_cmd() python "$SAGE_LOCAL/bin/sage-runtests" --serial --timeout=123 hello_world.py """ cmd = '''python "%s" --serial '''%(os.path.join("$SAGE_LOCAL","bin","sage-runtests")) opt = dict_difference(self.options.__dict__, DocTestDefaults().__dict__) for o in ("all", "sagenb"): if o in opt: raise ValueError("You cannot run gdb/valgrind on the whole sage%s library"%("" if o == "all" else "nb")) for o in ("all", "sagenb", "long", "force_lib", "verbose", "failed", "new"): if o in opt: cmd += "--%s "%o for o in ("timeout", "randorder", "stats_path"): if o in opt: cmd += "--%s=%s "%(o, opt[o]) if "optional" in opt: cmd += "--optional={} ".format(self._optional_tags_string()) return cmd + " ".join(self.files)
def _repr_(self): """ Return the print representation. EXAMPLES:: sage: from sage.doctest.control import DocTestDefaults sage: DocTestDefaults(timeout=100, foobar="hello") DocTestDefaults(foobar='hello', timeout=100) """ s = "DocTestDefaults(" for k in sorted(dict_difference(self.__dict__, DocTestDefaults().__dict__).keys()): if s[-1] != "(": s += ", " s += str(k) + "=" + repr(getattr(self,k)) s += ")" return s