[Scilab-users] unit tests and help generation for overloaded unary/binary operators

philippe rouxph.22 at gmail.com
Thu Jun 16 18:28:34 CEST 2016


Hi,

I'm writing a toolbox to handle "big integers" represented by a tlist
of type "bigint". In my "macros/" directory  I wrote my scilab functions
for bigint type  and overloaded unary and  binary operators (+,-,>,==,
...) for example %bigint_o_bigint  for bigint equality "=="  (see the
source code at the bottom of this message ). For each function I wrote,
I've created :

- a short help,  as a comment at the beginning of the *.sci file
- a test file "*.tst" placed in "/tests/unit_tests/" directory

I have some problems when I execute my builder.sce  :

if %bigint_o_bigint  function is stored in macros/%bigint_o_bigint.sci
and its unit test in tests/unit_tests/%bigint_o_bigint.tst  then I get
an error  during help generation (but unit_tests are OK) :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Génération du document maître :
	/home/roux/Documents/informatique/scilab/bigint/help/en_US

Génération du fichier d'aide [javaHelp] in
/home/roux/Documents/informatique/scilab/bigint/help/en_US.
 !--error 999
buildDoc : Erreur pendant la génération de la documentation : no
protocol:
/home/roux/Documents/informatique/scilab/bigint/help/en_US/%bigint_o_bigint.xml.
at line     691 of function xmltoformat called by :
at line      17 of function xmltojar called by :
at line      51 of function tbx_build_help called by :
tbx_build_help(toolbox_title, help_lang_dir);
at line       7 of exec file called by :
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if %bigint_o_bigint function is stored in macros/bigint_o_bigint.sci and
its unit test in tests/unit_tests/%bigint_o_bigint.tst  or
tests/unit_tests/bigint_o_bigint.tst   then I get the error  during
unit_tests (but online help is generated without problems ???? )

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-->tbx_build_help_loader(toolbox_title, help_dir)

   TMPDIR = /tmp/SCI_TMP_420_E0z4Rx

   001/001 - [.] :

   001/009 - [.] bigint.........................................failed:
premature end of the test script
   002/009 - [.] bigint_o_bigint................................failed:
premature end of the test script


[...........]

   TEST : [.] bigint_o_bigint
   failed: premature end of the test script
   Check the following file :
   - /tmp/SCI_TMP_420_E0z4Rx/bigint_o_bigint.dia.tmp
   Or launch the following command :
   -
exec("/home/roux/Documents/informatique/scilab/bigint/tests/unit_tests/bigint_o_bigint.tst");

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

same problem  with %bigint_o_bigint.tst

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


   001/009 - [.] %bigint_o_bigint...............................failed:
premature end of the test script

[........]

   TEST : [.] %bigint_o_bigint
   failed: premature end of the test script
   Check the following file :
   - /tmp/SCI_TMP_420_E0z4Rx/%bigint_o_bigint.dia.tmp
   Or launch the following command :
   -
exec("/home/roux/Documents/informatique/scilab/bigint/tests/unit_tests/%bigint_o_bigint.tst");
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

how can I solve both problems ?

Philippe.

my %bigint_o_bigint code with help inside :


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [bool]=%bigint_o_bigint(x,y)
    //
    // Calling Sequence
    //   x==y
    //
    // Parameters
    //  x,y: bigint
    //  bool : boolean
    //
    // Description
    // bigint comparison
    //
    // Examples
    // //
    // x=bigint('123456789')
    // y=bigint('0123456789')
    // z=bigint('1234567890')
    // x==y  // true
    // x==z  // false
    //
    // See also
    //  bigint
    //
    // Authors
    //  Philippe Roux
    //

    x=check_bigint(x)
    y=check_bigint(y)
    bool=(x.signe==y.signe)&(and(x.rep==y.rep))
endfunction
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%




More information about the users mailing list