From e66c2cb37ed8e6c567c30c78631af97a8b81a663 Mon Sep 17 00:00:00 2001 From: gfyoung Date: Tue, 22 May 2018 21:39:00 -0400 Subject: [PATCH] Doc / Check for Centos restart Closes gh-622. --- readme_template.md | 2 ++ testUpdateHostsFile.py | 6 +++--- updateHostsFile.py | 9 +++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/readme_template.md b/readme_template.md index c6facae07..ade1a75f7 100644 --- a/readme_template.md +++ b/readme_template.md @@ -303,6 +303,8 @@ Open a Terminal and run with root privileges: **Arch Linux/Manjaro with Wicd**: `sudo systemctl restart wicd.service` +**RHEL/Centos**: `sudo /etc/init.d/network restart` + **Others**: Consult [this wikipedia article](https://en.wikipedia.org/wiki/Hosts_%28file%29#Location_in_the_file_system). ### Mac OS X diff --git a/testUpdateHostsFile.py b/testUpdateHostsFile.py index cb88c7a5b..4b4a7c9ff 100644 --- a/testUpdateHostsFile.py +++ b/testUpdateHostsFile.py @@ -1186,7 +1186,7 @@ class TestFlushDnsCache(BaseStdout): output = sys.stdout.getvalue() self.assertIn(expected, output) - @mock.patch("os.path.isfile", side_effect=[True] + [False] * 10) + @mock.patch("os.path.isfile", side_effect=[True] + [False] * 11) @mock.patch("subprocess.call", return_value=0) def test_flush_posix(self, *_): with self.mock_property("platform.system") as obj: @@ -1201,7 +1201,7 @@ class TestFlushDnsCache(BaseStdout): output = sys.stdout.getvalue() self.assertIn(expected, output) - @mock.patch("os.path.isfile", side_effect=[True] + [False] * 10) + @mock.patch("os.path.isfile", side_effect=[True] + [False] * 11) @mock.patch("subprocess.call", return_value=1) def test_flush_posix_fail(self, *_): with self.mock_property("platform.system") as obj: @@ -1216,7 +1216,7 @@ class TestFlushDnsCache(BaseStdout): output = sys.stdout.getvalue() self.assertIn(expected, output) - @mock.patch("os.path.isfile", side_effect=[True, False, + @mock.patch("os.path.isfile", side_effect=[True, False, False, True] + [False] * 10) @mock.patch("subprocess.call", side_effect=[1, 0]) def test_flush_posix_fail_then_succeed(self, *_): diff --git a/updateHostsFile.py b/updateHostsFile.py index c775ed65e..4f08e676d 100644 --- a/updateHostsFile.py +++ b/updateHostsFile.py @@ -1063,6 +1063,15 @@ def flush_dns_cache(): else: print_success(nscd_msg.format(result="succeeded")) + centos_file = "/etc/init.d/network" + centos_msg = "Flushing the DNS cache by restarting network {result}" + + if os.path.isfile(centos_file): + if subprocess.call(SUDO + [centos_file, "restart"]): + print_failure(centos_msg.format(result="failed")) + else: + print_success(centos_msg.format(result="succeeded")) + system_prefixes = ["/usr", ""] service_types = ["NetworkManager", "wicd", "dnsmasq", "networking"]