ATOMS: Add tests
Pierre MARECHAL [Thu, 22 Oct 2009 12:08:26 +0000 (14:08 +0200)]
scilab/modules/atoms/tests/unit_tests/atomsInstall.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsIsInstalled.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsIsInstalled.tst
scilab/modules/atoms/tests/unit_tests/atomsRemoveList.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsRemoveList.tst
scilab/modules/atoms/tests/unit_tests/atomsRepositoryAdd.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsRepositoryAdd.tst
scilab/modules/atoms/tests/unit_tests/atomsRepositoryDel.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsRepositoryDel.tst
scilab/modules/atoms/tests/unit_tests/atomsUpdate.dia.ref
scilab/modules/atoms/tests/unit_tests/atomsUpdate.tst

index d01efe2..4e282c1 100644 (file)
@@ -14,6 +14,14 @@ atomsSetConfig("autoload","False");
 // Install the toolbox 5
 // =============================================================================
 atomsInstall("toolbox_5");
+       toolbox_5 (1.0) will be installed
+       toolbox_4 (1.0) will be installed
+       toolbox_2 (1.0) will be installed
+       toolbox_1 (1.0) will be installed
+       Installing toolbox_5 (1.0) ... success
+       Installing toolbox_4 (1.0) ... success
+       Installing toolbox_2 (1.0) ... success
+       Installing toolbox_1 (1.0) ... success
 // Check if the module is really installed
 if ~atomsIsInstalled("toolbox_5") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_4") then bugmes();quit;end
@@ -21,9 +29,25 @@ if ~atomsIsInstalled("toolbox_2") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_1") then bugmes();quit;end
 // Remove the module
 atomsRemove("toolbox_5");
+       toolbox_5 (1.0) will be removed
+       toolbox_4 (1.0) will be removed
+       toolbox_2 (1.0) will be removed
+       toolbox_1 (1.0) will be removed
+       Removing toolbox_5 (1.0) ...  success
+       Removing toolbox_4 (1.0) ...  success
+       Removing toolbox_2 (1.0) ...  success
+       Removing toolbox_1 (1.0) ...  success
 // Install the toolbox 5 (user section)
 // =============================================================================
 atomsInstall("toolbox_5","user");
+       toolbox_5 (1.0) will be installed
+       toolbox_4 (1.0) will be installed
+       toolbox_2 (1.0) will be installed
+       toolbox_1 (1.0) will be installed
+       Installing toolbox_5 (1.0) ... success
+       Installing toolbox_4 (1.0) ... success
+       Installing toolbox_2 (1.0) ... success
+       Installing toolbox_1 (1.0) ... success
 if ~atomsIsInstalled("toolbox_5","user") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_4","user") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_2","user") then bugmes();quit;end
@@ -33,6 +57,14 @@ if atomsIsInstalled("toolbox_4","allusers") then bugmes();quit;end
 if atomsIsInstalled("toolbox_2","allusers") then bugmes();quit;end
 if atomsIsInstalled("toolbox_1","allusers") then bugmes();quit;end
 atomsRemove("toolbox_5","user");
+       toolbox_5 (1.0) will be removed
+       toolbox_4 (1.0) will be removed
+       toolbox_2 (1.0) will be removed
+       toolbox_1 (1.0) will be removed
+       Removing toolbox_5 (1.0) ...  success
+       Removing toolbox_4 (1.0) ...  success
+       Removing toolbox_2 (1.0) ...  success
+       Removing toolbox_1 (1.0) ...  success
 if atomsIsInstalled("toolbox_5","user") then bugmes();quit;end
 if atomsIsInstalled("toolbox_4","user") then bugmes();quit;end
 if atomsIsInstalled("toolbox_2","user") then bugmes();quit;end
@@ -40,6 +72,14 @@ if atomsIsInstalled("toolbox_1","user") then bugmes();quit;end
 // Install the toolbox 5 (allusers section)
 // =============================================================================
 atomsInstall("toolbox_5","allusers");
+       toolbox_5 (1.0) will be installed
+       toolbox_4 (1.0) will be installed
+       toolbox_2 (1.0) will be installed
+       toolbox_1 (1.0) will be installed
+       Installing toolbox_5 (1.0) ... success
+       Installing toolbox_4 (1.0) ... success
+       Installing toolbox_2 (1.0) ... success
+       Installing toolbox_1 (1.0) ... success
 if ~atomsIsInstalled("toolbox_5","allusers") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_4","allusers") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_2","allusers") then bugmes();quit;end
