diff options
author | Mauricio Collares <mauricio@collares.org> | 2022-02-11 19:09:10 -0300 |
---|---|---|
committer | Mauricio Collares <mauricio@collares.org> | 2022-02-11 19:13:34 -0300 |
commit | c763432549db89f6bd0516115ec885e1deb88a68 (patch) | |
tree | f16bc537b9d3728a8f396a40093fc3f5847c7016 /pkgs/applications/science | |
parent | 8704688a6fc2c548de0bcf90bd5b78a57a2fd389 (diff) |
sage: don't test for Cython source code in tracebacks (temporarily)
Diffstat (limited to 'pkgs/applications/science')
-rw-r--r-- | pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch | 52 | ||||
-rw-r--r-- | pkgs/applications/science/math/sage/sage-src.nix | 10 |
2 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch b/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch new file mode 100644 index 0000000000000..871e494c36255 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch @@ -0,0 +1,52 @@ +diff --git a/src/sage/repl/interface_magic.py b/src/sage/repl/interface_magic.py +index 8a455b69b0..a93e1c9e04 100644 +--- a/src/sage/repl/interface_magic.py ++++ b/src/sage/repl/interface_magic.py +@@ -260,7 +260,7 @@ class InterfaceMagic(object): + 2 + 120 + sage: shell.run_cell('%%gap foo\n1+1;\n') +- ...File "<string>", line unknown ++ ...File...<string>... + SyntaxError: Interface magics have no options, got "foo" + <BLANKLINE> + sage: shell.run_cell('%%gap?') +diff --git a/src/sage/repl/interpreter.py b/src/sage/repl/interpreter.py +index 71dbe429fd..36b1d986d6 100644 +--- a/src/sage/repl/interpreter.py ++++ b/src/sage/repl/interpreter.py +@@ -70,25 +70,6 @@ that shell. The bulk of this functionality is provided through + + TESTS: + +-Check that Cython source code appears in tracebacks:: +- +- sage: from sage.repl.interpreter import get_test_shell +- sage: shell = get_test_shell() +- sage: print("dummy line"); shell.run_cell('1/0') # see #25320 for the reason of the `...` and the dummy line in this test +- dummy line +- ... +- ZeroDivisionError...Traceback (most recent call last) +- <ipython-input-...> in <module>... +- ----> 1 Integer(1)/Integer(0) +- .../sage/rings/integer.pyx in sage.rings.integer.Integer...div... +- ... +- -> ... raise ZeroDivisionError("rational division by zero") +- ....: x = <Rational> Rational.__new__(Rational) +- ....: mpq_div_zz(x.value, ....value, (<Integer>right).value) +- <BLANKLINE> +- ZeroDivisionError: rational division by zero +- sage: shell.quit() +- + Test prompt transformer:: + + sage: from sage.repl.interpreter import SagePromptTransformer +@@ -423,7 +404,7 @@ def SagePreparseTransformer(lines): + sage: from sage.repl.interpreter import get_test_shell + sage: shell = get_test_shell() + sage: shell.run_cell(bad_syntax) +- File "<string>", line unknown ++ File...<string>... + SyntaxError: Mismatched ']' + <BLANKLINE> + sage: shell.quit() diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 019694fd265ef..e4531f0e5c2d3 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -119,6 +119,16 @@ stdenv.mkDerivation rec { # https://trac.sagemath.org/ticket/32959 ./patches/linbox-1.7-upgrade.patch + # To emit better tracebacks, IPython 8 parses Python files using the ast + # module (via the stack_data package). Since Cython is a superset of Python, + # this results in no Cython code being printed in tracebacks. Fixing this + # properly is tracked in https://github.com/alexmojaki/stack_data/issues/21, + # but for now we just disable the corresponding test. An alternative would + # be to revert IPython's IPython/core/ultratb.py, but this would need to be + # Sage-specific (since it would worsen tracebacks for pure Python code). + # Sage tracks this at https://trac.sagemath.org/ticket/33170 + ./patches/no-cython-sources-in-tracebacks-on-ipython8.patch + # https://trac.sagemath.org/ticket/32968 (fetchSageDiff { base = "9.5"; |