config file was overwritten and corrupted when testing - it's now backed up/restored... 66/6066/8
Simon GARESTE [Thu, 26 Jan 2012 13:44:19 +0000 (14:44 +0100)]
Change-Id: I9bd3b819a885bef05e26f16bb4b2150ad33106e2

32 files changed:
SEP/INDEX
SEP/SEP_074_atomsSaveConfig.odt [new file with mode: 0644]
scilab/modules/atoms/help/en_US/atomsRestoreConfig.xml [new file with mode: 0644]
scilab/modules/atoms/help/en_US/atomsSaveConfig.xml [new file with mode: 0644]
scilab/modules/atoms/macros/atomsRestoreConfig.sci [new file with mode: 0644]
scilab/modules/atoms/macros/atomsSaveConfig.sci [new file with mode: 0644]
scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsAutoloadAdd.tst
scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsAutoloadDel.tst
scilab/modules/atoms/tests/unit_tests/atomsDepTreeShow.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsDepTreeShow.tst
scilab/modules/atoms/tests/unit_tests/atomsInstall.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsInstall.tst
scilab/modules/atoms/tests/unit_tests/atomsIsInstalled.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsIsInstalled.tst
scilab/modules/atoms/tests/unit_tests/atomsIsLoaded.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsIsLoaded.tst
scilab/modules/atoms/tests/unit_tests/atomsLoad.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsLoad.tst
scilab/modules/atoms/tests/unit_tests/atomsRemove.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsRemove.tst
scilab/modules/atoms/tests/unit_tests/atomsRemoveList.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsRemoveList.tst
scilab/modules/atoms/tests/unit_tests/atomsSetConfig.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsSetConfig.tst
scilab/modules/atoms/tests/unit_tests/atomsShow.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsShow.tst
scilab/modules/atoms/tests/unit_tests/atomsShow.win.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsUpdate.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsUpdate.tst
scilab/modules/atoms/tests/unit_tests/repositories.orig

index 6d88e2b..7982af7 100644 (file)
--- a/SEP/INDEX
+++ b/SEP/INDEX
@@ -69,4 +69,5 @@ SEP #069: Extend predef to get protected variable names
 SEP #070: Xcos validation functions
 SEP #071: Modify atomsRemove to delete tarball
 SEP #072: Extend fullpath to manage matrix of string as input argument