@@ -49,6 +89,14 @@ if atomsIsInstalled("toolbox_4","user") then bugmes();quit;end
 if atomsIsInstalled("toolbox_2","user") then bugmes();quit;end
 if atomsIsInstalled("toolbox_1","user") then bugmes();quit;end
 atomsRemove("toolbox_5","allusers");
+       toolbox_5 (1.0) will be removed
+       toolbox_4 (1.0) will be removed
+       toolbox_2 (1.0) will be removed
+       toolbox_1 (1.0) will be removed
+       Removing toolbox_5 (1.0) ...  success
+       Removing toolbox_4 (1.0) ...  success
+       Removing toolbox_2 (1.0) ...  success
+       Removing toolbox_1 (1.0) ...  success
 if atomsIsInstalled("toolbox_5","allusers") then bugmes();quit;end
 if atomsIsInstalled("toolbox_4","allusers") then bugmes();quit;end
 if atomsIsInstalled("toolbox_2","allusers") then bugmes();quit;end
@@ -56,7 +104,23 @@ if atomsIsInstalled("toolbox_1","allusers") then bugmes();quit;end
 // Install the toolbox 5 (Both section)
 // =============================================================================
 atomsInstall("toolbox_5","allusers");
+       toolbox_5 (1.0) will be installed
+       toolbox_4 (1.0) will be installed
+       toolbox_2 (1.0) will be installed
+       toolbox_1 (1.0) will be installed
+       Installing toolbox_5 (1.0) ... success
+       Installing toolbox_4 (1.0) ... success
+       Installing toolbox_2 (1.0) ... success
+       Installing toolbox_1 (1.0) ... success
 atomsInstall("toolbox_5","user");
+       toolbox_5 (1.0) will be installed
+       toolbox_4 (1.0) will be installed
+       toolbox_2 (1.0) will be installed
+       toolbox_1 (1.0) will be installed
+       Installing toolbox_5 (1.0) ... success
+       Installing toolbox_4 (1.0) ... success
+       Installing toolbox_2 (1.0) ... success
+       Installing toolbox_1 (1.0) ... success
 if ~atomsIsInstalled("toolbox_5","allusers") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_4","allusers") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_2","allusers") then bugmes();quit;end
@@ -66,6 +130,14 @@ if ~atomsIsInstalled("toolbox_4","user") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_2","user") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_1","user") then bugmes();quit;end
 atomsRemove("toolbox_5","allusers");
+       toolbox_5 (1.0) will be removed
+       toolbox_4 (1.0) will be removed
+       toolbox_2 (1.0) will be removed
+       toolbox_1 (1.0) will be removed
+       Removing toolbox_5 (1.0) ...  success
+       Removing toolbox_4 (1.0) ...  success
+       Removing toolbox_2 (1.0) ...  success
+       Removing toolbox_1 (1.0) ...  success
 if atomsIsInstalled("toolbox_5","allusers") then bugmes();quit;end
 if atomsIsInstalled("toolbox_4","allusers") then bugmes();quit;end
 if atomsIsInstalled("toolbox_2","allusers") then bugmes();quit;end
@@ -75,7 +147,23 @@ if ~atomsIsInstalled("toolbox_4","user") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_2","user") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_1","user") then bugmes();quit;end
 atomsInstall("toolbox_5","allusers");
+       toolbox_5 (1.0) will be installed
+       toolbox_4 (1.0) will be installed
+       toolbox_2 (1.0) will be installed
+       toolbox_1 (1.0) will be installed
+       Installing toolbox_5 (1.0) ... success
+       Installing toolbox_4 (1.0) ... success
+       Installing toolbox_2 (1.0) ... success
+       Installing toolbox_1 (1.0) ... success
 atomsRemove("toolbox_5","user");
+       toolbox_5 (1.0) will be removed
+       toolbox_4 (1.0) will be removed
+       toolbox_2 (1.0) will be removed
+       toolbox_1 (1.0) will be removed
+       Removing toolbox_5 (1.0) ...  success
+       Removing toolbox_4 (1.0) ...  success
+       Removing toolbox_2 (1.0) ...  success
+       Removing toolbox_1 (1.0) ...  success
 if atomsIsInstalled("toolbox_5","user") then bugmes();quit;end
 if atomsIsInstalled("toolbox_4","user") then bugmes();quit;end
 if atomsIsInstalled("toolbox_2","user") then bugmes();quit;end
