hdf5: force some hdf5 lib functions, force no depreacated functions, convert code...
[scilab.git] / scilab / modules / hdf5 / tests / unit_tests / h5readattr.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2012 - SCILAB ENTERPRISES - Simon GARESTE
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 // <-- ENGLISH IMPOSED -->
8 // <-- CLI SHELL MODE -->
9
10 msgerr = msprintf(gettext("%s: Wrong number of input argument(s): 1 to 3 expected."), "h5readattr");
11 assert_checkerror("h5readattr()",msgerr,77);
12 msgerr = msprintf(gettext("%s: Wrong type for input argument #1: A string expected."), "h5readattr");
13 assert_checkerror("h5readattr(42)",msgerr,999);
14 msgerr = msprintf(gettext("%s: Invalid number of argument(s): 3 expected."), "h5readattr");
15 assert_checkerror("h5readattr(""42"")",msgerr,999);
16 msgerr = msprintf(gettext("%s: Wrong type for input argument #2: A string expected."), "h5readattr");
17 assert_checkerror("h5readattr(""42"",42,42)",msgerr,999);
18 msgerr = msprintf(gettext("%s: Wrong type for input argument #3: A string expected."), "h5readattr");
19 assert_checkerror("h5readattr(""42"",""42"",42)",msgerr,999);
20 msgerr = msprintf(gettext("%s: Invalid hdf5 file: %s.\nHDF5 description: unable to find a valid file signature."), "h5readattr","42");
21 assert_checkerror("h5readattr(""42"",""42"",""42"")",msgerr,999);
22
23 x = int8(matrix(1:80, 10, 8));
24 save(TMPDIR + "/x.sod", "x");
25 version = string(getversion('scilab'));
26 version = getversion()+" "+strcat([version(1),version(2),version(3)],'.');
27
28 a = h5open(TMPDIR + "/x.sod");
29
30 scilab_version = h5readattr(a, "/", "SCILAB_scilab_version");
31 assert_checkequal(scilab_version,version);
32
33 scilab_class = h5readattr(a.root.x, "SCILAB_Class");
34 assert_checkequal(scilab_class,"integer");
35
36 msgerr = msprintf(gettext("%s: Cannot open attribute: %s\n"), ..
37                 "h5readattr","test");
38 assert_checkerror("h5readattr(a.root.x, ""test"")",msgerr,999);
39
40 msgerr = msprintf(gettext("%s: Invalid name: %s"), "h5readattr",".");
41 assert_checkerror("h5readattr(a.root.x)",msgerr,999);
42
43 msgerr = msprintf(gettext("%s: Cannot open attribute: %s"), ..
44             "h5readattr","Attributes");
45 assert_checkerror("h5readattr(a.root.x,""Attributes"")",msgerr,999);
46 //After closing, all h5readattr will fail
47 h5close(a);
48
49 msgerr = msprintf(gettext("%s: Invalid H5Object.\n"), "h5readattr");
50 assert_checkerror("h5readattr(a, ""/"", ""SCILAB_scilab_version"")",msgerr,999);
51 msgerr = msprintf(gettext("%s: Invalid H5Object.\n"), "%H5Object_e");
52 assert_checkerror("h5readattr(a.root.x, ""SCILAB_Class"")",msgerr,999);
53 assert_checkerror("h5readattr(a.root.x, ""test"")",msgerr,999);
54 assert_checkerror("h5readattr(a.root.x)",msgerr,999);
55 assert_checkerror("h5readattr(a.root.x,""Attributes"")",msgerr,999);
56 msgerr = msprintf(gettext("Undefined variable: %s\n"), "b");
57 assert_checkerror("h5readattr(b)",msgerr,4);
58
59 //on a non hdf5 variable
60 b=1;
61 msgerr = msprintf(gettext("%s: Wrong type for input argument #1: A string expected.\n"), "h5readattr");
62 assert_checkerror("h5readattr(b)",msgerr,999);
63 msgerr = msprintf(gettext("%s: Wrong type for input argument #1: " ..
64                     +"A string expected.\n"), "h5readattr");
65 assert_checkerror("h5readattr(b,""/"")",msgerr,999);
66 b="hello";
67 msgerr = msprintf(gettext("%s: Invalid hdf5 file: %s.\n"), "h5readattr",b);
68 assert_checkerror("h5readattr(b,""/"")",msgerr,999);
69
70
71 assert_checkequal(deletefile(TMPDIR+"/x.sod"),%T);