[bug_14225] Scilab binary return 1 when an error occured in scilab before exit. Retur...
[scilab.git] / scilab / modules / core / tests / nonreg_tests / bug_14225.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2015 - Scilab Enterprises - Cedric Delamarre
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 14225 -->
11 //
12 // <-- Bugzilla URL -->
13 // http://bugzilla.scilab.org/14225
14 //
15 // <-- Short Description -->
16 // command-line option "-quit" should set the processs Exit status
17
18 if getos() == "Windows" then
19     scilabBin = SCI + "/bin/scilex ";
20 else
21     scilabBin = SCI + "/bin/scilab-cli ";
22 end
23
24 //With -quit argument
25 err = unix(scilabBin + "-e ""exit()"" -quit");
26 assert_checkequal(err, 0);
27 err = unix(scilabBin + "-e ""1+1;"" -quit");
28 assert_checkequal(err, 0);
29 err = unix(scilabBin + "-e ""1+1; exit(12)"" -quit");
30 assert_checkequal(err, 12);
31 err = unix(scilabBin + "-e ""error(\""error_test\"");"" -quit");
32 assert_checkequal(err, 1);
33 err = unix(scilabBin + "-e ""error(\""error_test\"");exit(12)"" -quit");
34 assert_checkequal(err, 1);
35 err = unix(scilabBin + "-e ""try, error(\""error_test\""); catch, disp(lasterror()),end"" -quit");
36 assert_checkequal(err, 0);
37 err = unix(scilabBin + "-e ""try, error(\""error_test\""); catch,disp(lasterror());exit(12), end"" -quit");
38 assert_checkequal(err, 12);
39
40 //Without -quit argument
41 err = unix(scilabBin + "-e ""exit()""");
42 assert_checkequal(err, 0);
43 err = unix(scilabBin + "-e ""1+1; exit(12)""");
44 assert_checkequal(err, 12);
45 err = unix(scilabBin + "-e ""try, error(\""error_test\""); catch,disp(lasterror());exit(12), end""");
46 assert_checkequal(err, 12);
47