sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.37k stars 466 forks source link

singular.version() has no doctest #5994

Closed simon-king-jena closed 7 years ago

simon-king-jena commented 15 years ago

Neither singular.version nor singular_version have doc tests.

Upstream: Completely fixed; Fix reported upstream

CC: @kedlaya

Component: interfaces

Keywords: singular version help.cnf

Author: Jori Mäntysalo

Branch/Commit: 87c73ac

Reviewer: Jeroen Demeyer

Issue created by migration from https://trac.sagemath.org/ticket/5994

83660e46-0051-498b-a8c1-f7a7bd232b5a commented 9 years ago
comment:48

Replying to @simon-king-jena:

Replying to @nexttime:

There's also #sagemath on freenode. Just saying...

Meaning what?

Overfull inbox, TeX would have said. ;-)

simon-king-jena commented 9 years ago
comment:49

It seems the current agreement seems to be to modify spkg-install, so that it copies help.cnf from the singular sources to $SAGE_SHARE/singular/. What is the path to the singular sources while spkg-install is executed?

jdemeyer commented 9 years ago
comment:50

Replying to @simon-king-jena:

What is the path to the singular sources while spkg-install is executed?

It's the current working directory.

f29946bc-ee7b-48cd-9abc-3445948c551d commented 7 years ago

Changed branch from u/SimonKing/singular_version_yielding_error to u/jmantysalo/singular_version_yielding_error

f29946bc-ee7b-48cd-9abc-3445948c551d commented 7 years ago

Changed commit from a2ae8c8 to 87c73ac

f29946bc-ee7b-48cd-9abc-3445948c551d commented 7 years ago
comment:52

Error has gone away with Singular 4.

I added doctest.

What goes to output format, I think this should be changed in all *_version() commands at once. (Assuming somebody would care, which is propably not true.)


New commits:

87c73acDoctest singular_version().
f29946bc-ee7b-48cd-9abc-3445948c551d commented 7 years ago

Changed author from William Stein, Simon King to Jori Mäntysalo

f29946bc-ee7b-48cd-9abc-3445948c551d commented 7 years ago

Description changed:

--- 
+++ 
@@ -1,67 +1,6 @@
 First of all, `singular.version()` does not work. When one starts sage and calls it, there is an error:

-```
-----------------------------------------------------------------------
-| Sage Version 3.4.1, Release Date: 2009-04-21                       |
-| Type notebook() for the GUI, and license() for information.        |
-----------------------------------------------------------------------
-sage: singular.version()
-ERROR: An unexpected error occurred while tokenizing input
-The following traceback may be corrupted or invalid
-The error message is: ('EOF in multi-line statement', (795, 0))
-
----------------------------------------------------------------------------
-RuntimeError                              Traceback (most recent call last)
-
-/home/SimonKing/.sage/temp/sage.math.washington.edu/10897/_home_SimonKing__sage_init_sage_0.py in <module>()
-
-/usr/local/sage/local/lib/python2.5/site-packages/sage/interfaces/singular.pyc in version(self)
-   1012         EXAMPLES:
-   1013         """
--> 1014         return singular_version()
-   1015
-   1016     def _function_class(self):
-
-/usr/local/sage/local/lib/python2.5/site-packages/sage/interfaces/singular.pyc in singular_version()
-   1807     EXAMPLES:
-   1808     """
--> 1809     return singular.eval('system("--version");')
-   1810
-   1811
-
-/usr/local/sage/local/lib/python2.5/site-packages/sage/interfaces/singular.pyc in eval(self, x, allow_semicolon, strip, **kwds)
-    541
-    542         if s.find("error") != -1 or s.find("Segment fault") != -1:
---> 543             raise RuntimeError, 'Singular error:\n%s'%s
-    544
-    545         if get_verbose() > 0:
-
-RuntimeError: Singular error:
-   ? cannot open `help.cnf`
-Singular for x86_64-Linux version 3-0-4 (3044-2009031122)  Mar 11 2009 22:29:08
-with
-        factory(@(#) factoryVersion = 3.0.4),libfac(3.0.4,Mar 2008),
-        GMP(4.2),NTL(5.4.2),static readline,Plural,DBM,
-        namespaces,dynamic modules,dynamic p_Procs,OM_CHECK=0,OM_TRACK=0,random=1241602325
-        CC= gcc -O3 -g -fPIC -pipe -DNDEBUG -DOM_NDEBUG -Dx86_64_Linux -DHAVE_CONFIG_H,
-        CXX= g++ -O3 -g -fPIC -pipe -DNDEBUG -DOM_NDEBUG -Dx86_64_Linux -DHAVE_CONFIG_H (4.2.4 (Ubuntu 4.2.4-1ubuntu3))
-argv[0]   :     Singular-3-0-4
-SearchPath:     /usr/local/sage/local/LIB
-Singular  :     /usr/local/sage/local/bin/Singular-3-0-4
-BinDir    :     /usr/local/sage/local/bin
-RootDir   :     /usr/local/sage/local
-DefaultDir:     /usr/local/sage/local
-InfoFile  :
-IdxFile   :
-HtmlDir   :
-ManualUrl :     http://www.singular.uni-kl.de/Manual/3-0-4
-ExDir     :
-Path      :     /usr/local/sage/local/bin:/usr/local/sage/local/polymake/bin:/usr/local/sage:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
-EmacsDir  :
-Available HelpBrowsers: dummy, emacs,
-Current HelpBrowser: dummy
-   ? error occurred in STDIN line 3: `system("--version");`
-```
+E: There was an error that is corrected with Singular 4.

 Secondly, neither `singular.version` nor `singular_version` have doc tests.
