Author: lslezak
Date: Thu Sep 8 18:13:32 2011
New Revision: 65624
URL: http://svn.opensuse.org/viewcvs/yast?rev=65624&view=rev
Log:
merged tmp branch - adapted to systemd (bnc#664548)
Modified:
trunk/yast2/ (props changed)
trunk/yast2/library/network/testsuite/tests/SuSEFirewall.ycp
trunk/yast2/library/runlevel/src/Makefile.am
trunk/yast2/library/runlevel/src/Service.ycp
trunk/yast2/library/runlevel/src/Systemd.ycp
trunk/yast2/library/runlevel/testsuite/tests/RunInitScript.out
trunk/yast2/library/runlevel/testsuite/tests/RunInitScript.ycp
trunk/yast2/library/runlevel/testsuite/tests/ServiceAdjust.out
trunk/yast2/library/runlevel/testsuite/tests/ServiceAdjust.ycp
trunk/yast2/library/runlevel/testsuite/tests/ServiceFinetune.out
trunk/yast2/library/runlevel/testsuite/tests/ServiceFinetune.ycp
trunk/yast2/library/runlevel/testsuite/tests/ServiceFullInfo.out
trunk/yast2/library/runlevel/testsuite/tests/ServiceFullInfo.ycp
trunk/yast2/library/runlevel/testsuite/tests/ServiceInfo.out
trunk/yast2/library/runlevel/testsuite/tests/ServiceInfo.ycp
trunk/yast2/library/runlevel/testsuite/tests/ServiceStatus.out
trunk/yast2/library/runlevel/testsuite/tests/ServiceStatus.ycp
trunk/yast2/library/runlevel/testsuite/tests/Systemd.out
trunk/yast2/library/runlevel/testsuite/tests/Systemd.ycp
trunk/yast2/package/ (props changed)
Modified: trunk/yast2/library/network/testsuite/tests/SuSEFirewall.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/network/testsuite/tests/SuSEFirewall.ycp?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/network/testsuite/tests/SuSEFirewall.ycp (original)
+++ trunk/yast2/library/network/testsuite/tests/SuSEFirewall.ycp Thu Sep 8 18:13:32 2011
@@ -103,11 +103,15 @@
"tmpdir" : "/tmp",
],
];
-
+
map WRITE = $[
];
-
+
map EXECUTE = $[
+ "target" : $[
+ "bash_output" : $[ "exit" : 0 ],
+ "bash" : 0
+ ]
];
TESTSUITE_INIT([READ, WRITE, EXECUTE], nil);
@@ -115,6 +119,9 @@
// Configuration must be read!
SuSEFirewall::Read();
+ // initialize to disabled, not running
+ SuSEFirewall::SetEnableService(false);
+ SuSEFirewall::SetStartService(false);
DUMP("== SuSEfirewall2 service ==");
TEST(``(SuSEFirewall::GetEnableService()), [READ, WRITE, EXECUTE], nil);
Modified: trunk/yast2/library/runlevel/src/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/src/Makefile.am?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/src/Makefile.am (original)
+++ trunk/yast2/library/runlevel/src/Makefile.am Thu Sep 8 18:13:32 2011
@@ -9,4 +9,5 @@
EXTRA_DIST = $(agent_SCRIPTS) \
$(scrconf_DATA) $(module_DATA)
+YCPCFLAGS = -M ../../types/src -M ../../modules
include $(top_srcdir)/Makefile.am.common
Modified: trunk/yast2/library/runlevel/src/Service.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/src/Service.ycp?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/src/Service.ycp (original)
+++ trunk/yast2/library/runlevel/src/Service.ycp Thu Sep 8 18:13:32 2011
@@ -18,6 +18,8 @@
module "Service";
textdomain "base";
+import "FileUtils";
+
/***
* Services Manipulation
*/
@@ -44,9 +46,17 @@
*/
/**
+ * Program to invoke the service init scripts, or the systemd actions
+ */
+string invoker = "/sbin/service";
+/**
* Script location
*/
string init_d = "/etc/init.d";
+/**
+ * Unit location for systemd
+ */
+string systemd_d = "/lib/systemd/system";
/**
* After a function returns an error, this holds an error message,
@@ -74,7 +84,13 @@
y2error(1, error_msg);
return false;
}
- if(! (boolean) SCR::Read(.init.scripts.exists, name)) {
+ if (FileUtils::Exists(sformat("%1/%2", init_d,name))) {
+ return true;
+ }
+ else if (FileUtils::Exists(sformat("%1/%2.service", systemd_d,name))) {
+ return true;
+ }
+ else {
// Error message.
// %1 is a name of an init script in /etc/init.d,
// eg. nfsserver
@@ -82,7 +98,6 @@
y2milestone (1, error_msg);
return false;
}
- return true;
}
/**
@@ -111,7 +126,7 @@
*/
global define integer Status (string name) {
if(!checkExists (name)) return -1;
- return (integer) SCR::Execute (.target.bash, sformat ("%2/%1 status", name, init_d), $["TERM":"raw"]);
+ return (integer) SCR::Execute (.target.bash, sformat ("%1 %2 status", invoker, name), $["TERM":"raw"]);
}
/**
@@ -133,8 +148,8 @@
*/
define boolean serviceDisable (string name, boolean force) {
map ret = (map)SCR::Execute (.target.bash_output,
- sformat ("/sbin/insserv -r%3 %2/%1",
- name, init_d, force? "f": ""));
+ sformat ("/sbin/chkconfig -d%2 %1",
+ name, force? " -f": ""));
if (0 != ret["exit"]:-1)
{
// Error message.
@@ -166,9 +181,10 @@
return false;
}
map service = Info (name);
+ boolean is_enabled = size (service["start"]:[]) != 0;
if ("disable" == action)
{
- if (size (service["start"]:[]) != 0)
+ if (is_enabled)
{
return serviceDisable (name, false);
}
@@ -176,7 +192,7 @@
}
if (("default" == action) || ("enable" == action))
{
- if ("enable" == action && size (service["start"]:[]) != 0)
+ if ("enable" == action && is_enabled)
{
// nothing to do
return true;
@@ -184,8 +200,8 @@
else
{
map ret = (map)SCR::Execute (.target.bash_output,
- sformat ("/sbin/insserv -d %2/%1",
- name, init_d));
+ sformat ("/sbin/chkconfig -a %1",
+ name));
if (0 != ret["exit"]:-1)
{
// Error message.
@@ -225,9 +241,8 @@
// and calls us only once for each modified service.
// In general we cannot do it with dependencies in a single pass.
- string rls = mergestring ((list<string>)rl, ",");
- // we must remove it first because insserv start=... adds
- // runlevels, not replace runlevels!!
+ string rls = mergestring ((list<string>)rl, "");
+ // we must remove all runlevels and then add the selected
if (! serviceDisable (name, true))
{
y2error ("Cannot disable %1", name);
@@ -237,7 +252,7 @@
// script has already been completely disabled
// enable in required runlevels if needed
if (rls != "") {
- string command = sformat ("/sbin/insserv -f %2/%1,start=%3", name, init_d, rls);
+ string command = sformat ("/sbin/chkconfig -s -f %1 %2", name, rls);
y2milestone ("Calling %1", command);
map ret = (map)SCR::Execute (.target.bash_output, command);
@@ -250,7 +265,7 @@
// %2 is the stderr output of insserv(8)
// %3 is a comma separated list of runlevels
error_msg = sformat(_("Unable to enable service %1 in runlevels %2:\n%3"),
- name, rls, ret["stderr"]:"");
+ name, rl, ret["stderr"]:"");
y2error (1, error_msg);
return false;
}
@@ -262,19 +277,16 @@
}
/**
- * Check if service is enabled
+ * Check if service is enabled (in RL 3 or multi-user.target)
*
- * Returns true if any link in /etc/init.d/rc?.d/ exists for this
- * script. If service does not exist, logs an error.
+ * Forwards to chkconfig -c which decides between init and systemd
*
* @param name service name
- * @return true if service is set to run in any runlevel
+ * @return true if service is set to run
*/
global define boolean Enabled (string name) {
if(!checkExists (name)) return false;
- map details = (map) SCR::Read (.init.scripts.runlevel, name);
- map detail = (map) details[name]:$[];
- return size(detail["start"]:[]) != 0;
+ return 0 == SCR::Execute (.target.bash, sformat ("chkconfig -c %1 3", name));
}
/**
@@ -285,7 +297,7 @@
*/
global define integer RunInitScript (string name, string param) {
y2milestone("Running service initscript %1 %2", name, param);
- string command = sformat ("%2/%1 %3", name, init_d, param);
+ string command = sformat ("%1 %2 %3", invoker, name, param);
map output=(map)SCR::Execute (.target.bash_output,
command, $[ "TERM" : "raw"]);
Modified: trunk/yast2/library/runlevel/src/Systemd.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/src/Systemd.ycp?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/src/Systemd.ycp (original)
+++ trunk/yast2/library/runlevel/src/Systemd.ycp Thu Sep 8 18:13:32 2011
@@ -14,6 +14,7 @@
module "Systemd";
const string systemd_path = "/bin/systemd";
+const string default_symlink = "/etc/systemd/system/default.target";
textdomain "base";
@@ -40,6 +41,12 @@
string init_cmdline = (string)SCR::Read(.target.string, cmdline_path);
y2milestone("Current init program: %1", init_cmdline);
+ if (init_cmdline == nil)
+ {
+ y2error("Cannot check systemd status");
+ return nil;
+ }
+
boolean ret = substring(init_cmdline, 0, size(systemd_path)) == systemd_path;
y2milestone("Systemd detected: %1", ret);
@@ -53,8 +60,6 @@
*/
global boolean SetDefaultRunlevel(integer runlevel)
{
- const string default_symlink = "/etc/systemd/system/default.target";
-
if (runlevel == nil || runlevel < 0 || runlevel > 6)
{
y2error("Invalid default runlevel (must be in range 0..6): %1", runlevel);
@@ -76,6 +81,57 @@
return ret;
}
+/**
+ * Get the default runlevel for systemd
+ * @return integer the default runlevel (or nil on error or unknown runlevel)
+ */
+global integer DefaultRunlevel()
+{
+ string target = (string)SCR::Read(.target.symlink, default_symlink);
+ y2milestone("Default symlink points to: %1", target);
+
+ if (target == nil)
+ {
+ y2error("Cannot read symlink target of %1", default_symlink);
+ return nil;
+ }
+
+ // check runlevel<number>.target
+ string runlevel = regexpsub(target, "/runlevel([0-6]).target$", "\\1");
+ if (runlevel != nil)
+ {
+ integer ret = tointeger(runlevel);
+ y2milestone("Default runlevel: %1", ret);
+
+ return ret;
+ }
+
+ // check runlevel specified by a symbolic name
+ // (this is written in systemd documentation how to change the default,
+ // YaST should also support this style in case users do a manual change)
+ string runlevel_name = regexpsub(target, "/([^/]*).target$", "\\1");
+ if (runlevel_name != nil)
+ {
+ y2milestone("Detected default runlevel name: %1", runlevel_name);
+ map mapping = $[
+ "poweroff" : 0,
+ "rescue" : 1,
+ // this is ambiguous, runlevels 2 and 4 also point to multi-user
+ // assume runlevel 3 in this case (the most probable)
+ "multi-user": 3,
+ "graphical" : 5,
+ "reboot" : 6
+ ];
+
+ integer ret = mapping[runlevel_name]:nil;
+ y2milestone("Default runlevel: %1", ret);
+
+ return ret;
+ }
+
+ y2error("Cannot determine the default runlevel");
+ return nil;
+}
} /* EOF */
Modified: trunk/yast2/library/runlevel/testsuite/tests/RunInitScript.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/RunInitScript.out?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/RunInitScript.out (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/RunInitScript.out Thu Sep 8 18:13:32 2011
@@ -1,2 +1,3 @@
-Execute .target.bash_output "/etc/init.d/aaa start" $["TERM":"raw"] $["exit":0]
+Read .target.tmpdir "/tmp"
+Execute .target.bash_output "/sbin/service aaa start" $["TERM":"raw"] $["exit":0]
Return 0
Modified: trunk/yast2/library/runlevel/testsuite/tests/RunInitScript.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/RunInitScript.ycp?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/RunInitScript.ycp (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/RunInitScript.ycp Thu Sep 8 18:13:32 2011
@@ -1,5 +1,8 @@
{
include "testsuite.ycp";
+
+ TESTSUITE_INIT ([$[ "target" : $[ "tmpdir": "/tmp" ] ], $[], $[]], nil);
+
import "Service";
TEST (``(Service::RunInitScript ("aaa", "start")), [$[], $[], $[
Modified: trunk/yast2/library/runlevel/testsuite/tests/ServiceAdjust.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/ServiceAdjust.out?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/ServiceAdjust.out (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/ServiceAdjust.out Thu Sep 8 18:13:32 2011
@@ -1,37 +1,39 @@
-Read .init.scripts.exists "aaa" false
+Read .target.tmpdir "/tmp"
+Read .target.stat "/etc/init.d/aaa" $[]
+Read .target.stat "/lib/systemd/system/aaa.service" $[]
Log Service aaa does not exist.
Return false
-Read .init.scripts.exists "aaa" true
-Read .init.scripts.exists "aaa" true
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
Read .init.scripts.runlevel "aaa" $["aaa":$["start":["0", "1", "3"], "stop":["4", "5", "6"]]]
Read .init.scripts.comment "aaa" $["aaa":$["defstart":["0", "1", "3"], "defstop":["4", "5", "6"]]]
-Execute .target.bash_output "/sbin/insserv -r /etc/init.d/aaa" $["exit":0, "stderr":"", "stdout":""]
+Execute .target.bash_output "/sbin/chkconfig -d aaa" $["exit":0, "stderr":"", "stdout":""]
Return true
-Read .init.scripts.exists "aaa" true
-Read .init.scripts.exists "aaa" true
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
Read .init.scripts.runlevel "aaa" $["aaa":$["start":[], "stop":[]]]
Read .init.scripts.comment "aaa" $["aaa":$["defstart":["0", "1", "3"], "defstop":["4", "5", "6"]]]
Return true
-Read .init.scripts.exists "aaa" true
-Read .init.scripts.exists "aaa" true
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
Read .init.scripts.runlevel "aaa" $["aaa":$["start":[], "stop":[]]]
Read .init.scripts.comment "aaa" $["aaa":$["defstart":["0", "1", "3"], "defstop":["4", "5", "6"]]]
-Execute .target.bash_output "/sbin/insserv -d /etc/init.d/aaa" $["exit":0, "stderr":"", "stdout":""]
+Execute .target.bash_output "/sbin/chkconfig -a aaa" $["exit":0, "stderr":"", "stdout":""]
Return true
-Read .init.scripts.exists "aaa" true
-Read .init.scripts.exists "aaa" true
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
Read .init.scripts.runlevel "aaa" $["aaa":$["start":["1"], "stop":[]]]
Read .init.scripts.comment "aaa" $["aaa":$["defstart":["0", "1", "3"], "defstop":["4", "5", "6"]]]
Return true
-Read .init.scripts.exists "aaa" true
-Read .init.scripts.exists "aaa" true
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
Read .init.scripts.runlevel "aaa" $["aaa":$["start":["1"], "stop":[]]]
Read .init.scripts.comment "aaa" $["aaa":$["defstart":["0", "1", "3"], "defstop":["4", "5", "6"]]]
-Execute .target.bash_output "/sbin/insserv -d /etc/init.d/aaa" $["exit":0, "stderr":"", "stdout":""]
+Execute .target.bash_output "/sbin/chkconfig -a aaa" $["exit":0, "stderr":"", "stdout":""]
Return true
-Read .init.scripts.exists "aaa" true
-Read .init.scripts.exists "aaa" true
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
Read .init.scripts.runlevel "aaa" $["aaa":$["start":["0", "1", "3"], "stop":[]]]
Read .init.scripts.comment "aaa" $["aaa":$["defstart":["0", "1", "3"], "defstop":["4", "5", "6"]]]
-Execute .target.bash_output "/sbin/insserv -d /etc/init.d/aaa" $["exit":0, "stderr":"", "stdout":""]
+Execute .target.bash_output "/sbin/chkconfig -a aaa" $["exit":0, "stderr":"", "stdout":""]
Return true
Modified: trunk/yast2/library/runlevel/testsuite/tests/ServiceAdjust.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/ServiceAdjust.ycp?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/ServiceAdjust.ycp (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/ServiceAdjust.ycp Thu Sep 8 18:13:32 2011
@@ -1,5 +1,8 @@
{
include "testsuite.ycp";
+
+ TESTSUITE_INIT ([$[ "target" : $[ "tmpdir": "/tmp" ] ], $[], $[]], nil);
+
import "Service";
map READ = $[];
@@ -25,7 +28,11 @@
]
],
"exists" : false,
- ] ] ];
+ ] ],
+ "target" : $[
+ "stat" : $[]
+ ]
+ ];
TEST (``(Service::Adjust ("aaa", "disable")), [ READ, $[], EXEC ], nil);
// service exists and may run
@@ -43,7 +50,11 @@
]
],
"exists" : true,
- ] ] ];
+ ] ],
+ "target" : $[
+ "stat" : $["isreg": true]
+ ]
+ ];
TEST (``(Service::Adjust ("aaa", "disable")), [ READ, $[], EXEC ], nil);
// service exists and does not run
@@ -61,7 +72,11 @@
]
],
"exists" : true,
- ] ] ];
+ ] ],
+ "target" : $[
+ "stat" : $["isreg": true]
+ ]
+ ];
TEST (``(Service::Adjust ("aaa", "disable")), [ READ, $[], EXEC ], nil);
// service exists and does not run
@@ -79,7 +94,11 @@
]
],
"exists" : true,
- ] ] ];
+ ] ],
+ "target" : $[
+ "stat" : $["isreg": true]
+ ]
+ ];
TEST (``(Service::Adjust ("aaa", "enable")), [ READ, $[], EXEC ], nil);
READ = $[ "init" : $[ "scripts" : $[
@@ -96,7 +115,11 @@
]
],
"exists" : true,
- ] ] ];
+ ] ],
+ "target" : $[
+ "stat" : $["isreg": true]
+ ]
+ ];
TEST (``(Service::Adjust ("aaa", "enable")), [ READ, $[], EXEC ], nil);
READ = $[ "init" : $[ "scripts" : $[
@@ -113,7 +136,11 @@
]
],
"exists" : true,
- ] ] ];
+ ] ],
+ "target" : $[
+ "stat" : $["isreg": true]
+ ]
+ ];
TEST (``(Service::Adjust ("aaa", "default")), [ READ, $[], EXEC ], nil);
READ = $[ "init" : $[ "scripts" : $[
@@ -130,7 +157,11 @@
]
],
"exists" : true,
- ] ] ];
+ ] ],
+ "target" : $[
+ "stat" : $["isreg": true]
+ ]
+ ];
TEST (``(Service::Adjust ("aaa", "default")), [ READ, $[], EXEC ], nil);
}
Modified: trunk/yast2/library/runlevel/testsuite/tests/ServiceFinetune.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/ServiceFinetune.out?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/ServiceFinetune.out (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/ServiceFinetune.out Thu Sep 8 18:13:32 2011
@@ -1,7 +1,8 @@
-Read .init.scripts.exists "aaa" true
-Execute .target.bash_output "/sbin/insserv -rf /etc/init.d/aaa" $["exit":0, "stderr":"", "stdout":""]
-Execute .target.bash_output "/sbin/insserv -f /etc/init.d/aaa,start=A,B,C" $["exit":0, "stderr":"", "stdout":""]
+Read .target.tmpdir "/tmp"
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Execute .target.bash_output "/sbin/chkconfig -d -f aaa" $["exit":0, "stderr":"", "stdout":""]
+Execute .target.bash_output "/sbin/chkconfig -s -f aaa 135" $["exit":0, "stderr":"", "stdout":""]
Return true
-Read .init.scripts.exists "aaa" true
-Execute .target.bash_output "/sbin/insserv -rf /etc/init.d/aaa" $["exit":0, "stderr":"", "stdout":""]
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Execute .target.bash_output "/sbin/chkconfig -d -f aaa" $["exit":0, "stderr":"", "stdout":""]
Return true
Modified: trunk/yast2/library/runlevel/testsuite/tests/ServiceFinetune.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/ServiceFinetune.ycp?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/ServiceFinetune.ycp (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/ServiceFinetune.ycp Thu Sep 8 18:13:32 2011
@@ -1,5 +1,8 @@
{
include "testsuite.ycp";
+
+ TESTSUITE_INIT ([$[ "target" : $[ "tmpdir": "/tmp" ] ], $[], $[]], nil);
+
import "Service";
map READ = $[];
@@ -11,12 +14,20 @@
];
READ = $[ "init" : $[ "scripts" : $[
- "exists" : true,
- ] ] ];
- TEST (``(Service::Finetune ("aaa", ["A", "B", "C"])), [ READ, $[], EXEC ], nil);
+ "exists" : true
+ ] ],
+ "target" : $[
+ "stat" : $["isreg": true]
+ ]
+ ];
+ TEST (``(Service::Finetune ("aaa", ["1", "3", "5"])), [ READ, $[], EXEC ], nil);
READ = $[ "init" : $[ "scripts" : $[
"exists" : true,
- ] ] ];
+ ] ],
+ "target" : $[
+ "stat" : $["isreg": true]
+ ]
+ ];
TEST (``(Service::Finetune ("aaa", [])), [ READ, $[], EXEC ], nil);
}
Modified: trunk/yast2/library/runlevel/testsuite/tests/ServiceFullInfo.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/ServiceFullInfo.out?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/ServiceFullInfo.out (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/ServiceFullInfo.out Thu Sep 8 18:13:32 2011
@@ -1,7 +1,8 @@
-Read .init.scripts.exists "aaa" true
-Read .init.scripts.exists "aaa" true
+Read .target.tmpdir "/tmp"
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
Read .init.scripts.runlevel "aaa" $["aaa":$["start":["0", "1", "3"], "stop":["4", "5", "6"]]]
Read .init.scripts.comment "aaa" $["aaa":$["defstart":["0", "1", "3"], "defstop":["4", "5", "6"]]]
-Read .init.scripts.exists "aaa" true
-Execute .target.bash "/etc/init.d/aaa status" $["TERM":"raw"] 3
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Execute .target.bash "/sbin/service aaa status" $["TERM":"raw"] 3
Return $["defstart":["0", "1", "3"], "defstop":["4", "5", "6"], "start":["0", "1", "3"], "started":3, "stop":["4", "5", "6"]]
Modified: trunk/yast2/library/runlevel/testsuite/tests/ServiceFullInfo.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/ServiceFullInfo.ycp?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/ServiceFullInfo.ycp (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/ServiceFullInfo.ycp Thu Sep 8 18:13:32 2011
@@ -1,6 +1,9 @@
{
include "testsuite.ycp";
+
+ TESTSUITE_INIT ([$[ "target" : $[ "tmpdir": "/tmp" ] ], $[], $[]], nil);
+
import "Service";
map READ = $[];
@@ -24,7 +27,10 @@
],
"exists" : true,
]
- ]
+ ],
+ "target" : $[
+ "stat" : $["isreg": true]
+ ]
];
TEST (``(Service::FullInfo ("aaa")), [ READ, $[], EXEC ], nil);
Modified: trunk/yast2/library/runlevel/testsuite/tests/ServiceInfo.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/ServiceInfo.out?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/ServiceInfo.out (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/ServiceInfo.out Thu Sep 8 18:13:32 2011
@@ -1,4 +1,5 @@
-Read .init.scripts.exists "aaa" true
+Read .target.tmpdir "/tmp"
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
Read .init.scripts.runlevel "aaa" $["aaa":$["start":["0", "1", "3"], "stop":["4", "5", "6"]]]
Read .init.scripts.comment "aaa" $["aaa":$["defstart":["0", "1", "3"], "defstop":["4", "5", "6"]]]
Return $["defstart":["0", "1", "3"], "defstop":["4", "5", "6"], "start":["0", "1", "3"], "stop":["4", "5", "6"]]
Modified: trunk/yast2/library/runlevel/testsuite/tests/ServiceInfo.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/ServiceInfo.ycp?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/ServiceInfo.ycp (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/ServiceInfo.ycp Thu Sep 8 18:13:32 2011
@@ -1,6 +1,9 @@
{
include "testsuite.ycp";
+
+ TESTSUITE_INIT ([$[ "target" : $[ "tmpdir": "/tmp" ] ], $[], $[]], nil);
+
import "Service";
map READ = $[];
@@ -22,7 +25,10 @@
],
"exists" : true,
]
- ]
+ ],
+ "target" : $[
+ "stat" : $["isreg": true]
+ ]
];
TEST (``(Service::Info ("aaa")), [ READ, $[], $[] ], nil);
Modified: trunk/yast2/library/runlevel/testsuite/tests/ServiceStatus.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/ServiceStatus.out?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/ServiceStatus.out (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/ServiceStatus.out Thu Sep 8 18:13:32 2011
@@ -1,3 +1,4 @@
-Read .init.scripts.exists "aaa" true
-Execute .target.bash "/etc/init.d/aaa status" $["TERM":"raw"] 3
+Read .target.tmpdir "/tmp"
+Read .target.stat "/etc/init.d/aaa" $["isreg":true]
+Execute .target.bash "/sbin/service aaa status" $["TERM":"raw"] 3
Return 3
Modified: trunk/yast2/library/runlevel/testsuite/tests/ServiceStatus.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/ServiceStatus.ycp?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/ServiceStatus.ycp (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/ServiceStatus.ycp Thu Sep 8 18:13:32 2011
@@ -1,13 +1,13 @@
{
include "testsuite.ycp";
- import "Service";
- map READ = $[];
- map EXEC = $[];
+ TESTSUITE_INIT ([$[ "target" : $[ "tmpdir": "/tmp" ] ], $[], $[]], nil);
+
+ import "Service";
- READ = $[ "init" : $[ "scripts" : $[ "exists" : true, ] ] ];
- EXEC = $[ "target" : $[ "bash" : 3 ] ];
+ map READ = $[ "target" : $[ "stat" : $["isreg": true] ] ];
+ map EXEC = $[ "target" : $[ "bash" : 3 ] ];
TEST (``(Service::Status ("aaa")), [ READ, $[], EXEC ], nil);
}
Modified: trunk/yast2/library/runlevel/testsuite/tests/Systemd.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/Systemd.out?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/Systemd.out (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/Systemd.out Thu Sep 8 18:13:32 2011
@@ -16,3 +16,13 @@
Return true
Execute .target.bash "/bin/ln -s -f /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target" 1
Return false
+Dump Systemd::DefaultRunlevel() tests
+Read .target.symlink "/etc/systemd/system/default.target" nil
+Log Cannot read symlink target of /etc/systemd/system/default.target
+Return nil
+Read .target.symlink "/etc/systemd/system/default.target" "/lib/systemd/system/runlevel3.target"
+Return 3
+Read .target.symlink "/etc/systemd/system/default.target" "/lib/systemd/system/graphical.target"
+Return 5
+Read .target.symlink "/etc/systemd/system/default.target" "/lib/systemd/system/unknown_default.target"
+Return nil
Modified: trunk/yast2/library/runlevel/testsuite/tests/Systemd.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/runlevel/testsuite/tests/Systemd.ycp?rev=65624&r1=65623&r2=65624&view=diff
==============================================================================
--- trunk/yast2/library/runlevel/testsuite/tests/Systemd.ycp (original)
+++ trunk/yast2/library/runlevel/testsuite/tests/Systemd.ycp Thu Sep 8 18:13:32 2011
@@ -45,4 +45,19 @@
TEST (``(Systemd::SetDefaultRunlevel(5)), [$[], $[], $[
"target" : $[ "bash" : 1 ]
]], nil);
+
+
+ DUMP("Systemd::DefaultRunlevel() tests");
+
+ // test missing / invalid (not a symlink) default
+ TEST (``(Systemd::DefaultRunlevel()), [$[ "target" : $[ "symlink" : nil]], $[], $[]], nil);
+
+ // test numeric runlevel
+ TEST (``(Systemd::DefaultRunlevel()), [$[ "target" : $[ "symlink" : "/lib/systemd/system/runlevel3.target"]], $[], $[]], nil);
+
+ // test symbolic runlevel
+ TEST (``(Systemd::DefaultRunlevel()), [$[ "target" : $[ "symlink" : "/lib/systemd/system/graphical.target"]], $[], $[]], nil);
+
+ // test unknown symbolic runlevel
+ TEST (``(Systemd::DefaultRunlevel()), [$[ "target" : $[ "symlink" : "/lib/systemd/system/unknown_default.target"]], $[], $[]], nil);
}
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org