bugGNU Octave - Bugs: bug #30341, Cannot run 'test...

 
 

bug #30341: Cannot run 'test COMPILED_FUNCTION_NAME' from installed Octave

Submitter:  Søren Hauberg <hauberg>
Submitted:  Sun 04 Jul 2010 10:43:18 AM UTC
   
 
Category:  Configuration and Build System Severity:  1 - Wish
Priority:  1 - Later Item Group:  Other
Status:  Confirmed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 15 Feb 2011 12:28:18 AM UTC, comment #5: 

As suggested I added a more explicit error message and am closing this bug. See the changeset

http://hg.savannah.gnu.org/hgweb/octave/rev/890e89c3dfeb

D.

David Bateman <dbateman>
Group Member
Mon 12 Jul 2010 08:48:06 PM UTC, comment #4: 

I wasn't thinking of renaming any functions, just extracting the tests, automatically when Octave is built, then installing those tests along with the rest of Octave.  The test function would then need to be modified to look for the installed tests separate from .m or .cc files.  We might also need to have a way to tag a block of tests to indicate that they are intended to test a particular function.  Otherwise, I don't know how we would know where to store each set of tests found in src/data.cc, for example.  Currently, the tests in .cc files are run and results are reported on a per file basis, not for each function that the file contains.  This doesn't matter much when you are running the tests as part of the build process, but I imagine it would matter if you wanted to run tests for individual built-in or dld functions after Octave is installed.

John W. Eaton <jwe>
Group administrator
Mon 12 Jul 2010 07:43:09 PM UTC, comment #3: 

My vote is for the simple fix of better documentation.  It seems unlikely in practice that people will need to repeatedly run the verification tests unless they are working with the development code.  Also, the benefit of this small ability doesn't seem to outweigh the cost of significant renaming of function names to internal ones combined with new .m files.

Rik <rik5>
Group administrator
Mon 12 Jul 2010 01:59:02 PM UTC, comment #2: 

Yes, we could install the tests for compiled (both dynamically loaded and built-in) functions somewhere and arrange for the test function to find the installed tests.

Or, we could at least fix the test function to look and see if the named function is a built-in or dld function and give a better message, maybe

  ????? chol: source code with tests for dynamically linked function not found

John W. Eaton <jwe>
Group administrator
Thu 08 Jul 2010 01:44:11 AM UTC, comment #1: 

This issue is confirmed on a recent tip, but goes back at least as far as 3.0.5.

The problem exists for all the compiled functions in /usr/libexec/octave/VERSION/oct/ARCHITECTURE/.  There are quite a few functions here: eigs, inv, lsode, etc.

The issue is that test.m needs to find the test code and it looks for .m and .cc files.  If you have the development version you have the original source code and the .cc files include the tests.

I'm not sure what the best solution is.  We could have .m files which only have the tests and the documentation strings and call the compiled function by a different name.  There are already examples of this I believe.

On the other hand, one usually verifies a build before installation and not after.  Running 'make check' will work because the source code is available.  I'm not sure how necessary it is to run 'test chol' after installing.

Rik <rik5>
Group administrator
Sun 04 Jul 2010 10:43:18 AM UTC, original submission:  

I'm not sure if this is a feature or a bug, but I guess it should be mentioned anyway...

If I run 'test chol' from Octave started via './run-octave' I get

        warning: spcholinv is obsolete and will be removed from a future
        version of Octave; please use cholinv instead
        PASSES 26 out of 26 tests

but if I run the same command from the same Octave version that is installed on my system (I run 'octave' instead of './run-octave') then I get

        ????? chol does not exist in path

It might be worth mentioning that 'chol' is in the path I can run the function.

Søren

Søren Hauberg <hauberg>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by dbateman (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by hauberg (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2011-02-15 dbateman Open/ClosedOpen Closed
    2010-09-16 jwe Severity2 - Minor 1 - Wish
        Priority5 - Normal 1 - Later
    2010-07-08 rik5 CategoryNone Configuration and Build System
        Item GroupNone Other
        StatusNone Confirmed
        SummaryCannot run tests from installed Octave Cannot run 'test COMPILED_FUNCTION_NAME' from installed Octave

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code