bug #11199 fixed - atomsSystemUpdate returned an error 86/7286/2
Allan CORNET [Tue, 29 May 2012 09:12:01 +0000 (11:12 +0200)]
Change-Id: I5af514c2a57b00f39fb4450462e8461ed4ee6ed9

scilab/modules/atoms/macros/atoms_internals/atomsDESCRIPTIONget.sci
scilab/modules/atoms/tests/nonreg_tests/bug_11199.dia.ref [new file with mode: 0644]
scilab/modules/atoms/tests/nonreg_tests/bug_11199.tst [new file with mode: 0644]

index 4592fb3..5be0ad6 100644 (file)
@@ -33,7 +33,7 @@ function [packages,categories_flat,categories] = atomsDESCRIPTIONget(update)
   // =========================================================================
   atoms_path_all_users = atomsPath("system", "allusers");
   atoms_path_user = atomsPath("system", "user");
-  
+
   filename_test_rw = "__ATOMS_RW__";
   if isfile(atoms_path_all_users + filename_test_rw) then
     mdelete(atoms_path_all_users + filename_test_rw);
@@ -56,13 +56,13 @@ function [packages,categories_flat,categories] = atomsDESCRIPTIONget(update)
       end
     end
   else  // The user is not a Scilab admin => default user profile used
-    packages_path = atoms_path_all_users + "packages";
+    packages_path = atoms_path_user + "packages";
   end
 
   categories_path  = atoms_path_user + "categories";
   packages_path_info = fileinfo(packages_path);
-  
-  
+
+
   // in offline mode we use only DESCRIPTION file of the module
   if (atomsGetConfig("offLine") == "True" | atomsGetConfig("offline") == "True") then
     if isfile(atomsPath("system", "session") + "/DESCRIPTION_archives") then
@@ -76,7 +76,7 @@ function [packages,categories_flat,categories] = atomsDESCRIPTIONget(update)
     end
     return
   end
-  
+
 
   // If necessary, rebuild the struct
   // =========================================================================
@@ -217,7 +217,11 @@ function [packages,categories_flat,categories] = atomsDESCRIPTIONget(update)
     categories     = description("categories");
     categories_flat  = description("categories_flat");
 
-    save(packages_path, "packages", "categories", "categories_flat")
+    commandToExec = "save(packages_path, ""packages"", ""categories"", ""categories_flat"")";
+    ierr = execstr(commandToExec, "errcatch");
+    if ierr <> 0 then
+      error(msprintf(gettext("%s: save (''%s'') has failed.\n"),"atomsDESCRIPTIONget", packages_path));
+    end
 
   // Just load from file
   // =========================================================================
diff --git a/scilab/modules/atoms/tests/nonreg_tests/bug_11199.dia.ref b/scilab/modules/atoms/tests/nonreg_tests/bug_11199.dia.ref
new file mode 100644 (file)
index 0000000..e88a954
--- /dev/null
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH ATOMS -->
+//
+// <-- Non-regression test for bug 11199 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11199
+//
+// <-- Short Description -->
+// atomsSystemUpdate returned an error.
+atomsSystemUpdate();
diff --git a/scilab/modules/atoms/tests/nonreg_tests/bug_11199.tst b/scilab/modules/atoms/tests/nonreg_tests/bug_11199.tst
new file mode 100644 (file)
index 0000000..c585e3f
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH ATOMS -->
+//
+// <-- Non-regression test for bug 11199 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11199
+//
+// <-- Short Description -->
+// atomsSystemUpdate returned an error.
+
+
+atomsSystemUpdate();
\ No newline at end of file