@@ -85,6 +173,14 @@ if ~atomsIsInstalled("toolbox_4","allusers") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_2","allusers") then bugmes();quit;end
 if ~atomsIsInstalled("toolbox_1","allusers") then bugmes();quit;end
 atomsRemove("toolbox_5","allusers");
+       toolbox_5 (1.0) will be removed
+       toolbox_4 (1.0) will be removed
+       toolbox_2 (1.0) will be removed
+       toolbox_1 (1.0) will be removed
+       Removing toolbox_5 (1.0) ...  success
+       Removing toolbox_4 (1.0) ...  success
+       Removing toolbox_2 (1.0) ...  success
+       Removing toolbox_1 (1.0) ...  success
 // Restore original values
 atomsSetConfig("autoload",config_autoload);
 atomsRepositorySetOfl("http://atoms.scilab.org");
index e476091..e3181f6 100644 (file)
@@ -51,6 +51,8 @@ atomsRemove("toolbox_2","user");
        Removing toolbox_2 (2.1) ...  success
        Removing toolbox_2 (2.0) ...  success
        Removing toolbox_1 (1.0) ...  success
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then bugmes();quit;end
 // Restore original values
 // =============================================================================
 atomsSetConfig("autoload",config_autoload);
index 3bf2192..72d13f1 100644 (file)
@@ -53,6 +53,9 @@ if or( atomsIsInstalled(["toolbox_1","1.0";"toolbox_2","0.0";"toolbox_2","2.1";"
 // =============================================================================
 atomsRemove("toolbox_2","user");
 
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then pause, end
+
 // Restore original values
 // =============================================================================
 atomsSetConfig("autoload",config_autoload);
index d7f8851..8cbfe47 100644 (file)
@@ -10,7 +10,7 @@ load("SCI/modules/atoms/macros/atoms_internals/lib");
 config_autoload = atomsGetConfig("autoload");
 config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoload","False");
-atomsSetConfig("Verbose" ,"True");
+atomsSetConfig("Verbose" ,"False");
 // Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
 // =============================================================================
 atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
@@ -18,20 +18,7 @@ atomsGetTOOLBOXES(%T);
 // Install toolbox_5 & toolbox_3
 // =============================================================================
 atomsInstall("toolbox_5","user");
-       toolbox_5 (1.0) will be installed
-       toolbox_4 (1.0) will be installed
-       toolbox_2 (1.0) will be installed
-       toolbox_1 (1.0) will be installed
-       Installing toolbox_5 (1.0) ... success
-       Installing toolbox_4 (1.0) ... success
-       Installing toolbox_2 (1.0) ... success
-       Installing toolbox_1 (1.0) ... success
 atomsInstall("toolbox_3","user");
-       toolbox_3 (1.0) will be installed
-       toolbox_2 (2.0) will be installed
-       toolbox_1 (1.0) is already installed and up-to-date
-       Installing toolbox_3 (1.0) ... success
-       Installing toolbox_2 (2.0) ... success
 // -----------------------------------------------------------------------------
 ref = [ "-" "U" "toolbox_1" "1.0" "user" ;
         "-" "P" "toolbox_5" "1.0" "user" ;
@@ -71,19 +58,9 @@ if or(atomsRemoveList(["toolbox_2";"toolbox_4"],"user")<>ref) then bugmes();quit
 // Remove toolbox_5 & toolbox_3
 // =============================================================================
 atomsRemove("toolbox_5","user");
-       toolbox_5 (1.0) will be removed
-       toolbox_4 (1.0) will be removed
-       toolbox_2 (1.0) will be removed
-       Removing toolbox_5 (1.0) ...  success
-       Removing toolbox_4 (1.0) ...  success
-       Removing toolbox_2 (1.0) ...  success
 atomsRemove("toolbox_3","user");
-       toolbox_3 (1.0) will be removed
-       toolbox_2 (2.0) will be removed
-       toolbox_1 (1.0) will be removed
-       Removing toolbox_3 (1.0) ...  success
-       Removing toolbox_2 (2.0) ...  success
-       Removing toolbox_1 (1.0) ...  success
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
 // Restore original values
 // =============================================================================
 atomsSetConfig("autoload",config_autoload);
index cb91f14..8d131fb 100644 (file)
@@ -13,7 +13,7 @@ load("SCI/modules/atoms/macros/atoms_internals/lib");
 config_autoload = atomsGetConfig("autoload");
 config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoload","False");
-atomsSetConfig("Verbose" ,"True");
+atomsSetConfig("Verbose" ,"False");
 
 // Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
 // =============================================================================
@@ -82,6 +82,9 @@ if or(atomsRemoveList(["toolbox_2";"toolbox_4"],"user")<>ref) then pause, end
 atomsRemove("toolbox_5","user");
 atomsRemove("toolbox_3","user");
 
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then pause, end 
+
 // Restore original values
 // =============================================================================
 atomsSetConfig("autoload",config_autoload);
index 273b01e..e9e0da2 100644 (file)
@@ -27,4 +27,5 @@ if isempty([ atomsRepositoryList("user") ; atomsRepositoryList("allusers")]) the
        if or(atomsRepositoryList("allusers") <> []) then bugmes();quit;end
        if atomsRepositoryDel([rep1;rep2],"user") <> 2 then bugmes();quit;end
        
+       if ~isempty([ atomsRepositoryList("user") ; atomsRepositoryList("allusers")]) then bugmes();quit;end
 end
index e372f69..535c4e2 100644 (file)
@@ -29,4 +29,5 @@ if isempty([ atomsRepositoryList("user") ; atomsRepositoryList("allusers")]) the
        if or(atomsRepositoryList("allusers") <> []) then pause, end
        if atomsRepositoryDel([rep1;rep2],"user") <> 2 then pause, end
        
+       if ~isempty([ atomsRepositoryList("user") ; atomsRepositoryList("allusers")]) then pause, end
 end
index 273b01e..e9e0da2 100644 (file)
@@ -27,4 +27,5 @@ if isempty([ atomsRepositoryList("user") ; atomsRepositoryList("allusers")]) the
        if or(atomsRepositoryList("allusers") <> []) then bugmes();quit;end
        if atomsRepositoryDel([rep1;rep2],"user") <> 2 then bugmes();quit;end
        
+       if ~isempty([ atomsRepositoryList("user") ; atomsRepositoryList("allusers")]) then bugmes();quit;end
 end
index e372f69..535c4e2 100644 (file)
@@ -29,4 +29,5 @@ if isempty([ atomsRepositoryList("user") ; atomsRepositoryList("allusers")]) the
        if or(atomsRepositoryList("allusers") <> []) then pause, end
        if atomsRepositoryDel([rep1;rep2],"user") <> 2 then pause, end
        
+       if ~isempty([ atomsRepositoryList("user") ; atomsRepositoryList("allusers")]) then pause, end
 end
index 8be1f94..b03e9c8 100644 (file)
 // =============================================================================
 // <-- JVM NOT MANDATORY -->
 load("SCI/modules/atoms/macros/atoms_internals/lib");
-// Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
-atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
-atomsGetTOOLBOXES(%T);
-// Do not use the autoload system
+// We need a clean version
+// =============================================================================
+if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
+// Set some parameters for the test
+// =============================================================================
 config_autoload = atomsGetConfig("autoload");
+config_Verbose  = atomsGetConfig("Verbose");
 atomsSetConfig("autoload","False");
-// Install the toolbox 5
+atomsSetConfig("Verbose" ,"False");
+// 1st test-case : Just install the toolbox 5
 // =============================================================================
-atomsInstall("toolbox_5");
+// Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+atomsInstall("toolbox_5","user");
 // Check if the module is really installed
-if ~atomsIsInstalled(["toolbox_5" "1.0"]) then bugmes();quit;end
-if ~atomsIsInstalled(["toolbox_4" "1.0"]) then bugmes();quit;end
-if ~atomsIsInstalled(["toolbox_2" "1.0"]) then bugmes();quit;end
-if ~atomsIsInstalled(["toolbox_1" "1.0"]) then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"user") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"all")  then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then bugmes();quit;end
+// Load the 2nd scenario : See scene2.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene2.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+atomsUpdate();
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"all")  then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then bugmes();quit;end
+// Remove the module
+atomsRemove("toolbox_5","user");
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
+// 2nd test-case : Install toolbox 4 and then toolbox 5
+// =============================================================================
 // Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+atomsInstall("toolbox_4","user");
+atomsInstall("toolbox_5","user");
+// Check if the module is really installed
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"user") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"all")  then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then bugmes();quit;end
+// Load the 2nd scenario : See scene2.test.atoms.scilab.org.txt
 atomsRepositorySetOfl("http://scene2.test.atoms.scilab.org");
 atomsGetTOOLBOXES(%T);
 atomsUpdate();
