diff mbox

[ovs-dev,V7,03/16] python tests: Fixed ctl file name for Windows

Message ID 1468592469-10160-4-git-send-email-pboca@cloudbasesolutions.com
State Superseded
Delegated to: Guru Shetty
Headers show

Commit Message

Paul Boca July 15, 2016, 2:21 p.m. UTC
On Windows the CTL filename doesn't contain the pid of the process.

Signed-off-by: Paul-Daniel Boca <pboca@cloudbasesolutions.com>
---
V2: No changes
V3: No changes
V4: No changes
V5: No changes
V6: No changes
V7: Fixed flake8 errors. Addressed changes required by review.
---
 python/ovs/unixctl/__init__.py | 11 +++++++++--
 python/ovs/unixctl/server.py   | 10 ++++++++--
 2 files changed, 17 insertions(+), 4 deletions(-)

Comments

Alin Serdean July 21, 2016, 1:14 p.m. UTC | #1
Beside a small alignment problem:

Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>



> -----Mesaj original-----

> De la: dev [mailto:dev-bounces@openvswitch.org] În numele Paul Boca

> Trimis: Friday, July 15, 2016 5:21 PM

> Către: dev@openvswitch.org

> Subiect: [ovs-dev] [PATCH V7 03/16] python tests: Fixed ctl file name for

> Windows

> 

> On Windows the CTL filename doesn't contain the pid of the process.

> 

> Signed-off-by: Paul-Daniel Boca <pboca@cloudbasesolutions.com>

> +            if sys.platform == "win32":

> +                path = "punix:%s/%s.ctl" % (ovs.dirs.RUNDIR,

> +                                               ovs.util.PROGRAM_NAME)

[Alin Gabriel Serdean: ] Small alignment problem.
> +            else:

> +                path = "punix:%s/%s.%d.ctl" % (ovs.dirs.RUNDIR,

> +                                               ovs.util.PROGRAM_NAME,

> +                                               os.getpid())

> 

>          if version is None:

>              version = ovs.version.VERSION

> --

> 2.7.2.windows.1

> _______________________________________________

> dev mailing list

> dev@openvswitch.org

> http://openvswitch.org/mailman/listinfo/dev
diff mbox

Patch

diff --git a/python/ovs/unixctl/__init__.py b/python/ovs/unixctl/__init__.py
index d3d3556..e2e5604 100644
--- a/python/ovs/unixctl/__init__.py
+++ b/python/ovs/unixctl/__init__.py
@@ -13,6 +13,7 @@ 
 # limitations under the License.
 
 import six
+import sys
 
 import ovs.util
 
@@ -71,14 +72,20 @@  def command_register(name, usage, min_args, max_args, callback, aux):
 def socket_name_from_target(target):
     assert isinstance(target, strtypes)
 
-    if target.startswith("/"):
+    """ On Windows an absolute path contains ':' ( i.e: C:\ ) """
+    if target.startswith('/') or target.find(':') > -1:
         return 0, target
 
+    """ Leave it to read the pid file on Windows also, the tests expect this
+    error in case of failure. """
     pidfile_name = "%s/%s.pid" % (ovs.dirs.RUNDIR, target)
     pid = ovs.daemon.read_pidfile(pidfile_name)
     if pid < 0:
         return -pid, "cannot read pidfile \"%s\"" % pidfile_name
 
-    return 0, "%s/%s.%d.ctl" % (ovs.dirs.RUNDIR, target, pid)
+    if sys.platform == "win32":
+        return 0, "%s/%s.ctl" % (ovs.dirs.RUNDIR, target)
+    else:
+        return 0, "%s/%s.%d.ctl" % (ovs.dirs.RUNDIR, target, pid)
 
 command_register("help", "", 0, 0, _unixctl_help, None)
diff --git a/python/ovs/unixctl/server.py b/python/ovs/unixctl/server.py
index cc712bf..2f12608 100644
--- a/python/ovs/unixctl/server.py
+++ b/python/ovs/unixctl/server.py
@@ -15,6 +15,7 @@ 
 import copy
 import errno
 import os
+import sys
 
 import six
 from six.moves import range
@@ -188,8 +189,13 @@  class UnixctlServer(object):
         if path is not None:
             path = "punix:%s" % ovs.util.abs_file_name(ovs.dirs.RUNDIR, path)
         else:
-            path = "punix:%s/%s.%d.ctl" % (ovs.dirs.RUNDIR,
-                                           ovs.util.PROGRAM_NAME, os.getpid())
+            if sys.platform == "win32":
+                path = "punix:%s/%s.ctl" % (ovs.dirs.RUNDIR,
+                                               ovs.util.PROGRAM_NAME)
+            else:
+                path = "punix:%s/%s.%d.ctl" % (ovs.dirs.RUNDIR,
+                                               ovs.util.PROGRAM_NAME,
+                                               os.getpid())
 
         if version is None:
             version = ovs.version.VERSION