-SEP #073: New convolution functions
\ No newline at end of file
+SEP #073: New convolution functions
+SEP #074: Atoms configuration files management
\ No newline at end of file
diff --git a/SEP/SEP_074_atomsSaveConfig.odt b/SEP/SEP_074_atomsSaveConfig.odt
new file mode 100644 (file)
index 0000000..07ea4cf
Binary files /dev/null and b/SEP/SEP_074_atomsSaveConfig.odt differ
diff --git a/scilab/modules/atoms/help/en_US/atomsRestoreConfig.xml b/scilab/modules/atoms/help/en_US/atomsRestoreConfig.xml
new file mode 100644 (file)
index 0000000..3345a7d
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) DIGITEO - Simon GARESTE <simon.gareste@scilab.org>
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:lang="en" xml:id="atomsRestoreConfig">
+  <refnamediv>
+    <refname>atomsRestoreConfig</refname>
+    <refpurpose>Restore the configuration from the backup file</refpurpose>
+  </refnamediv>
+  <!-- ===================================================================== -->
+  <!-- Calling Sequence -->
+  <!-- ===================================================================== -->
+  <refsynopsisdiv>
+    <title>Calling Sequence</title>
+    <synopsis>
+         atomsRestoreConfig()
+       </synopsis>
+  </refsynopsisdiv>
+  <!-- ===================================================================== -->
+  <!-- Description -->
+  <!-- ===================================================================== -->
+  <refsection>
+    <title>Description</title>
+    <para><literal>atomsRestoreConfig</literal> checks that a config.bak file exists, and set it as the main confiuration file. The backup file is deleted in the process.
+        </para>
+  </refsection>
+  <!-- ===================================================================== -->
+  <!-- Examples -->
+  <!-- ===================================================================== -->
+  <refsection>
+    <title>Examples</title>
+    <programlisting role="example"><![CDATA[ 
+atomsSaveConfig(%T);
+deletefile(atomsPath("system","user")+"config");
+atomsRestoreConfig();
+]]></programlisting>
+  </refsection>
+  <!-- ===================================================================== -->
+  <!-- See also -->
+  <!-- ===================================================================== -->
+  <refsection role="see also">
+    <title>See Also</title>
+    <simplelist type="inline">
+      <member>
+        <link linkend="atomsSaveConfig">atomsSaveConfig</link>
+      </member>
+      <member>
+        <link linkend="atomsSetConfig">atomsSetConfig</link>
+      </member>
+      <member>
+        <link linkend="atomsGetConfig">atomsGetConfig</link>
+      </member>
+    </simplelist>
+  </refsection>
+  <!-- ===================================================================== -->
+  <!-- Authors -->
+  <!-- ===================================================================== -->
+  <refsection>
+    <title>Authors</title>
+    <simplelist type="vert">
+      <member>Simon GARESTE - DIGITEO</member>
+    </simplelist>
+  </refsection>
+  <refsection>
+    <title>History</title>
+    <revhistory>
+      <revision>
+        <revnumber>5.4.0</revnumber>
+        <revdescription>Function added</revdescription>
+      </revision>
+    </revhistory>
+  </refsection>  
+  
+</refentry>
diff --git a/scilab/modules/atoms/help/en_US/atomsSaveConfig.xml b/scilab/modules/atoms/help/en_US/atomsSaveConfig.xml
new file mode 100644 (file)
index 0000000..0c52741
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) DIGITEO - Simon GARESTE <simon.gareste@scilab.org>
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:lang="en" xml:id="atomsSaveConfig">
+  <refnamediv>
+    <refname>atomsSaveConfig</refname>
+    <refpurpose>Make a backup of the configuration file</refpurpose>
+  </refnamediv>
+  <!-- ===================================================================== -->
+  <!-- Calling Sequence -->
+  <!-- ===================================================================== -->
+  <refsynopsisdiv>
+    <title>Calling Sequence</title>
+    <synopsis>
+         atomsSaveConfig([force])
+       </synopsis>
+  </refsynopsisdiv>
+  <!-- ===================================================================== -->
+  <!-- Parameters -->
+  <!-- ===================================================================== -->
+  <refsection>
+    <title>Arguments</title>
+    <variablelist>
+      <varlistentry>
+        <term>force</term>
+        <listitem>
+          <para>
+           <literal>force</literal> is a boolean. If set to %T (True), previously existing config.bak file
+               in SCIHOME/.atoms will be erased. Default value is %F (False);
+         </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsection>
+  <!-- ===================================================================== -->
+  <!-- Examples -->
+  <!-- ===================================================================== -->
+  <refsection>
+    <title>Examples</title>
+    <programlisting role="example"><![CDATA[ 
+atomsSaveConfig(%T);
+ls(atomsPath("system","user"));
+]]></programlisting>
+  </refsection>
+  <!-- ===================================================================== -->
+  <!-- See also -->
+  <!-- ===================================================================== -->
+  <refsection role="see also">
+    <title>See Also</title>
+    <simplelist type="inline">
+      <member>
+        <link linkend="atomsRestoreConfig">atomsRestoreConfig</link>
+      </member>
+      <member>
+        <link linkend="atomsSetConfig">atomsSetConfig</link>
+      </member>
+      <member>
+        <link linkend="atomsGetConfig">atomsGetConfig</link>
+      </member>
+    </simplelist>
+  </refsection>
+  <!-- ===================================================================== -->
+  <!-- Authors -->
+  <!-- ===================================================================== -->
+  <refsection>
+    <title>Authors</title>
+    <simplelist type="vert">
+      <member>Simon GARESTE - DIGITEO</member>
+    </simplelist>
+  </refsection>
+
+  <refsection>
+    <title>History</title>
+    <revhistory>
+      <revision>
+        <revnumber>5.4.0</revnumber>
+        <revdescription>Function added</revdescription>
+      </revision>
+    </revhistory>
+  </refsection>  
+</refentry>
diff --git a/scilab/modules/atoms/macros/atomsRestoreConfig.sci b/scilab/modules/atoms/macros/atomsRestoreConfig.sci
new file mode 100644 (file)
index 0000000..ed6e4ac
--- /dev/null
@@ -0,0 +1,34 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Simon GARESTE <simon.gareste@scilab.org>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+
+// Restore the config file using the config.bak file
+
+function atomsRestoreConfig(quiet)
+
+    rhs = argn(2);
+
+    if rhs > 1 then
+        error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"), "atomsSaveConfig", 0, 1));
+    end
+    
+    load("SCI/modules/atoms/macros/atoms_internals/lib");
+    
+    if rhs == 0 then
+        quiet = %F;
+    end
+
+    pathsystemuser = atomsPath("system", "user");
+    
+    if isfile(pathsystemuser + "config.bak") then
+        movefile(pathsystemuser + "config.bak", pathsystemuser + "config");
+    elseif ~quiet then
+           error(msprintf(gettext("File %s does not exist : could not restore previous configuration."), pathsystemuser + "config.bak"));
+    end
+
+endfunction
diff --git a/scilab/modules/atoms/macros/atomsSaveConfig.sci b/scilab/modules/atoms/macros/atomsSaveConfig.sci
new file mode 100644 (file)
index 0000000..da73b5a
--- /dev/null
@@ -0,0 +1,45 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Simon GARESTE <simon.gareste@scilab.org>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+
+// Save the config file in a config.bak file, so that we don't lose information while testing
+
+function atomsSaveConfig(force)
+
+    rhs = argn(2);
+
+    if rhs > 1 then
+      error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"),"atomsSaveConfig",0,1));
+    end
+
+    load("SCI/modules/atoms/macros/atoms_internals/lib");
+
+    if rhs == 0 then
+      force = %F;
+    end
+
+    pathsystemuser = atomsPath("system", "user");
+    
+    if isfile(pathsystemuser + "config.bak") then
+      if ~force then
+        error(msprintf("The file config.bak already exists, aborting.\n"));
+      elseif isfile(pathsystemuser + "config") then
+          copyfile(pathsystemuser + "config", pathsystemuser + "config.bak");
+          msprintf(gettext("config file saved to %s"), pathsystemuser + "config.bak");
+      else
+        error(msprintf("No config available, aborting.\n"));
+      end
+    elseif isfile(pathsystemuser + "config") then
+      copyfile(pathsystemuser + "config", pathsystemuser + "config.bak");
+      msprintf(gettext("config file saved to %s"), pathsystemuser + "config.bak");
+    else
+      mputl("", pathsystemuser + 'config');
+      mputl("", pathsystemuser + 'config.bak');
+    end
+
+endfunction
index 7d4c0c2..dadfbb0 100644 (file)
@@ -9,10 +9,11 @@ load("SCI/modules/atoms/macros/atoms_internals/lib");
 // We need a clean version
 // =============================================================================
 if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Set some parameters for the test
 // =============================================================================
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 // Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
@@ -96,6 +97,5 @@ atomsRemove("toolbox_5");
 if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 6d2d036..a3ae448 100644 (file)