-if ~atomsIsInstalled(["toolbox_5" "1.0"]) then bugmes();quit;end
-if  atomsIsInstalled(["toolbox_4" "1.0"]) then bugmes();quit;end
-if ~atomsIsInstalled(["toolbox_4" "1.1"]) then bugmes();quit;end
-if ~atomsIsInstalled(["toolbox_2" "1.0"]) then bugmes();quit;end
-if ~atomsIsInstalled(["toolbox_1" "1.0"]) then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"all")  then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then bugmes();quit;end
 // Remove the module
-atomsRemove("toolbox_5");
+atomsRemove("toolbox_5","user");
+atomsRemove("toolbox_4","user");
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
+// 3rd test-case : Install toolbox 4 and toolbox 3
+// => Test the behaviour of toolbox_2
+// =============================================================================
+// Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+atomsInstall("toolbox_3","user");
+atomsInstall("toolbox_4","user");
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_3" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "2.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"all")  then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_2" "2.1"],"all")  then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_3" "1.0"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_2" "2.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then bugmes();quit;end
+// Load the 2nd scenario : See scene2.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene2.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+atomsUpdate();
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_3" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "2.1"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"all")  then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_2" "2.0"],"all")  then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_3" "1.0"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_2" "2.1"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then bugmes();quit;end
+atomsRemove("toolbox_4","user");
+atomsRemove("toolbox_3","user");
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
+// 4th test-case : Test the user/allusers behaviour
+// =============================================================================
+// Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+atomsInstall("toolbox_5","user");
+atomsInstall("toolbox_5","allusers");
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"user") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"allusers") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"allusers") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"allusers") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"allusers") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"allusers") then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"user")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"allusers")<>"I" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"allusers")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"allusers")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"allusers")<>"A" then bugmes();quit;end
+// Load the 2nd scenario : See scene2.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene2.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+atomsUpdate([],"user");
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"allusers") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"allusers") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"allusers") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"allusers") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"allusers") then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"allusers")<>"A" then bugmes();quit;end
+atomsUpdate([],"allusers");
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"allusers") then bugmes();quit;end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"allusers") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"allusers") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"allusers") then bugmes();quit;end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"allusers") then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"user")<>"A" then bugmes();quit;end
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"allusers")<>"A" then bugmes();quit;end
+atomsRemove("toolbox_5","user");
+atomsRemove("toolbox_5","allusers");
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then bugmes();quit;end 
+// Restore original values
+// =============================================================================
+atomsSetConfig("autoload",config_autoload);
+atomsSetConfig("Verbose" ,config_Verbose);
+atomsRepositorySetOfl("http://atoms.scilab.org");
index 303c13c..fd0e8fb 100644 (file)
 
 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
+// =============================================================================
+config_autoload = atomsGetConfig("autoload");
+config_Verbose  = atomsGetConfig("Verbose");
+atomsSetConfig("autoload","False");
+atomsSetConfig("Verbose" ,"False");
+
+
+// 1st test-case : Just install the toolbox 5
+// =============================================================================
+
 // Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
 atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
 atomsGetTOOLBOXES(%T);
 
-// Do not use the autoload system
-config_autoload = atomsGetConfig("autoload");
-atomsSetConfig("autoload","False");
+atomsInstall("toolbox_5","user");
+
+// Check if the module is really installed
+
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"user") then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"all")  then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then pause, end
+
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then pause, end
+
+// Load the 2nd scenario : See scene2.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene2.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+
+atomsUpdate();
 
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"all")  then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then pause, end
 
-// Install the toolbox 5
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then pause, end
+
+// Remove the module
+atomsRemove("toolbox_5","user");
+
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then pause, end 
+
+// 2nd test-case : Install toolbox 4 and then toolbox 5
 // =============================================================================
 
-atomsInstall("toolbox_5");
+// Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+
+atomsInstall("toolbox_4","user");
+atomsInstall("toolbox_5","user");
 
 // Check if the module is really installed
-if ~atomsIsInstalled(["toolbox_5" "1.0"]) then pause, end
-if ~atomsIsInstalled(["toolbox_4" "1.0"]) then pause, end
-if ~atomsIsInstalled(["toolbox_2" "1.0"]) then pause, end
-if ~atomsIsInstalled(["toolbox_1" "1.0"]) then pause, end
+
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"user") then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"all")  then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then pause, end
+
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then pause, end
+
+// Load the 2nd scenario : See scene2.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene2.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+
+atomsUpdate();
+
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"all")  then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then pause, end
+
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then pause, end
+
+// Remove the module
+atomsRemove("toolbox_5","user");
+atomsRemove("toolbox_4","user");
+
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then pause, end 
+
+// 3rd test-case : Install toolbox 4 and toolbox 3
+// => Test the behaviour of toolbox_2
+// =============================================================================
 
 // Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+
+atomsInstall("toolbox_3","user");
+atomsInstall("toolbox_4","user");
+
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_3" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "2.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then pause, end
+
+if  atomsIsInstalled(["toolbox_4" "1.1"],"all")  then pause, end
+if  atomsIsInstalled(["toolbox_2" "2.1"],"all")  then pause, end
+
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_3" "1.0"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_2" "2.0"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then pause, end
+
+// Load the 2nd scenario : See scene2.test.atoms.scilab.org.txt
 atomsRepositorySetOfl("http://scene2.test.atoms.scilab.org");
 atomsGetTOOLBOXES(%T);
 
 atomsUpdate();
 
-if ~atomsIsInstalled(["toolbox_5" "1.0"]) then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_3" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "2.1"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then pause, end
 
-if  atomsIsInstalled(["toolbox_4" "1.0"]) then pause, end
-if ~atomsIsInstalled(["toolbox_4" "1.1"]) then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"all")  then pause, end
+if  atomsIsInstalled(["toolbox_2" "2.0"],"all")  then pause, end
 
-if ~atomsIsInstalled(["toolbox_2" "1.0"]) then pause, end
-if ~atomsIsInstalled(["toolbox_1" "1.0"]) then pause, end
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_3" "1.0"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_2" "2.1"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then pause, end
 
-// Remove the module
-atomsRemove("toolbox_5");
+atomsRemove("toolbox_4","user");
+atomsRemove("toolbox_3","user");
+
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then pause, end 
+
+// 4th test-case : Test the user/allusers behaviour
+// =============================================================================
+
+// Load the 1st scenario : See scene1.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+
+atomsInstall("toolbox_5","user");
+atomsInstall("toolbox_5","allusers");
+
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"user") then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then pause, end
+
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"allusers") then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"allusers") then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"allusers") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"allusers") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"allusers") then pause, end
+
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"user")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"user")<>"A" then pause, end
+
+if atomsGetInstalledStatus(["toolbox_5" "1.0"],"allusers")<>"I" then pause, end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"allusers")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_2" "1.0"],"allusers")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_1" "1.0"],"allusers")<>"A" then pause, end
+
+// Load the 2nd scenario : See scene2.test.atoms.scilab.org.txt
+atomsRepositorySetOfl("http://scene2.test.atoms.scilab.org");
+atomsGetTOOLBOXES(%T);
+
+atomsUpdate([],"user");
+
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then pause, end
+
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"allusers") then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.0"],"allusers") then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.1"],"allusers") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"allusers") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"allusers") then pause, end
+
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_4" "1.0"],"allusers")<>"A" then pause, end
+
+atomsUpdate([],"allusers");
+
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"user") then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"user") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"user") then pause, end
+
+if ~atomsIsInstalled(["toolbox_5" "1.0"],"allusers") then pause, end
+if  atomsIsInstalled(["toolbox_4" "1.0"],"allusers") then pause, end
+if ~atomsIsInstalled(["toolbox_4" "1.1"],"allusers") then pause, end
+if ~atomsIsInstalled(["toolbox_2" "1.0"],"allusers") then pause, end
+if ~atomsIsInstalled(["toolbox_1" "1.0"],"allusers") then pause, end
+
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"user")<>"A" then pause, end
+if atomsGetInstalledStatus(["toolbox_4" "1.1"],"allusers")<>"A" then pause, end
+
+atomsRemove("toolbox_5","user");
+atomsRemove("toolbox_5","allusers");
+
+// no module should be installed
+if ~isempty( atomsGetInstalled() ) then pause, end 
+
+// Restore original values
+// =============================================================================
+atomsSetConfig("autoload",config_autoload);
+atomsSetConfig("Verbose" ,config_Verbose);
+atomsRepositorySetOfl("http://atoms.scilab.org");