ATOMS: Add tests
Pierre MARECHAL [Fri, 30 Oct 2009 22:03:24 +0000 (23:03 +0100)]
scilab/modules/atoms/tests/unit_tests/atomsIsLoaded.dia.ref [new file with mode: 0644]
scilab/modules/atoms/tests/unit_tests/atomsIsLoaded.tst [new file with mode: 0644]

diff --git a/scilab/modules/atoms/tests/unit_tests/atomsIsLoaded.dia.ref b/scilab/modules/atoms/tests/unit_tests/atomsIsLoaded.dia.ref
new file mode 100644 (file)
index 0000000..c78fe39
--- /dev/null
@@ -0,0 +1,57 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- JVM NOT MANDATORY -->
+load("SCI/modules/atoms/macros/atoms_internals/lib");
+// 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 scene2.test.atoms.scilab.org.txt
+// =============================================================================
+atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
+atomsSystemUpdate();
+// Install toolbox N°2
+atomsInstall(["toolbox_2","2.0"],"user");
+// Check installation
+if ~ atomsIsInstalled(["toolbox_1","1.0","user"]) then bugmes();quit;end
+if ~ atomsIsInstalled(["toolbox_2","2.0","user"]) then bugmes();quit;end
+atomsLoad(["toolbox_2","2.0","user"]);
+
+Start Toolbox 2
+       Load macros
+
+Start Toolbox 1
+       Load macros
+       Load gateways
+
+if ~ atomsIsLoaded("toolbox_2")                  then bugmes();quit;end
+if ~ atomsIsLoaded(["toolbox_2","2.0"])          then bugmes();quit;end
+if ~ atomsIsLoaded(["toolbox_2","2.0","user"])   then bugmes();quit;end
+if ~ atomsIsLoaded("toolbox_1")                  then bugmes();quit;end
+if ~ atomsIsLoaded(["toolbox_1","1.0"])          then bugmes();quit;end
+if ~ atomsIsLoaded(["toolbox_1","1.0","user"])   then bugmes();quit;end
+if atomsIsLoaded(["toolbox_1","1.0","allusers"]) then bugmes();quit;end
+if atomsIsLoaded(["toolbox_2","2.0","allusers"]) then bugmes();quit;end
+A = [ "toolbox_1" "1.0" "user"     ; ..
+      "toolbox_2" "2.0" "user"     ; ..
+      "toolbox_2" ""    "user"     ; ..
+      "toolbox_2" "2.0" ""         ; ..
+      "toolbox_2" ""    ""         ; ..
+      "toolbox_2" "2.0" "allusers" ];
+if or(atomsIsLoaded(A) <> [%T ; %T ; %T ; %T ; %T ; %F]) then bugmes();quit;end
+// Remove toolbox_2
+// =============================================================================
+atomsRemove("toolbox_2","user");
+       the package toolbox_2 (2.0) is currently loaded, It will removed at next Scilab restart
+       the package toolbox_1 (1.0) is currently loaded, It will removed at next Scilab restart
+// Restore original values
+// =============================================================================
+atomsSetConfig("autoloadAddAfterInstall",config_autoload);
+atomsSetConfig("Verbose" ,config_Verbose);
+atomsRepositorySetOfl("http://atoms.scilab.org");
+atomsSystemUpdate();
diff --git a/scilab/modules/atoms/tests/unit_tests/atomsIsLoaded.tst b/scilab/modules/atoms/tests/unit_tests/atomsIsLoaded.tst
new file mode 100644 (file)
index 0000000..ec409bb
--- /dev/null
@@ -0,0 +1,61 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- JVM NOT MANDATORY -->
+
+load("SCI/modules/atoms/macros/atoms_internals/lib");
+
+// 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 scene2.test.atoms.scilab.org.txt
+// =============================================================================
+atomsRepositorySetOfl("http://scene1.test.atoms.scilab.org");
+atomsSystemUpdate();
+
+// Install toolbox N°2
+atomsInstall(["toolbox_2","2.0"],"user");
+
+// Check installation
+if ~ atomsIsInstalled(["toolbox_1","1.0","user"]) then pause, end
+if ~ atomsIsInstalled(["toolbox_2","2.0","user"]) then pause, end
+
+atomsLoad(["toolbox_2","2.0","user"]);
+
+if ~ atomsIsLoaded("toolbox_2")                  then pause, end
+if ~ atomsIsLoaded(["toolbox_2","2.0"])          then pause, end
+if ~ atomsIsLoaded(["toolbox_2","2.0","user"])   then pause, end
+
+if ~ atomsIsLoaded("toolbox_1")                  then pause, end
+if ~ atomsIsLoaded(["toolbox_1","1.0"])          then pause, end
+if ~ atomsIsLoaded(["toolbox_1","1.0","user"])   then pause, end
+
+if atomsIsLoaded(["toolbox_1","1.0","allusers"]) then pause, end
+if atomsIsLoaded(["toolbox_2","2.0","allusers"]) then pause, end
+
+A = [ "toolbox_1" "1.0" "user"     ; ..
+      "toolbox_2" "2.0" "user"     ; ..
+      "toolbox_2" ""    "user"     ; ..
+      "toolbox_2" "2.0" ""         ; ..
+      "toolbox_2" ""    ""         ; ..
+      "toolbox_2" "2.0" "allusers" ];
+
+if or(atomsIsLoaded(A) <> [%T ; %T ; %T ; %T ; %T ; %F]) then pause, end
+
+// Remove toolbox_2
+// =============================================================================
+atomsRemove("toolbox_2","user");
+
+// Restore original values
+// =============================================================================
+atomsSetConfig("autoloadAddAfterInstall",config_autoload);
+atomsSetConfig("Verbose" ,config_Verbose);
+atomsRepositorySetOfl("http://atoms.scilab.org");
+atomsSystemUpdate();