@@ -13,10 +13,12 @@ load("SCI/modules/atoms/macros/atoms_internals/lib");
 // =============================================================================
 if ~isempty( atomsGetInstalled() ) then pause, end 
 
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
+
 // Set some parameters for the test
 // =============================================================================
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
@@ -137,6 +139,6 @@ if ~isempty( atomsGetInstalled() ) then pause, end
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
+
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 4d8db6d..8896199 100644 (file)
@@ -9,10 +9,11 @@ load("SCI/modules/atoms/macros/atoms_internals/lib");
 // We need a clean version
 // =============================================================================
 if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Set some parameters for the test
 // =============================================================================
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 // Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
@@ -92,6 +93,5 @@ if ~isempty( atomsGetInstalled() ) then bugmes();quit;end
 if ~isempty( atomsAutoloadList() ) then bugmes();quit;end 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 4bf1584..eabcaef 100644 (file)
@@ -13,10 +13,12 @@ load("SCI/modules/atoms/macros/atoms_internals/lib");
 // =============================================================================
 if ~isempty( atomsGetInstalled() ) then pause, end 
 
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
+
 // Set some parameters for the test
 // =============================================================================
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
@@ -131,6 +133,6 @@ if ~isempty( atomsAutoloadList() ) then pause, end
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
-atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
+atomsRestoreConfig(%T);
+
+atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
\ No newline at end of file
index dc3f1e6..1bcf5aa 100644 (file)
@@ -6,9 +6,10 @@
 // =============================================================================
 // <-- JVM NOT MANDATORY -->
 load("SCI/modules/atoms/macros/atoms_internals/lib");
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 // Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
@@ -37,6 +38,5 @@ atomsDepTreeShow("toolbox_5");
 atomsRemove("toolbox_5");
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 78da47e..76a6493 100644 (file)
@@ -9,11 +9,11 @@
 
 load("SCI/modules/atoms/macros/atoms_internals/lib");
 
