mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-12 10:17:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
1
testing/mozbase/moznetwork/tests/manifest.ini
Normal file
1
testing/mozbase/moznetwork/tests/manifest.ini
Normal file
|
|
@ -0,0 +1 @@
|
|||
[test.py]
|
||||
85
testing/mozbase/moznetwork/tests/test.py
Normal file
85
testing/mozbase/moznetwork/tests/test.py
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
#!/usr/bin/env python
|
||||
"""
|
||||
Unit-Tests for moznetwork
|
||||
"""
|
||||
|
||||
import os
|
||||
import mock
|
||||
import mozinfo
|
||||
import moznetwork
|
||||
import re
|
||||
import subprocess
|
||||
import unittest
|
||||
|
||||
|
||||
def verify_ip_in_list(ip):
|
||||
"""
|
||||
Helper Method to check if `ip` is listed in Network Adresses
|
||||
returned by ipconfig/ifconfig, depending on the platform in use
|
||||
|
||||
:param ip: IPv4 address in the xxx.xxx.xxx.xxx format as a string
|
||||
Example Usage:
|
||||
verify_ip_in_list('192.168.0.1')
|
||||
|
||||
returns True if the `ip` is in the list of IPs in ipconfig/ifconfig
|
||||
"""
|
||||
|
||||
# Regex to match IPv4 addresses.
|
||||
# 0-255.0-255.0-255.0-255, note order is important here.
|
||||
regexip = re.compile("((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){3}"
|
||||
"(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)")
|
||||
|
||||
if mozinfo.isLinux or mozinfo.isMac or mozinfo.isBsd:
|
||||
# if "/sbin/ifconfig" exist, use it because it may not be in the
|
||||
# PATH (at least on some linux platforms)
|
||||
if os.path.isfile('/sbin/ifconfig') and os.access('/sbin/ifconfig',
|
||||
os.X_OK):
|
||||
args = ['/sbin/ifconfig']
|
||||
else:
|
||||
args = ["ifconfig"]
|
||||
|
||||
if mozinfo.isWin:
|
||||
args = ["ipconfig"]
|
||||
|
||||
ps = subprocess.Popen(args, stdout=subprocess.PIPE)
|
||||
standardoutput, standarderror = ps.communicate()
|
||||
|
||||
# Generate a list of IPs by parsing the output of ip/ifconfig
|
||||
ip_list = [x.group() for x in re.finditer(regexip, standardoutput)]
|
||||
|
||||
# Check if ip is in list
|
||||
if ip in ip_list:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
class TestGetIP(unittest.TestCase):
|
||||
|
||||
def test_get_ip(self):
|
||||
""" Attempt to test the IP address returned by
|
||||
moznetwork.get_ip() is valid """
|
||||
|
||||
ip = moznetwork.get_ip()
|
||||
|
||||
# Check the IP returned by moznetwork is in the list
|
||||
self.assertTrue(verify_ip_in_list(ip))
|
||||
|
||||
def test_get_ip_using_get_interface(self):
|
||||
""" Test that the control flow path for get_ip() using
|
||||
_get_interface_list() is works """
|
||||
|
||||
if mozinfo.isLinux or mozinfo.isMac:
|
||||
|
||||
with mock.patch('socket.gethostbyname') as byname:
|
||||
# Force socket.gethostbyname to return None
|
||||
byname.return_value = None
|
||||
|
||||
ip = moznetwork.get_ip()
|
||||
|
||||
# Check the IP returned by moznetwork is in the list
|
||||
self.assertTrue(verify_ip_in_list(ip))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue