update some dynamic_link tests to create tmp files in scilab tmp dir instead of os...
[scilab.git] / scilab / modules / dynamic_link / tests / nonreg_tests / bug_3639.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2008-2011 - DIGITEO - Allan CORNET
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- CLI SHELL MODE -->
9 //
10 // <-- Non-regression test for bug 3639 -->
11 //
12 // <-- Bugzilla URL -->
13 // http://bugzilla.scilab.org/show_bug.cgi?id=3639
14 //
15 // <-- Short Description -->
16 // link without parameters can crash
17
18 ilib_verbose(0);
19
20 currentpath = pwd();
21 cd TMPDIR;
22 OS_TMP_DIR = pwd();
23
24 TEST_NAME = 'bug_3639_1';
25 mkdir(OS_TMP_DIR, TEST_NAME);
26 TEST_DIR_1 = OS_TMP_DIR + filesep() + TEST_NAME;
27 copyfile(SCI+'/modules/dynamic_link/tests/nonreg_tests/bug_3639.c' , TEST_DIR_1 + filesep() + 'bug_3639.c');
28 chdir(TEST_DIR_1);
29
30 files = ['bug_3639.c'];
31 ilib_build('libc_fun1', ['c_sum1','c_intsum'; 'c_sub1', 'c_intsub'], files, []);
32 // load the shared library 
33 info_link = link();
34 assert_checkequal(info_link, []);
35 exec loader.sce;
36
37 TEST_NAME = 'bug_3639_2';
38 mkdir(OS_TMP_DIR, TEST_NAME);
39 TEST_DIR_2 = OS_TMP_DIR + filesep() + TEST_NAME;
40 copyfile(SCI+'/modules/dynamic_link/tests/nonreg_tests/bug_3639.c' , TEST_DIR_2 + filesep() + 'bug_3639.c');
41 chdir(TEST_DIR_2);
42
43 ilib_build('libc_fun2', ['c_sum2', 'c_intsum'; 'c_sub2','c_intsub'], files, []);
44 info_link = link();
45 assert_checkequal(info_link, 'libc_fun1');
46 exec loader.sce;
47
48 info_link = link();
49 assert_checkequal(info_link, ['libc_fun2','libc_fun1']);
50
51 // cleaning
52 chdir(currentpath);
53 // ulink() all libraries
54 ulink();
55 clearfun('c_sum1');
56 clearfun('c_sub1');
57 clearfun('c_sum2');
58 clearfun('c_sub2');
59
60 //remove TMP_DIR
61 rmdir(TEST_DIR_1,'s');
62 rmdir(TEST_DIR_2,'s');
63 // =============================================================================