-
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
@@ -40,6 +40,6 @@ atomsRemove("toolbox_5");
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
+
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 9c90b4a..5d2fe40 100644 (file)
@@ -6,13 +6,14 @@
 // =============================================================================
 // <-- JVM NOT MANDATORY -->
 load("SCI/modules/atoms/macros/atoms_internals/lib");
-// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
-atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
+// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
 // Install the toolbox 5
 // =============================================================================
 atomsInstall("toolbox_5");
@@ -129,6 +130,5 @@ if ~atomsIsInstalled("toolbox_7","allusers") then bugmes();quit;end
 atomsRemove("toolbox_7","allusers");
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 8f16171..54ee5e9 100644 (file)
@@ -9,15 +9,17 @@
 
 load("SCI/modules/atoms/macros/atoms_internals/lib");
 
-// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
-atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
+// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
+
 // Install the toolbox 5
 // =============================================================================
 
@@ -176,6 +178,6 @@ atomsRemove("toolbox_7","allusers");
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
+
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index c258e09..3da16fd 100644 (file)
@@ -6,9 +6,10 @@
 // =============================================================================
 // <-- JVM NOT MANDATORY -->
 load("SCI/modules/atoms/macros/atoms_internals/lib");
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 // Load the 2nd scenario : See scene11.test.atoms.scilab.org.txt
@@ -85,6 +86,5 @@ atomsRemove("toolbox_2","user");
 if ~isempty( atomsGetInstalled() ) then bugmes();quit;end
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index a98328d..a0baa56 100644 (file)
@@ -9,9 +9,11 @@
 
 load("SCI/modules/atoms/macros/atoms_internals/lib");
 
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
+
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
@@ -108,6 +110,6 @@ if ~isempty( atomsGetInstalled() ) then pause, end
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
+
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 1d3e91e..510231b 100644 (file)
@@ -6,9 +6,10 @@
 // =============================================================================
 // <-- JVM NOT MANDATORY -->
 load("SCI/modules/atoms/macros/atoms_internals/lib");
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 // Load the 2nd scenario : See scene11.test.atoms.scilab.org.txt
@@ -50,6 +51,5 @@ atomsRemove("toolbox_2","user");
        the package toolbox_1 (1.0-1) is currently loaded, It will be removed at next Scilab start
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index b09b8bd..91d92a9 100644 (file)
@@ -7,11 +7,14 @@
 
 // <-- JVM NOT MANDATORY -->
 
+
 load("SCI/modules/atoms/macros/atoms_internals/lib");
 
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
+
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
@@ -54,6 +57,6 @@ atomsRemove("toolbox_2","user");
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
-atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
+atomsRestoreConfig(%T);
+
+atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
\ No newline at end of file
index 8e98335..1fd2ff2 100644 (file)
@@ -10,10 +10,11 @@ load("SCI/modules/atoms/macros/atoms_internals/lib");
 // We need a clean version
 // =============================================================================
 if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Set some parameters for the test
 // =============================================================================
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 // 1st test-case : Just install the toolbox 5
@@ -62,6 +63,5 @@ atomsRemove("toolbox_5");
        the package toolbox_1 (1.0-1) is currently loaded, It will be removed at next Scilab start
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 2d3882d..cee591f 100644 (file)
@@ -14,10 +14,12 @@ load("SCI/modules/atoms/macros/atoms_internals/lib");
 // =============================================================================
 if ~isempty( atomsGetInstalled() ) then pause, end 
 
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
+
 // Set some parameters for the test
 // =============================================================================
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
@@ -60,6 +62,6 @@ atomsRemove("toolbox_5");
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
+
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index e7602d9..a3830fa 100644 (file)
@@ -6,9 +6,10 @@
 // =============================================================================
 // <-- JVM NOT MANDATORY -->
 load("SCI/modules/atoms/macros/atoms_internals/lib");
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 // Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
@@ -221,6 +222,7 @@ assert_checkequal(left(b,:),ref_ls);
 allremoved=atomsRemove(["toolbox_6" "1.0"],"user",%T);
 [a,b]=gsort(allremoved(:,1),'r','i');
 assert_checkequal(allremoved(b,:),ref_rem_6);
+//assert_checkequal(atomsRemove(["toolbox_6" "1.0"],"user",%T),ref_rem_6);
 rmdir(atomsPath("install","user")+'archives/','s');
 mkdir(atomsPath("install","user")+'archives/');
 rmdir(atomsPath("install","allusers")+'archives/','s');
@@ -229,6 +231,5 @@ mkdir(atomsPath("install","allusers")+'archives/');
 assert_checktrue(isempty(atomsGetInstalled()));
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 5ac3338..2096b90 100644 (file)
@@ -7,11 +7,14 @@
 
 // <-- JVM NOT MANDATORY -->
 
+
 load("SCI/modules/atoms/macros/atoms_internals/lib");
 
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
+
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
@@ -251,7 +254,6 @@ assert_checktrue(isempty(atomsGetInstalled()));
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
-atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
+atomsRestoreConfig(%T);
 
+atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
\ No newline at end of file
index 3ff8d92..a1da430 100644 (file)
@@ -6,9 +6,10 @@
 // =============================================================================
 // <-- JVM NOT MANDATORY -->
 load("SCI/modules/atoms/macros/atoms_internals/lib");
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 // Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
@@ -62,6 +63,5 @@ atomsRemove("toolbox_3","user");
 if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index e1ba8d7..0c0058a 100644 (file)
@@ -7,11 +7,14 @@
 
 // <-- JVM NOT MANDATORY -->
 
+
 load("SCI/modules/atoms/macros/atoms_internals/lib");
 
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
+
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
@@ -86,6 +89,6 @@ if ~isempty( atomsGetInstalled() ) then pause, end
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
-atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
+atomsRestoreConfig(%T);
+
+atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
\ No newline at end of file
index 1bfcc1e..f8b8ffa 100644 (file)
@@ -7,23 +7,19 @@
 // <-- ENGLISH IMPOSED -->
 load("SCI/modules/atoms/macros/atoms_internals/lib");
 // If previous test did not end properly, restore, else backup config file
-config_downloadTool = atomsGetConfig("downloadTool");
-if isfile(atomsPath("system","user")+"config.bak") then
-       movefile(atomsPath("system","user")+"config.bak",atomsPath("system","user")+"config");
-end
-if isfile(atomsPath("system","user")+"config") then
-       movefile(atomsPath("system","user")+"config",atomsPath("system","user")+"config.bak");
-end
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Do not use the autoload system
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
+config_downloadTool = atomsGetConfig("downloadTool");
 // Start config
 // =============================================================================
-ref=struct("autoloadAddAfterInstall","False","Verbose","False");
+ref=struct("downloadTool",config_downloadTool,"autoloadAddAfterInstall","False","Verbose","False");
 assert_checkequal(atomsGetConfig(),ref);
 // CamelCase test
 // =============================================================================
-ref=struct("autoloadAddAfterInstall","False","Verbose","True");
+ref=struct("downloadTool",config_downloadTool,"autoloadAddAfterInstall","False","Verbose","True");
 assert_checkequal(string(atomsSetConfig("Verbose","True")),"1");
 assert_checkequal(atomsGetConfig(),ref);
 assert_checkequal(string(atomsSetConfig("verbose","true")),"0");
@@ -57,17 +53,10 @@ assert_checkequal(string(atomsSetConfig("proxyHost","myproxy")),"1");
 assert_checkequal(string(atomsSetConfig("proxyPort","42")),"1");
 assert_checkequal(string(atomsSetConfig("proxyUser","scilab")),"1");
 assert_checkequal(string(atomsSetConfig("proxyPassword","scilab")),"1");
-assert_checkequal(string(atomsSetConfig("downloadTool",config_downloadTool)),"1");
+assert_checkequal(string(atomsSetConfig("downloadTool",config_downloadTool)),"0");
 assert_checkequal(string(atomsSetConfig("offLine","False")),"1");
 assert_checkequal(string(atomsSetConfig("autoload","True")),"1");
 assert_checkequal(atomsGetConfig(),ref);
 // Restore original values
 // =============================================================================
