def test_timeout(self): with patch("sys.stdout", new=io.StringIO()) as fake_out: command_line_ping3.main(['-w', '0.0001', 'example.com']) self.assertRegex(fake_out.getvalue(), r".*Timeout \> [0-9\.]+s.*")
def test_count(self): with patch("sys.stdout", new=io.StringIO()) as fake_out: command_line_ping3.main(['-c', '1', 'example.com']) self.assertEqual(fake_out.getvalue().count("\n"), 1)
def test_dest_addr_2(self): with patch("sys.stdout", new=io.StringIO()) as fake_out: command_line_ping3.main(["127.0.0.1", "8.8.8.8"]) self.assertTrue("127.0.0.1" in fake_out.getvalue()) self.assertTrue("8.8.8.8" in fake_out.getvalue())
def test_dest_addr_0(self): with patch("sys.stdout", new=io.StringIO()) as fake_out: command_line_ping3.main() self.assertRegex(fake_out.getvalue(), r".*[0-9]+ms.*")
Args: dest_addr: The destination address. Ex. "192.168.1.1"/"example.com" count: How many pings should be sent. Default is 4, same as Windows CMD. (default 4) interval: How many seconds between two packets. Default is 0, which means send the next packet as soon as the previous one responsed. (default 0) *args and **kwargs: And all the other arguments available in ping() except `seq`. Returns: Formatted ping results printed. """ timeout = kwargs.get("timeout") src = kwargs.get("src") unit = kwargs.setdefault("unit", "ms") for i in range(count): output_text = "ping '{}'".format(dest_addr) output_text += " from '{}'".format(src) if src else "" output_text += " ... " delay = ping(dest_addr, seq=i, *args, **kwargs) print(output_text, end="") if delay is None: print("Timeout > {}s".format(timeout) if timeout else "Timeout") else: print("{value}{unit}".format(value=int(delay), unit=unit)) if interval > 0 and i < (count - 1): time.sleep(interval) if __name__ == "__main__": import command_line_ping3 command_line_ping3.main()
def test_debug(self): with patch("sys.stdout", new=io.StringIO()) as fake_out: command_line_ping3.main(['--debug', '-w', '0.0001', 'example.com']) self.assertRegex( fake_out.getvalue(), r".*\[DEBUG\] Request timeout for ICMP packet\..*")