f29946bc-ee7b-48cd-9abc-3445948c551d commented 7 years ago

Changed upstream from Reported upstream. Developers deny it's a bug. to Completely fixed; Fix reported upstream

jdemeyer commented 7 years ago

Description changed:

--- 
+++ 
@@ -1,27 +1 @@
-First of all, `singular.version()` does not work. When one starts sage and calls it, there is an error:
-
-E: There was an error that is corrected with Singular 4.
-
-Secondly, neither `singular.version` nor `singular_version` have doc tests.
-
-Thirdly, if it is called again, it kind of works:
-
-```
-sage: singular.version()
-'Singular for x86_64-Linux version 3-0-4 (3044-2009031122)  Mar 11 2009 22:29:08\nwith\n\tfactory(@(#) factoryVersion = 3.0.4),libfac(3.0.4,Mar 2008),\n\tGMP(4.2),NTL(5.4.2),static readline,Plural,DBM,\n\tnamespaces,dynamic modules,dynamic p_Procs,OM_CHECK=0,OM_TRACK=0,random=1241602325\n\tCC= gcc -O3 -g -fPIC -pipe -DNDEBUG -DOM_NDEBUG -Dx86_64_Linux -DHAVE_CONFIG_H,\n\tCXX= g++ -O3 -g -fPIC -pipe -DNDEBUG -DOM_NDEBUG -Dx86_64_Linux -DHAVE_CONFIG_H (4.2.4 (Ubuntu 4.2.4-1ubuntu3))\nargv[0]   :\tSingular-3-0-4\nSearchPath:\t/usr/local/sage/local/LIB\nSingular  :\t/usr/local/sage/local/bin/Singular-3-0-4\nBinDir    :\t/usr/local/sage/local/bin\nRootDir   :\t/usr/local/sage/local\nDefaultDir:\t/usr/local/sage/local\nInfoFile  :\t\nIdxFile   :\t\nHtmlDir   :\t\nManualUrl :\thttp://www.singular.uni-kl.de/Manual/3-0-4\nExDir     :\t\nPath      :\t/usr/local/sage/local/bin:/usr/local/sage/local/polymake/bin:/usr/local/sage:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games\nEmacsDir  :\t\nAvailable HelpBrowsers: dummy, emacs, \nCurrent HelpBrowser: dummy '
-```
-
-Finally, I believe that the output of `singular.version` is nasty. If I ask for the version of Singular, I expect to get, say, a tuple of integers, for example:
-
-```
-sage: def my_singular_version():
-....:     return tuple([Integer(x) for x in singular.eval('system("version")')])
-....:
-sage: my_singular_version()
-(3, 0, 4, 4)
-```
-
-I suggest to remake `singular.version` so that it returns a tuple of integers, rather than a cryptic string.
-
-Problem though: Would this break code?
-
+Neither `singular.version` nor `singular_version` have doc tests.
jdemeyer commented 7 years ago

Reviewer: Jeroen Demeyer

vbraun commented 7 years ago

Changed branch from u/jmantysalo/singular_version_yielding_error to 87c73ac