-if isfile(atomsPath("system","user")+"config.bak") then
-       movefile(atomsPath("system","user")+"config.bak",atomsPath("system","user")+"config");
-else
-       deletefile(atomsPath("system","user")+"config");
-end
-if isfile(atomsPath("system","user")+"config.bak") then
-       deletefile(atomsPath("system","user")+"config.bak");
-end
+atomsRestoreConfig(%T);
index 7487cb6..b60f006 100644 (file)
 load("SCI/modules/atoms/macros/atoms_internals/lib");
 
 // If previous test did not end properly, restore, else backup config file
-config_downloadTool = atomsGetConfig("downloadTool");
-if isfile(atomsPath("system","user")+"config.bak") then
-       movefile(atomsPath("system","user")+"config.bak",atomsPath("system","user")+"config");
-end
-if isfile(atomsPath("system","user")+"config") then
-       movefile(atomsPath("system","user")+"config",atomsPath("system","user")+"config.bak");
-end
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 
 // Do not use the autoload system
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
+config_downloadTool = atomsGetConfig("downloadTool");
 
 // Start config
 // =============================================================================
-ref=struct("autoloadAddAfterInstall","False","Verbose","False");
+ref=struct("downloadTool",config_downloadTool,"autoloadAddAfterInstall","False","Verbose","False");
 assert_checkequal(atomsGetConfig(),ref);
 
 // CamelCase test
 // =============================================================================
-ref=struct("autoloadAddAfterInstall","False","Verbose","True");
+ref=struct("downloadTool",config_downloadTool,"autoloadAddAfterInstall","False","Verbose","True");
 assert_checkequal(string(atomsSetConfig("Verbose","True")),"1");
 assert_checkequal(atomsGetConfig(),ref);
 assert_checkequal(string(atomsSetConfig("verbose","true")),"0");
@@ -66,7 +62,7 @@ assert_checkequal(string(atomsSetConfig("proxyHost","myproxy")),"1");
 assert_checkequal(string(atomsSetConfig("proxyPort","42")),"1");
 assert_checkequal(string(atomsSetConfig("proxyUser","scilab")),"1");
 assert_checkequal(string(atomsSetConfig("proxyPassword","scilab")),"1");
-assert_checkequal(string(atomsSetConfig("downloadTool",config_downloadTool)),"1");
+assert_checkequal(string(atomsSetConfig("downloadTool",config_downloadTool)),"0");
 assert_checkequal(string(atomsSetConfig("offLine","False")),"1");
 assert_checkequal(string(atomsSetConfig("autoload","True")),"1");
 assert_checkequal(atomsGetConfig(),ref);
@@ -74,11 +70,4 @@ assert_checkequal(atomsGetConfig(),ref);
 
 // Restore original values
 // =============================================================================
-if isfile(atomsPath("system","user")+"config.bak") then
-       movefile(atomsPath("system","user")+"config.bak",atomsPath("system","user")+"config");
-else
-       deletefile(atomsPath("system","user")+"config");
-end
-if isfile(atomsPath("system","user")+"config.bak") then
-       deletefile(atomsPath("system","user")+"config.bak");
-end
+atomsRestoreConfig(%T);
index 754b896..f61a749 100644 (file)
@@ -7,13 +7,15 @@
 // <-- JVM NOT MANDATORY -->
 // <-- ENGLISH IMPOSED -->
 load("SCI/modules/atoms/macros/atoms_internals/lib");
-// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
-atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
+// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
+// =============================================================================
+atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
 // Install the toolbox 5
 // =============================================================================
 atomsInstall("toolbox_3");
@@ -44,6 +46,5 @@ Automatically Installed : no
 atomsRemove("toolbox_3");
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index c9aa6ee..046f261 100644 (file)
 
 load("SCI/modules/atoms/macros/atoms_internals/lib");
 
-// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
-atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
+// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
+// =============================================================================
+atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
+
 // Install the toolbox 5
 // =============================================================================
 
@@ -28,6 +31,6 @@ atomsRemove("toolbox_3");
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
-atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
+atomsRestoreConfig(%T);
+
+atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
\ No newline at end of file
index a18003a..b2f98fc 100644 (file)
@@ -7,13 +7,15 @@
 // <-- JVM NOT MANDATORY -->
 // <-- ENGLISH IMPOSED -->
 load("SCI/modules/atoms/macros/atoms_internals/lib");
-// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
-atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
 // Do not use the autoload system
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
+// Load the 1st scenario : See scene10.test.atoms.scilab.org.txt
+// =============================================================================
+atomsRepositorySetOfl("http://scene10.test.atoms.scilab.org");
 // Install the toolbox 5
 // =============================================================================
 atomsInstall("toolbox_3");
@@ -44,6 +46,5 @@ Automatically Installed : no
 atomsRemove("toolbox_3");
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 442df62..f62c44e 100644 (file)
@@ -9,10 +9,11 @@ load("SCI/modules/atoms/macros/atoms_internals/lib");
 // We need a clean version
 // =============================================================================
 if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
-// Set some parameters for the test
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
+// Do not use the autoload system
 // =============================================================================
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 // 1st test-case : Just install the toolbox 5
@@ -191,11 +192,11 @@ if atomsGetInstalledStatus(["toolbox_1" "1.0-1"],"user")<>"A" then bugmes();quit
 atomsRepositorySetOfl("http://scene12.test.atoms.scilab.org");
 atomsUpdate();
 if ~atomsIsInstalled(["toolbox_5" "1.0-1"],"user") then bugmes();quit;end
-if ~atomsIsInstalled(["toolbox_4" "1.1-2"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.1-1"],"user") then bugmes();quit;end
 if ~atomsIsInstalled(["toolbox_2" "1.0-1"],"user") then bugmes();quit;end
 if ~atomsIsInstalled(["toolbox_1" "1.0-1"],"user") then bugmes();quit;end
 if atomsGetInstalledStatus(["toolbox_5" "1.0-1"],"user")<>"I" then bugmes();quit;end
-if atomsGetInstalledStatus(["toolbox_4" "1.1-2"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.1-1"],"user")<>"A" then bugmes();quit;end
 if atomsGetInstalledStatus(["toolbox_2" "1.0-1"],"user")<>"A" then bugmes();quit;end
 if atomsGetInstalledStatus(["toolbox_1" "1.0-1"],"user")<>"A" then bugmes();quit;end
 // Remove the module
@@ -204,6 +205,5 @@ atomsRemove("toolbox_5","user");
 if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
+atomsRestoreConfig(%T);
 atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
index 5f25067..2331943 100644 (file)
@@ -7,16 +7,19 @@
 
 // <-- JVM NOT MANDATORY -->
 
+
 load("SCI/modules/atoms/macros/atoms_internals/lib");
 
 // We need a clean version
 // =============================================================================
 if ~isempty( atomsGetInstalled() ) then pause, end 
 
-// Set some parameters for the test
+// If previous test did not end properly, restore, else backup config file
+atomsRestoreConfig(%T);
+atomsSaveConfig();
+
+// Do not use the autoload system
 // =============================================================================
-config_autoload = atomsGetConfig("autoloadAddAfterInstall");
-config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoloadAddAfterInstall","False");
 atomsSetConfig("Verbose" ,"False");
 
@@ -260,12 +263,12 @@ atomsRepositorySetOfl("http://scene12.test.atoms.scilab.org");
 atomsUpdate();
 
 if ~atomsIsInstalled(["toolbox_5" "1.0-1"],"user") then pause, end
-if ~atomsIsInstalled(["toolbox_4" "1.1-2"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.1-1"],"user") then pause, end
 if ~atomsIsInstalled(["toolbox_2" "1.0-1"],"user") then pause, end
 if ~atomsIsInstalled(["toolbox_1" "1.0-1"],"user") then pause, end
 
 if atomsGetInstalledStatus(["toolbox_5" "1.0-1"],"user")<>"I" then pause, end
-if atomsGetInstalledStatus(["toolbox_4" "1.1-2"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_4" "1.1-1"],"user")<>"A" then pause, end
 if atomsGetInstalledStatus(["toolbox_2" "1.0-1"],"user")<>"A" then pause, end
 if atomsGetInstalledStatus(["toolbox_1" "1.0-1"],"user")<>"A" then pause, end
 
@@ -277,6 +280,6 @@ if ~isempty( atomsGetInstalled() ) then pause, end
 
 // Restore original values
 // =============================================================================
-atomsSetConfig("autoloadAddAfterInstall",config_autoload);
-atomsSetConfig("Verbose" ,config_Verbose);
-atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
+atomsRestoreConfig(%T);
+
+atomsRepositorySetOfl(mgetl(SCI+"/modules/atoms/tests/unit_tests/repositories.orig"));
\ No newline at end of file