mirror of
https://github.com/espressif/openthread.git
synced 2026-07-27 14:27:47 +00:00
[harness-automation] update to support both external and internal Test Harness (#3883)
1. add new role support for border router and its 8 cases 7.1.x 2. update cases referring to Test Harness v50.x 3. for version larger than R1.4.0, not trigger saving results web-operation since it will auto save. 4. use "python3 -m black -l 119 -S" to format harness-automation directory 5. correct required golden device numbers
This commit is contained in:
@@ -36,21 +36,15 @@ import re
|
||||
import time
|
||||
import unittest
|
||||
|
||||
from builtins import input
|
||||
from functools import reduce
|
||||
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver import ActionChains
|
||||
from selenium.webdriver.support.ui import Select
|
||||
from selenium.common.exceptions import UnexpectedAlertPresentException
|
||||
from selenium.common.exceptions import NoSuchElementException
|
||||
from functools import reduce
|
||||
|
||||
from autothreadharness import settings
|
||||
from autothreadharness.exceptions import (
|
||||
FailError,
|
||||
FatalError,
|
||||
GoldenDeviceNotEnoughError,
|
||||
)
|
||||
from autothreadharness.exceptions import FailError, FatalError, GoldenDeviceNotEnoughError
|
||||
from autothreadharness.harness_controller import HarnessController
|
||||
from autothreadharness.helpers import HistoryHelper
|
||||
from autothreadharness.open_thread_controller import OpenThreadController
|
||||
@@ -160,9 +154,7 @@ class HarnessCase(unittest.TestCase):
|
||||
auto_dut = settings.AUTO_DUT
|
||||
"""bool: whether use harness auto dut feature"""
|
||||
|
||||
timeout = (
|
||||
hasattr(settings, 'TIMEOUT') and settings.TIMEOUT or DEFAULT_TIMEOUT
|
||||
)
|
||||
timeout = hasattr(settings, 'TIMEOUT') and settings.TIMEOUT or DEFAULT_TIMEOUT
|
||||
"""number: timeout in seconds to stop running this test case"""
|
||||
|
||||
started = 0
|
||||
@@ -172,12 +164,24 @@ class HarnessCase(unittest.TestCase):
|
||||
self.dut = None
|
||||
self._browser = None
|
||||
self._hc = None
|
||||
self.result_dir = '%s\\%s' % (
|
||||
settings.OUTPUT_PATH,
|
||||
self.__class__.__name__,
|
||||
)
|
||||
self.result_dir = '%s\\%s' % (settings.OUTPUT_PATH, self.__class__.__name__)
|
||||
self.history = HistoryHelper()
|
||||
self.add_all_devices = False
|
||||
self.new_th = False
|
||||
|
||||
harness_info = ConfigParser.ConfigParser()
|
||||
harness_info.read('%s\\info.ini' % settings.HARNESS_HOME)
|
||||
if harness_info.has_option('Thread_Harness_Info', 'Version') and harness_info.has_option(
|
||||
'Thread_Harness_Info', 'Mode'
|
||||
):
|
||||
harness_version = harness_info.get('Thread_Harness_Info', 'Version').rsplit(' ', 1)[1]
|
||||
harness_mode = harness_info.get('Thread_Harness_Info', 'Mode')
|
||||
|
||||
if harness_mode == 'External' and harness_version > '1.4.0':
|
||||
self.new_th = True
|
||||
|
||||
if harness_mode == 'Internal' and harness_version > '49.4':
|
||||
self.new_th = True
|
||||
|
||||
super(HarnessCase, self).__init__(*args, **kwargs)
|
||||
|
||||
@@ -208,9 +212,7 @@ class HarnessCase(unittest.TestCase):
|
||||
|
||||
while True:
|
||||
try:
|
||||
pdu = pdu_factory.create_pdu_controller(
|
||||
settings.PDU_CONTROLLER_TYPE
|
||||
)
|
||||
pdu = pdu_factory.create_pdu_controller(settings.PDU_CONTROLLER_TYPE)
|
||||
pdu.open(**settings.PDU_CONTROLLER_OPEN_PARAMS)
|
||||
except EOFError:
|
||||
logger.warning('Failed to connect to telnet')
|
||||
@@ -240,32 +242,18 @@ class HarnessCase(unittest.TestCase):
|
||||
time.sleep(2)
|
||||
|
||||
harness_config = ConfigParser.ConfigParser()
|
||||
harness_config.read(
|
||||
'%s\\Config\\Configuration.ini' % settings.HARNESS_HOME
|
||||
)
|
||||
if harness_config.has_option(
|
||||
'THREAD_HARNESS_CONFIG', 'BrowserAutoNavigate'
|
||||
) and harness_config.getboolean(
|
||||
harness_config.read('%s\\Config\\Configuration.ini' % settings.HARNESS_HOME)
|
||||
if harness_config.has_option('THREAD_HARNESS_CONFIG', 'BrowserAutoNavigate') and harness_config.getboolean(
|
||||
'THREAD_HARNESS_CONFIG', 'BrowserAutoNavigate'
|
||||
):
|
||||
logger.error(
|
||||
'BrowserAutoNavigate in Configuration.ini should be False'
|
||||
)
|
||||
raise FailError(
|
||||
'BrowserAutoNavigate in Configuration.ini should be False'
|
||||
)
|
||||
logger.error('BrowserAutoNavigate in Configuration.ini should be False')
|
||||
raise FailError('BrowserAutoNavigate in Configuration.ini should be False')
|
||||
if settings.MIXED_DEVICE_TYPE:
|
||||
if harness_config.has_option(
|
||||
'THREAD_HARNESS_CONFIG', 'EnableDeviceSelection'
|
||||
) and not harness_config.getboolean(
|
||||
'THREAD_HARNESS_CONFIG', 'EnableDeviceSelection'
|
||||
):
|
||||
logger.error(
|
||||
'EnableDeviceSelection in Configuration.ini should be True'
|
||||
)
|
||||
raise FailError(
|
||||
'EnableDeviceSelection in Configuration.ini should be True'
|
||||
)
|
||||
) and not harness_config.getboolean('THREAD_HARNESS_CONFIG', 'EnableDeviceSelection'):
|
||||
logger.error('EnableDeviceSelection in Configuration.ini should be True')
|
||||
raise FailError('EnableDeviceSelection in Configuration.ini should be True')
|
||||
|
||||
def _destroy_harness(self):
|
||||
"""Stop harness backend service
|
||||
@@ -299,37 +287,39 @@ class HarnessCase(unittest.TestCase):
|
||||
2. ignore certificate errors and
|
||||
3. always allow notifications.
|
||||
"""
|
||||
chrome_options = webdriver.ChromeOptions()
|
||||
chrome_options.add_argument('--disable-extensions')
|
||||
chrome_options.add_argument('--disable-infobars')
|
||||
chrome_options.add_argument('--ignore-certificate-errors')
|
||||
chrome_options.add_experimental_option(
|
||||
'prefs',
|
||||
{'profile.managed_default_content_settings.notifications': 1},
|
||||
)
|
||||
try:
|
||||
chrome_options = webdriver.ChromeOptions()
|
||||
chrome_options.add_argument('--disable-extensions')
|
||||
chrome_options.add_argument('--disable-infobars')
|
||||
chrome_options.add_argument('--ignore-certificate-errors')
|
||||
chrome_options.add_experimental_option(
|
||||
'prefs', {'profile.managed_default_content_settings.notifications': 1}
|
||||
)
|
||||
|
||||
browser = webdriver.Chrome(chrome_options=chrome_options)
|
||||
browser.set_page_load_timeout(10)
|
||||
browser.implicitly_wait(1)
|
||||
browser.maximize_window()
|
||||
browser.get(settings.HARNESS_URL)
|
||||
self._browser = browser
|
||||
if not wait_until(lambda: 'Thread' in browser.title, 30):
|
||||
self.assertIn('Thread', browser.title)
|
||||
browser = webdriver.Chrome(chrome_options=chrome_options)
|
||||
browser.set_page_load_timeout(20)
|
||||
browser.implicitly_wait(1)
|
||||
browser.maximize_window()
|
||||
browser.get(settings.HARNESS_URL)
|
||||
self._browser = browser
|
||||
if not wait_until(lambda: 'Thread' in browser.title, 30):
|
||||
self.assertIn('Thread', browser.title)
|
||||
return True
|
||||
except Exception as e:
|
||||
logger.info('Init chrome error: {0}'.format(type(e).__name__))
|
||||
return False
|
||||
|
||||
def _destroy_browser(self):
|
||||
"""Close the browser.
|
||||
"""
|
||||
self._browser.close()
|
||||
if self._browser:
|
||||
self._browser.close()
|
||||
self._browser = None
|
||||
|
||||
def _init_rf_shield(self):
|
||||
if getattr(settings, 'SHIELD_CONTROLLER_TYPE', None) and getattr(
|
||||
settings, 'SHIELD_CONTROLLER_PARAMS', None
|
||||
):
|
||||
if getattr(settings, 'SHIELD_CONTROLLER_TYPE', None) and getattr(settings, 'SHIELD_CONTROLLER_PARAMS', None):
|
||||
self.rf_shield = get_rf_shield_controller(
|
||||
shield_type=settings.SHIELD_CONTROLLER_TYPE,
|
||||
params=settings.SHIELD_CONTROLLER_PARAMS,
|
||||
shield_type=settings.SHIELD_CONTROLLER_TYPE, params=settings.SHIELD_CONTROLLER_PARAMS
|
||||
)
|
||||
else:
|
||||
self.rf_shield = None
|
||||
@@ -347,20 +337,19 @@ class HarnessCase(unittest.TestCase):
|
||||
|
||||
logger.info('Setting up')
|
||||
# clear files
|
||||
logger.info('Deleting all .pdf')
|
||||
os.system('del /q "%HOMEDRIVE%%HOMEPATH%\\Downloads\\NewPdf_*.pdf"')
|
||||
logger.info('Deleting all .xlsx')
|
||||
os.system(
|
||||
'del /q "%HOMEDRIVE%%HOMEPATH%\\Downloads\\ExcelReport*.xlsx"'
|
||||
)
|
||||
|
||||
logger.info('Deleting all .pcapng')
|
||||
os.system('del /q "%s\\Captures\\*.pcapng"' % settings.HARNESS_HOME)
|
||||
logger.info('Empty files in Logs')
|
||||
os.system('del /q "%s\\Logs\\*.*"' % settings.HARNESS_HOME)
|
||||
|
||||
# using temp files to fix excel downloading fail
|
||||
logger.info('Empty files in temps')
|
||||
os.system(
|
||||
'del /q "%s\\Thread_Harness\\temp\\*.*"' % settings.HARNESS_HOME
|
||||
)
|
||||
if self.new_th:
|
||||
logger.info('Empty files in Reports')
|
||||
os.system('del /q "%s\\Reports\\*.*"' % settings.HARNESS_HOME)
|
||||
else:
|
||||
logger.info('Empty files in temps')
|
||||
os.system('del /q "%s\\Thread_Harness\\temp\\*.*"' % settings.HARNESS_HOME)
|
||||
|
||||
# create directory
|
||||
os.system('mkdir %s' % self.result_dir)
|
||||
@@ -402,28 +391,20 @@ class HarnessCase(unittest.TestCase):
|
||||
if dialog and dialog.get_attribute('aria-hidden') == 'false':
|
||||
times = 100
|
||||
while times:
|
||||
status = dialog.find_element_by_class_name(
|
||||
'status-notify'
|
||||
).text
|
||||
status = dialog.find_element_by_class_name('status-notify').text
|
||||
if 'Searching' in status:
|
||||
logger.info('Still detecting..')
|
||||
elif 'Not' in status:
|
||||
logger.warning('Sniffer device not verified!')
|
||||
button = dialog.find_element_by_id(
|
||||
'snifferAutoDetectBtn'
|
||||
)
|
||||
button = dialog.find_element_by_id('snifferAutoDetectBtn')
|
||||
button.click()
|
||||
elif 'Verified' in status:
|
||||
logger.info('Verified!')
|
||||
button = dialog.find_element_by_id(
|
||||
'saveCaptureSettings'
|
||||
)
|
||||
button = dialog.find_element_by_id('saveCaptureSettings')
|
||||
button.click()
|
||||
break
|
||||
else:
|
||||
logger.warning(
|
||||
'Unexpected sniffer verification status'
|
||||
)
|
||||
logger.warning('Unexpected sniffer verification status')
|
||||
|
||||
times = times - 1
|
||||
time.sleep(1)
|
||||
@@ -459,22 +440,16 @@ class HarnessCase(unittest.TestCase):
|
||||
button.click()
|
||||
time.sleep(2)
|
||||
|
||||
dialog = self._browser.find_element_by_id(
|
||||
'general-Setup-modal'
|
||||
)
|
||||
dialog = self._browser.find_element_by_id('general-Setup-modal')
|
||||
if dialog.get_attribute('aria-hidden') != 'false':
|
||||
raise Exception('Missing General Setup dialog')
|
||||
|
||||
field = dialog.find_element_by_id(
|
||||
'inp_general_child_update_wait_time'
|
||||
)
|
||||
field = dialog.find_element_by_id('inp_general_child_update_wait_time')
|
||||
field.clear()
|
||||
if self.child_timeout:
|
||||
field.send_keys(str(self.child_timeout))
|
||||
|
||||
field = dialog.find_element_by_id(
|
||||
'inp_general_sed_polling_rate'
|
||||
)
|
||||
field = dialog.find_element_by_id('inp_general_sed_polling_rate')
|
||||
field.clear()
|
||||
if self.sed_polling_interval:
|
||||
field.send_keys(str(self.sed_polling_interval))
|
||||
@@ -531,9 +506,7 @@ class HarnessCase(unittest.TestCase):
|
||||
selected_hw_num = len(selected_hw_set)
|
||||
|
||||
while selected_hw_num:
|
||||
remove_button = selected_hw_set[
|
||||
selected_hw_num - 1
|
||||
].find_element_by_class_name('removeSelectedDevice')
|
||||
remove_button = selected_hw_set[selected_hw_num - 1].find_element_by_class_name('removeSelectedDevice')
|
||||
remove_button.click()
|
||||
selected_hw_num = selected_hw_num - 1
|
||||
|
||||
@@ -541,21 +514,14 @@ class HarnessCase(unittest.TestCase):
|
||||
device
|
||||
for device in settings.GOLDEN_DEVICES
|
||||
if not self.history.is_bad_golden_device(device[0])
|
||||
and not (
|
||||
settings.DUT_DEVICE and device[0] == settings.DUT_DEVICE[0]
|
||||
)
|
||||
and not (settings.DUT_DEVICE and device[0] == settings.DUT_DEVICE[0])
|
||||
]
|
||||
logger.info(
|
||||
'Available golden devices: %s', json.dumps(devices, indent=2)
|
||||
)
|
||||
logger.info('Available golden devices: %s', json.dumps(devices, indent=2))
|
||||
golden_devices_required = self.golden_devices_required
|
||||
|
||||
# for test bed with mixed devices
|
||||
if settings.MIXED_DEVICE_TYPE:
|
||||
topo_file = (
|
||||
settings.HARNESS_HOME
|
||||
+ "\\Thread_Harness\\TestScripts\\TopologyConfig.txt"
|
||||
)
|
||||
topo_file = settings.HARNESS_HOME + "\\Thread_Harness\\TestScripts\\TopologyConfig.txt"
|
||||
try:
|
||||
f_topo = open(topo_file, 'r')
|
||||
except IOError:
|
||||
@@ -573,9 +539,7 @@ class HarnessCase(unittest.TestCase):
|
||||
case_id = match_line.group(1)
|
||||
|
||||
if re.sub(r'\.', ' ', case_id) == self.case:
|
||||
logger.info(
|
||||
'Get line by case %s: %s', case_id, topo_line
|
||||
)
|
||||
logger.info('Get line by case %s: %s', case_id, topo_line)
|
||||
topo_device_list = re.split(',', match_line.group(2))
|
||||
for i in range(len(topo_device_list)):
|
||||
topo_device = re.split(':', topo_device_list[i])
|
||||
@@ -584,15 +548,9 @@ class HarnessCase(unittest.TestCase):
|
||||
else:
|
||||
continue
|
||||
except Exception as e:
|
||||
logger.info(
|
||||
'Get devices from topology config file error: %s', e
|
||||
)
|
||||
logger.info('Get devices from topology config file error: %s', e)
|
||||
raise GoldenDeviceNotEnoughError()
|
||||
logger.info(
|
||||
'Golden devices in topology config file for case %s: %s',
|
||||
case_id,
|
||||
topo_mixed_devices,
|
||||
)
|
||||
logger.info('Golden devices in topology config file for case %s: %s', case_id, topo_mixed_devices)
|
||||
f_topo.close()
|
||||
golden_device_candidates = []
|
||||
missing_golden_devices = topo_mixed_devices[:]
|
||||
@@ -604,10 +562,7 @@ class HarnessCase(unittest.TestCase):
|
||||
devices.remove(device_item)
|
||||
missing_golden_devices.remove(mixed_device_item)
|
||||
break
|
||||
logger.info(
|
||||
'Golden devices in topology config file mapped in settings : %s',
|
||||
golden_device_candidates,
|
||||
)
|
||||
logger.info('Golden devices in topology config file mapped in settings : %s', golden_device_candidates)
|
||||
if len(topo_mixed_devices) != len(golden_device_candidates):
|
||||
device_dict = dict()
|
||||
for missing_device in missing_golden_devices:
|
||||
@@ -620,10 +575,7 @@ class HarnessCase(unittest.TestCase):
|
||||
else:
|
||||
devices = golden_device_candidates
|
||||
golden_devices_required = len(devices)
|
||||
logger.info(
|
||||
'All case-needed golden devices: %s',
|
||||
json.dumps(devices, indent=2),
|
||||
)
|
||||
logger.info('All case-needed golden devices: %s', json.dumps(devices, indent=2))
|
||||
|
||||
if self.auto_dut and not settings.DUT_DEVICE:
|
||||
if settings.MIXED_DEVICE_TYPE:
|
||||
@@ -635,9 +587,7 @@ class HarnessCase(unittest.TestCase):
|
||||
raise GoldenDeviceNotEnoughError()
|
||||
|
||||
# add golden devices
|
||||
number_of_devices_to_add = (
|
||||
len(devices) if self.add_all_devices else golden_devices_required
|
||||
)
|
||||
number_of_devices_to_add = len(devices) if self.add_all_devices else golden_devices_required
|
||||
for i in range(number_of_devices_to_add):
|
||||
self._add_device(*devices.pop())
|
||||
|
||||
@@ -647,17 +597,13 @@ class HarnessCase(unittest.TestCase):
|
||||
|
||||
# enable AUTO DUT
|
||||
if self.auto_dut:
|
||||
checkbox_auto_dut = browser.find_element_by_id(
|
||||
'EnableAutoDutSelection'
|
||||
)
|
||||
checkbox_auto_dut = browser.find_element_by_id('EnableAutoDutSelection')
|
||||
if not checkbox_auto_dut.is_selected():
|
||||
checkbox_auto_dut.click()
|
||||
time.sleep(1)
|
||||
|
||||
if settings.DUT_DEVICE:
|
||||
radio_auto_dut = browser.find_element_by_class_name(
|
||||
'AutoDUT_RadBtns'
|
||||
)
|
||||
radio_auto_dut = browser.find_element_by_class_name('AutoDUT_RadBtns')
|
||||
if not radio_auto_dut.is_selected():
|
||||
radio_auto_dut.click()
|
||||
|
||||
@@ -666,32 +612,22 @@ class HarnessCase(unittest.TestCase):
|
||||
self._connect_devices()
|
||||
button_next = browser.find_element_by_id('nextBtn')
|
||||
if not wait_until(
|
||||
lambda: 'disabled'
|
||||
not in button_next.get_attribute('class'),
|
||||
lambda: 'disabled' not in button_next.get_attribute('class'),
|
||||
times=(30 + 4 * number_of_devices_to_add),
|
||||
):
|
||||
bad_ones = []
|
||||
selected_hw_set = test_bed.find_elements_by_class_name(
|
||||
'selected-hw'
|
||||
)
|
||||
selected_hw_set = test_bed.find_elements_by_class_name('selected-hw')
|
||||
for selected_hw in selected_hw_set:
|
||||
form_inputs = selected_hw.find_elements_by_tag_name(
|
||||
'input'
|
||||
)
|
||||
form_inputs = selected_hw.find_elements_by_tag_name('input')
|
||||
form_port = form_inputs[0]
|
||||
if form_port.is_enabled():
|
||||
bad_ones.append(selected_hw)
|
||||
|
||||
for selected_hw in bad_ones:
|
||||
form_inputs = selected_hw.find_elements_by_tag_name(
|
||||
'input'
|
||||
)
|
||||
form_inputs = selected_hw.find_elements_by_tag_name('input')
|
||||
form_port = form_inputs[0]
|
||||
port = form_port.get_attribute('value').encode('utf8')
|
||||
if (
|
||||
settings.DUT_DEVICE
|
||||
and port == settings.DUT_DEVICE[0]
|
||||
):
|
||||
if settings.DUT_DEVICE and port == settings.DUT_DEVICE[0]:
|
||||
if settings.PDU_CONTROLLER_TYPE is None:
|
||||
# connection error cannot recover without power
|
||||
# cycling
|
||||
@@ -704,9 +640,7 @@ class HarnessCase(unittest.TestCase):
|
||||
self.history.mark_bad_golden_device(port)
|
||||
|
||||
# remove the bad one
|
||||
selected_hw.find_element_by_class_name(
|
||||
'removeSelectedDevice'
|
||||
).click()
|
||||
selected_hw.find_element_by_class_name('removeSelectedDevice').click()
|
||||
time.sleep(0.1)
|
||||
|
||||
if len(devices):
|
||||
@@ -722,21 +656,14 @@ class HarnessCase(unittest.TestCase):
|
||||
continue
|
||||
|
||||
if self.auto_dut and not settings.DUT_DEVICE:
|
||||
radio_auto_dut = browser.find_element_by_class_name(
|
||||
'AutoDUT_RadBtns'
|
||||
)
|
||||
radio_auto_dut = browser.find_element_by_class_name('AutoDUT_RadBtns')
|
||||
if not radio_auto_dut.is_selected():
|
||||
radio_auto_dut.click()
|
||||
|
||||
time.sleep(5)
|
||||
|
||||
button_next.click()
|
||||
if not wait_until(
|
||||
lambda: self._browser.current_url.endswith(
|
||||
'TestExecution.html'
|
||||
),
|
||||
20,
|
||||
):
|
||||
if not wait_until(lambda: self._browser.current_url.endswith('TestExecution.html'), 20):
|
||||
raise Exception('Failed to load TestExecution page')
|
||||
except FailError:
|
||||
raise
|
||||
@@ -754,15 +681,8 @@ class HarnessCase(unittest.TestCase):
|
||||
time.sleep(1)
|
||||
|
||||
checkbox = None
|
||||
wait_until(
|
||||
lambda: self._browser.find_elements_by_css_selector(
|
||||
'.tree-node .tree-title'
|
||||
)
|
||||
and True
|
||||
)
|
||||
elems = self._browser.find_elements_by_css_selector(
|
||||
'.tree-node .tree-title'
|
||||
)
|
||||
wait_until(lambda: self._browser.find_elements_by_css_selector('.tree-node .tree-title') and True)
|
||||
elems = self._browser.find_elements_by_css_selector('.tree-node .tree-title')
|
||||
finder = re.compile(r'.*\b' + case + r'\b')
|
||||
finder_dotted = re.compile(r'.*\b' + case.replace(' ', r'\.') + r'\b')
|
||||
for elem in elems:
|
||||
@@ -785,81 +705,21 @@ class HarnessCase(unittest.TestCase):
|
||||
|
||||
elem = self._browser.find_element_by_id('runTest')
|
||||
elem.click()
|
||||
if not wait_until(
|
||||
lambda: self._browser.find_element_by_id('stopTest') and True, 10
|
||||
):
|
||||
if not wait_until(lambda: self._browser.find_element_by_id('stopTest') and True, 10):
|
||||
raise Exception('Failed to start test case')
|
||||
|
||||
def _collect_result(self):
|
||||
"""Collect test result.
|
||||
|
||||
Generate PDF, excel and pcap file
|
||||
Copy PDF and pcap file to result directory
|
||||
"""
|
||||
# generate pdf
|
||||
self._browser.find_element_by_class_name('save-pdf').click()
|
||||
time.sleep(1)
|
||||
try:
|
||||
dialog = self._browser.find_element_by_id('Testinfo')
|
||||
except BaseException:
|
||||
logger.exception('Failed to get test info dialog.')
|
||||
|
||||
if self.new_th:
|
||||
os.system('copy "%s\\Reports\\*.*" "%s"' % (settings.HARNESS_HOME, self.result_dir))
|
||||
else:
|
||||
if dialog.get_attribute('aria-hidden') != 'false':
|
||||
raise Exception('Test information dialog not ready')
|
||||
os.system('copy "%s\\Thread_Harness\\temp\\*.*" "%s"' % (settings.HARNESS_HOME, self.result_dir))
|
||||
|
||||
version = (
|
||||
self.auto_dut and settings.DUT_VERSION or self.dut.version
|
||||
)
|
||||
dialog.find_element_by_id('inp_dut_manufacturer').send_keys(
|
||||
settings.DUT_MANUFACTURER
|
||||
)
|
||||
dialog.find_element_by_id('inp_dut_firmware_version').send_keys(
|
||||
version
|
||||
)
|
||||
dialog.find_element_by_id('inp_tester_name').send_keys(
|
||||
settings.TESTER_NAME
|
||||
)
|
||||
dialog.find_element_by_id('inp_remarks').send_keys(
|
||||
settings.TESTER_REMARKS
|
||||
)
|
||||
dialog.find_element_by_id('generatePdf').click()
|
||||
|
||||
time.sleep(1)
|
||||
main_window = self._browser.current_window_handle
|
||||
|
||||
# generate excel
|
||||
self._browser.find_element_by_class_name('save-excel').click()
|
||||
time.sleep(1)
|
||||
for window_handle in self._browser.window_handles:
|
||||
if window_handle != main_window:
|
||||
self._browser.switch_to.window(window_handle)
|
||||
self._browser.close()
|
||||
self._browser.switch_to.window(main_window)
|
||||
|
||||
# save pcap
|
||||
self._browser.find_element_by_class_name('save-wireshark').click()
|
||||
time.sleep(1)
|
||||
for window_handle in self._browser.window_handles:
|
||||
if window_handle != main_window:
|
||||
self._browser.switch_to.window(window_handle)
|
||||
self._browser.close()
|
||||
self._browser.switch_to.window(main_window)
|
||||
|
||||
os.system(
|
||||
'copy "%%HOMEPATH%%\\Downloads\\NewPdf_*.pdf" %s\\'
|
||||
% self.result_dir
|
||||
)
|
||||
os.system(
|
||||
'copy "%%HOMEPATH%%\\Downloads\\ExcelReport_*.xlsx" %s\\'
|
||||
% self.result_dir
|
||||
)
|
||||
os.system(
|
||||
'copy "%s\\Captures\\*.pcapng" %s\\'
|
||||
% (settings.HARNESS_HOME, self.result_dir)
|
||||
)
|
||||
os.system(
|
||||
'copy "%s\\Thread_Harness\\temp\\*.*" "%s"'
|
||||
% (settings.HARNESS_HOME, self.result_dir)
|
||||
)
|
||||
os.system('copy "%s\\Captures\\*.pcapng" %s\\' % (settings.HARNESS_HOME, self.result_dir))
|
||||
|
||||
def _wait_dialog(self):
|
||||
"""Wait for dialogs and handle them until done.
|
||||
@@ -868,7 +728,7 @@ class HarnessCase(unittest.TestCase):
|
||||
done = False
|
||||
error = False
|
||||
|
||||
logger.info("self timeout %d", self.timeout)
|
||||
logger.info('self timeout %d', self.timeout)
|
||||
while not done and self.timeout:
|
||||
try:
|
||||
dialog = self._browser.find_element_by_id('RemoteConfirm')
|
||||
@@ -876,9 +736,7 @@ class HarnessCase(unittest.TestCase):
|
||||
logger.exception('Failed to get dialog.')
|
||||
else:
|
||||
if dialog and dialog.get_attribute('aria-hidden') == 'false':
|
||||
title = dialog.find_element_by_class_name(
|
||||
'modal-title'
|
||||
).text
|
||||
title = dialog.find_element_by_class_name('modal-title').text
|
||||
time.sleep(1)
|
||||
logger.info('Handling dialog[%s]', title)
|
||||
|
||||
@@ -912,25 +770,15 @@ class HarnessCase(unittest.TestCase):
|
||||
if self.timeout % 10 == 0:
|
||||
lines = self._hc.tail()
|
||||
if 'SUCCESS: The process "dumpcap.exe" with PID ' in lines:
|
||||
logger.info(
|
||||
'Tshark should be ended now, lets wait at most 30 seconds.'
|
||||
)
|
||||
if not wait_until(
|
||||
lambda: 'tshark.exe'
|
||||
not in subprocess.check_output('tasklist'),
|
||||
30,
|
||||
):
|
||||
logger.info('Tshark should be ended now, lets wait at most 30 seconds.')
|
||||
if not wait_until(lambda: 'tshark.exe' not in subprocess.check_output('tasklist'), 30):
|
||||
res = subprocess.check_output(
|
||||
'taskkill /t /f /im tshark.exe',
|
||||
stderr=subprocess.STDOUT,
|
||||
shell=True,
|
||||
'taskkill /t /f /im tshark.exe', stderr=subprocess.STDOUT, shell=True
|
||||
)
|
||||
logger.info(res)
|
||||
|
||||
# Wait until case really stopped
|
||||
wait_until(
|
||||
lambda: self._browser.find_element_by_id('runTest') and True, 30
|
||||
)
|
||||
wait_until(lambda: self._browser.find_element_by_id('runTest') and True, 30)
|
||||
|
||||
if error:
|
||||
raise FailError('Fail for previous exceptions')
|
||||
@@ -967,9 +815,7 @@ class HarnessCase(unittest.TestCase):
|
||||
self.dut.extpanid = settings.THREAD_EXTPANID
|
||||
self.dut.start()
|
||||
|
||||
elif title.startswith('MAC Address Required') or title.startswith(
|
||||
'DUT Random Extended MAC Address Required'
|
||||
):
|
||||
elif title.startswith('MAC Address Required') or title.startswith('DUT Random Extended MAC Address Required'):
|
||||
mac = self.dut.mac
|
||||
inp = dialog.find_element_by_id('cnfrmInpText')
|
||||
inp.clear()
|
||||
@@ -979,9 +825,7 @@ class HarnessCase(unittest.TestCase):
|
||||
ll64 = None
|
||||
for addr in self.dut.addrs:
|
||||
addr = addr.lower()
|
||||
if addr.startswith('fe80') and not re.match(
|
||||
'.+ff:fe00:[0-9a-f]{0,4}$', addr
|
||||
):
|
||||
if addr.startswith('fe80') and not re.match('.+ff:fe00:[0-9a-f]{0,4}$', addr):
|
||||
ll64 = addr
|
||||
break
|
||||
|
||||
@@ -1014,9 +858,7 @@ class HarnessCase(unittest.TestCase):
|
||||
elif title.startswith('ML64 Address'):
|
||||
ml64 = None
|
||||
for addr in self.dut.addrs:
|
||||
if addr.startswith('fd') and not re.match(
|
||||
'.+ff:fe00:[0-9a-f]{0,4}$', addr
|
||||
):
|
||||
if addr.startswith('fd') and not re.match('.+ff:fe00:[0-9a-f]{0,4}$', addr):
|
||||
ml64 = addr
|
||||
break
|
||||
|
||||
@@ -1028,23 +870,17 @@ class HarnessCase(unittest.TestCase):
|
||||
inp.clear()
|
||||
inp.send_keys(ml64)
|
||||
|
||||
elif title.startswith('Shield Devices') or title.startswith(
|
||||
'Sheild DUT'
|
||||
):
|
||||
elif title.startswith('Shield Devices') or title.startswith('Sheild DUT'):
|
||||
if self.rf_shield:
|
||||
logger.info('Shielding devices')
|
||||
with self.rf_shield:
|
||||
self.rf_shield.shield()
|
||||
elif self.dut and settings.SHIELD_SIMULATION:
|
||||
self.dut.channel = (
|
||||
self.channel == THREAD_CHANNEL_MAX and THREAD_CHANNEL_MIN
|
||||
) or (self.channel + 1)
|
||||
self.dut.channel = (self.channel == THREAD_CHANNEL_MAX and THREAD_CHANNEL_MIN) or (self.channel + 1)
|
||||
else:
|
||||
input('Shield DUT and press enter to continue..')
|
||||
|
||||
elif title.startswith('Unshield Devices') or title.startswith(
|
||||
'Bring DUT Back to network'
|
||||
):
|
||||
elif title.startswith('Unshield Devices') or title.startswith('Bring DUT Back to network'):
|
||||
if self.rf_shield:
|
||||
logger.info('Unshielding devices')
|
||||
with self.rf_shield:
|
||||
@@ -1058,10 +894,7 @@ class HarnessCase(unittest.TestCase):
|
||||
body = dialog.find_element_by_id('cnfrmMsg').text
|
||||
body = body.split(': ')[1]
|
||||
params = reduce(
|
||||
lambda params, param: params.update(
|
||||
((param[0].strip(' '), param[1]),)
|
||||
)
|
||||
or params,
|
||||
lambda params, param: params.update(((param[0].strip(' '), param[1]),)) or params,
|
||||
[it.split('=') for it in body.split(', ')],
|
||||
{},
|
||||
)
|
||||
@@ -1086,8 +919,18 @@ class HarnessCase(unittest.TestCase):
|
||||
return
|
||||
|
||||
logger.info('Testing role[%d] case[%s]', self.role, self.case)
|
||||
|
||||
init_browser_times = 5
|
||||
while True:
|
||||
if self._init_browser():
|
||||
break
|
||||
elif init_browser_times > 0:
|
||||
init_browser_times -= 1
|
||||
self._destroy_browser()
|
||||
else:
|
||||
raise SystemExit()
|
||||
|
||||
try:
|
||||
self._init_browser()
|
||||
# prepare test case
|
||||
while True:
|
||||
url = self._browser.current_url
|
||||
@@ -1113,7 +956,7 @@ class HarnessCase(unittest.TestCase):
|
||||
|
||||
self._select_case(self.role, self.case)
|
||||
|
||||
logger.info("start to wait test process end")
|
||||
logger.info('start to wait test process end')
|
||||
self._wait_dialog()
|
||||
|
||||
try:
|
||||
|
||||
@@ -93,10 +93,7 @@ class HarnessController(object):
|
||||
% (settings.HARNESS_HOME, settings.HARNESS_HOME),
|
||||
)
|
||||
|
||||
self.harness_file = '%s\\harness-%s.log' % (
|
||||
self.result_dir,
|
||||
time.strftime('%Y%m%d%H%M%S'),
|
||||
)
|
||||
self.harness_file = '%s\\harness-%s.log' % (self.result_dir, time.strftime('%Y%m%d%H%M%S'))
|
||||
with open(self.harness_file, 'w') as harness_out:
|
||||
self.harness = subprocess.Popen(
|
||||
[
|
||||
@@ -116,11 +113,7 @@ class HarnessController(object):
|
||||
if self.miniweb:
|
||||
logger.warning('Miniweb already started')
|
||||
else:
|
||||
with open(
|
||||
'%s\\miniweb-%s.log'
|
||||
% (self.result_dir, time.strftime('%Y%m%d%H%M%S')),
|
||||
'w',
|
||||
) as miniweb_out:
|
||||
with open('%s\\miniweb-%s.log' % (self.result_dir, time.strftime('%Y%m%d%H%M%S')), 'w') as miniweb_out:
|
||||
self.miniweb = subprocess.Popen(
|
||||
[settings.HARNESS_HOME + '\\MiniWeb\\miniweb.exe'],
|
||||
stdout=miniweb_out,
|
||||
|
||||
@@ -95,9 +95,7 @@ class OpenThreadController(threading.Thread):
|
||||
def _connect(self):
|
||||
logger.debug('My port is %s', self.port)
|
||||
if self.port.startswith('NET'):
|
||||
portnum = settings.SER2NET_PORTBASE + int(
|
||||
self.port.split('NET')[1]
|
||||
)
|
||||
portnum = settings.SER2NET_PORTBASE + int(self.port.split('NET')[1])
|
||||
logger.debug('My port num is %d', portnum)
|
||||
address = (settings.SER2NET_HOSTNAME, portnum)
|
||||
self.handle = socket.create_connection(address)
|
||||
@@ -109,9 +107,7 @@ class OpenThreadController(threading.Thread):
|
||||
self.handle.setblocking(0)
|
||||
self._is_net = True
|
||||
else:
|
||||
self.handle = serial.Serial(
|
||||
self.port, 115200, timeout=0, xonxoff=True
|
||||
)
|
||||
self.handle = serial.Serial(self.port, 115200, timeout=0, xonxoff=True)
|
||||
self._is_net = False
|
||||
|
||||
def _read(self, size=512):
|
||||
|
||||
@@ -33,22 +33,12 @@ import re
|
||||
import telnetlib
|
||||
import time
|
||||
|
||||
from builtins import input
|
||||
|
||||
try:
|
||||
# python 2
|
||||
from urllib2 import (
|
||||
HTTPPasswordMgrWithDefaultRealm,
|
||||
HTTPBasicAuthHandler,
|
||||
build_opener,
|
||||
)
|
||||
from urllib2 import HTTPPasswordMgrWithDefaultRealm, HTTPBasicAuthHandler, build_opener
|
||||
except ImportError:
|
||||
# python 3
|
||||
from urllib.request import (
|
||||
HTTPPasswordMgrWithDefaultRealm,
|
||||
HTTPBasicAuthHandler,
|
||||
build_opener,
|
||||
)
|
||||
from urllib.request import HTTPPasswordMgrWithDefaultRealm, HTTPBasicAuthHandler, build_opener
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -188,9 +178,7 @@ class NordicBoardPduController(PduController):
|
||||
boards_serial_numbers = params['boards_serial_numbers']
|
||||
|
||||
for serial_number in boards_serial_numbers:
|
||||
logger.info(
|
||||
'Resetting board with the serial number: %s', serial_number
|
||||
)
|
||||
logger.info('Resetting board with the serial number: %s', serial_number)
|
||||
self._pin_reset(serial_number)
|
||||
|
||||
def close(self):
|
||||
@@ -201,9 +189,7 @@ class IpPowerSocketPduController(PduController):
|
||||
def open(self, **params):
|
||||
self._base_url = 'http://{}/outs.cgi?out'.format(params['ip'])
|
||||
password_manager = HTTPPasswordMgrWithDefaultRealm()
|
||||
password_manager.add_password(
|
||||
None, self._base_url, params['user'], params['pass']
|
||||
)
|
||||
password_manager.add_password(None, self._base_url, params['user'], params['pass'])
|
||||
authentication_handler = HTTPBasicAuthHandler(password_manager)
|
||||
self._opener = build_opener(authentication_handler)
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ class RfSwitchController(RfShieldController):
|
||||
return self._conn.write('{}\r\n'.format(data))
|
||||
|
||||
def _display_string(self, string):
|
||||
self._write('DIAGNOSTIC:DISPLAY \"{}\"'.format(string))
|
||||
self._write('DIAGNOSTIC:DISPLAY "{}"'.format(string))
|
||||
|
||||
def __enter__(self):
|
||||
self._conn = serial.Serial(self._port, 9600)
|
||||
@@ -96,6 +96,4 @@ CONTROLLERS = {'RF_SWITCH': RfSwitchController}
|
||||
def get_rf_shield_controller(shield_type, params):
|
||||
if shield_type in CONTROLLERS:
|
||||
return CONTROLLERS[shield_type](**params)
|
||||
logger.exception(
|
||||
'Unknown RF shield controller type: {}'.format(shield_type)
|
||||
)
|
||||
logger.exception('Unknown RF shield controller type: {}'.format(shield_type))
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#
|
||||
|
||||
|
||||
import ConfigParser
|
||||
import argparse
|
||||
import fnmatch
|
||||
import logging
|
||||
@@ -36,7 +37,6 @@ import os
|
||||
import sys
|
||||
import time
|
||||
import unittest
|
||||
from builtins import str
|
||||
from collections import OrderedDict
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
@@ -50,23 +50,14 @@ logger = logging.getLogger()
|
||||
|
||||
logger.setLevel(logging.INFO)
|
||||
|
||||
RESUME_SCRIPT_PATH = (
|
||||
'%appdata%\\Microsoft\\Windows\\Start Menu\\Programs\\'
|
||||
'Startup\\continue_harness.bat'
|
||||
)
|
||||
RESUME_SCRIPT_PATH = "%appdata%\\Microsoft\\Windows\\Start Menu\\Programs\\" "Startup\\continue_harness.bat"
|
||||
|
||||
|
||||
class SimpleTestResult(unittest.TestResult):
|
||||
|
||||
executions = 0
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
path,
|
||||
auto_reboot_args=None,
|
||||
keep_explorer=False,
|
||||
add_all_devices=False,
|
||||
):
|
||||
def __init__(self, path, auto_reboot_args=None, keep_explorer=False, add_all_devices=False):
|
||||
"""Record test results in json file
|
||||
|
||||
Args:
|
||||
@@ -96,26 +87,16 @@ class SimpleTestResult(unittest.TestResult):
|
||||
test.auto_reboot = True
|
||||
os.system(
|
||||
'echo %s > "%s"'
|
||||
% (
|
||||
' '.join(
|
||||
self.auto_reboot_args + ['-c', test.__class__.__name__]
|
||||
),
|
||||
RESUME_SCRIPT_PATH,
|
||||
)
|
||||
% (' '.join(self.auto_reboot_args + ['-c', test.__class__.__name__]), RESUME_SCRIPT_PATH)
|
||||
)
|
||||
|
||||
# record start timestamp
|
||||
self.started = time.strftime('%Y-%m-%dT%H:%M:%S')
|
||||
|
||||
os.system('mkdir %s' % test.result_dir)
|
||||
self.log_handler = logging.FileHandler(
|
||||
'%s\\auto-%s.log'
|
||||
% (test.result_dir, time.strftime('%Y%m%d%H%M%S'))
|
||||
)
|
||||
self.log_handler = logging.FileHandler('%s\\auto-%s.log' % (test.result_dir, time.strftime('%Y%m%d%H%M%S')))
|
||||
self.log_handler.setLevel(logging.DEBUG)
|
||||
self.log_handler.setFormatter(
|
||||
logging.Formatter('%(asctime)s %(levelname)s %(message)s')
|
||||
)
|
||||
self.log_handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(message)s'))
|
||||
logger.addHandler(self.log_handler)
|
||||
|
||||
def add_result(self, test, passed, error=None):
|
||||
@@ -135,11 +116,7 @@ class SimpleTestResult(unittest.TestResult):
|
||||
if self.auto_reboot_args:
|
||||
os.system('del "%s"' % RESUME_SCRIPT_PATH)
|
||||
|
||||
json.dump(
|
||||
OrderedDict(sorted(self.result.items(), key=lambda t: t[0])),
|
||||
open(self.path, 'w'),
|
||||
indent=2,
|
||||
)
|
||||
json.dump(OrderedDict(sorted(self.result.items(), key=lambda t: t[0])), open(self.path, 'w'), indent=2)
|
||||
|
||||
# save logs
|
||||
logger.removeHandler(self.log_handler)
|
||||
@@ -180,11 +157,7 @@ def list_devices(names=None, continue_from=None, **kwargs):
|
||||
"""List devices in settings file and print versions"""
|
||||
|
||||
if not names:
|
||||
names = [
|
||||
device
|
||||
for device, _type in settings.GOLDEN_DEVICES
|
||||
if _type == 'OpenThread'
|
||||
]
|
||||
names = [device for device, _type in settings.GOLDEN_DEVICES if _type == 'OpenThread']
|
||||
|
||||
if continue_from:
|
||||
continue_from = names.index(continue_from)
|
||||
@@ -230,11 +203,7 @@ def discover(
|
||||
|
||||
if blacklist:
|
||||
try:
|
||||
excludes = [
|
||||
line.strip('\n')
|
||||
for line in open(blacklist, 'r').readlines()
|
||||
if not line.startswith('#')
|
||||
]
|
||||
excludes = [line.strip('\n') for line in open(blacklist, 'r').readlines() if not line.startswith('#')]
|
||||
except BaseException:
|
||||
logger.exception('Failed to open test case black list file')
|
||||
raise
|
||||
@@ -252,11 +221,29 @@ def discover(
|
||||
log = {}
|
||||
json.dump(log, open(result_file, 'w'), indent=2)
|
||||
|
||||
new_th = False
|
||||
harness_info = ConfigParser.ConfigParser()
|
||||
harness_info.read('%s\\info.ini' % settings.HARNESS_HOME)
|
||||
if harness_info.has_option('Thread_Harness_Info', 'Version') and harness_info.has_option(
|
||||
'Thread_Harness_Info', 'Mode'
|
||||
):
|
||||
harness_version = harness_info.get('Thread_Harness_Info', 'Version').rsplit(' ', 1)[1]
|
||||
harness_mode = harness_info.get('Thread_Harness_Info', 'Mode')
|
||||
|
||||
if harness_mode == 'External' and harness_version > '1.4.0':
|
||||
new_th = True
|
||||
|
||||
if harness_mode == 'Internal' and harness_version > '49.4':
|
||||
new_th = True
|
||||
|
||||
suite = unittest.TestSuite()
|
||||
discovered = unittest.defaultTestLoader.discover('cases', pattern)
|
||||
if new_th:
|
||||
discovered = unittest.defaultTestLoader.discover('cases', pattern)
|
||||
else:
|
||||
discovered = unittest.defaultTestLoader.discover('cases_R140', pattern)
|
||||
|
||||
if names and continue_from:
|
||||
names = names[names.index(continue_from):]
|
||||
names = names[names.index(continue_from) :]
|
||||
|
||||
for s1 in discovered:
|
||||
for s2 in s1:
|
||||
@@ -266,10 +253,7 @@ def discover(
|
||||
case_name = str(case.__class__.__name__)
|
||||
|
||||
# grep name
|
||||
if name_greps and not any(
|
||||
fnmatch.fnmatch(case_name, name_grep)
|
||||
for name_grep in name_greps
|
||||
):
|
||||
if name_greps and not any(fnmatch.fnmatch(case_name, name_grep) for name_grep in name_greps):
|
||||
logger.info('case[%s] skipped by name greps', case_name)
|
||||
continue
|
||||
|
||||
@@ -282,26 +266,16 @@ def discover(
|
||||
if case_name in log.keys():
|
||||
if (
|
||||
(log[case_name]['passed'] and ('p' in skip))
|
||||
or (
|
||||
log[case_name]['passed'] is False and ('f' in skip)
|
||||
)
|
||||
or (log[case_name]['passed'] is False and ('f' in skip))
|
||||
or (log[case_name]['passed'] is None and ('e' in skip))
|
||||
):
|
||||
logger.warning(
|
||||
'case[%s] skipped for its status[%s]',
|
||||
case_name,
|
||||
log[case_name]['passed'],
|
||||
)
|
||||
logger.warning('case[%s] skipped for its status[%s]', case_name, log[case_name]['passed'])
|
||||
continue
|
||||
|
||||
# continue from
|
||||
if continue_from:
|
||||
if continue_from != case_name:
|
||||
logger.warning(
|
||||
'case[%s] skipped for continue from[%s]',
|
||||
case_name,
|
||||
continue_from,
|
||||
)
|
||||
logger.warning('case[%s] skipped for continue from[%s]', case_name, continue_from)
|
||||
continue
|
||||
else:
|
||||
continue_from = None
|
||||
@@ -314,9 +288,7 @@ def discover(
|
||||
# max devices
|
||||
if max_devices and case.golden_devices_required > max_devices:
|
||||
logger.warning(
|
||||
'case[%s] skipped for exceeding max golden devices allowed[%d]',
|
||||
case_name,
|
||||
max_devices,
|
||||
'case[%s] skipped for exceeding max golden devices allowed[%d]', case_name, max_devices
|
||||
)
|
||||
continue
|
||||
|
||||
@@ -340,7 +312,8 @@ def discover(
|
||||
auto_reboot_args = argv + names
|
||||
else:
|
||||
auto_reboot_args = None
|
||||
os.system('del "%s"' % RESUME_SCRIPT_PATH)
|
||||
if os.path.isfile(RESUME_SCRIPT_PATH):
|
||||
os.system('del "%s"' % RESUME_SCRIPT_PATH)
|
||||
|
||||
# manual reset
|
||||
if manual_reset:
|
||||
@@ -348,9 +321,7 @@ def discover(
|
||||
settings.PDU_CONTROLLER_OPEN_PARAMS = {}
|
||||
settings.PDU_CONTROLLER_REBOOT_PARAMS = {}
|
||||
|
||||
result = SimpleTestResult(
|
||||
result_file, auto_reboot_args, keep_explorer, add_all_devices
|
||||
)
|
||||
result = SimpleTestResult(result_file, auto_reboot_args, keep_explorer, add_all_devices)
|
||||
for case in suite:
|
||||
logger.info(case.__class__.__name__)
|
||||
|
||||
@@ -362,96 +333,34 @@ def discover(
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description='Thread harness test case runner'
|
||||
parser = argparse.ArgumentParser(description='Thread harness test case runner')
|
||||
parser.add_argument(
|
||||
'--auto-reboot', '-a', action='store_true', default=False, help='restart system when harness service die'
|
||||
)
|
||||
parser.add_argument(
|
||||
'--auto-reboot',
|
||||
'-a',
|
||||
action='store_true',
|
||||
default=False,
|
||||
help='restart system when harness service die',
|
||||
'names', metavar='NAME', type=str, nargs='*', default=None, help='test case name, omit to test all'
|
||||
)
|
||||
parser.add_argument(
|
||||
'names',
|
||||
metavar='NAME',
|
||||
type=str,
|
||||
nargs='*',
|
||||
default=None,
|
||||
help='test case name, omit to test all',
|
||||
'--blacklist', '-b', metavar='BLACKLIST_FILE', type=str, help='file to list test cases to skip', default=None
|
||||
)
|
||||
parser.add_argument('--continue-from', '-c', type=str, default=None, help='first case to test')
|
||||
parser.add_argument('--delete-history', '-d', action='store_true', default=False, help='clear history on startup')
|
||||
parser.add_argument(
|
||||
'--blacklist',
|
||||
'-b',
|
||||
metavar='BLACKLIST_FILE',
|
||||
type=str,
|
||||
help='file to list test cases to skip',
|
||||
default=None,
|
||||
)
|
||||
parser.add_argument(
|
||||
'--continue-from',
|
||||
'-c',
|
||||
type=str,
|
||||
default=None,
|
||||
help='first case to test',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--delete-history',
|
||||
'-d',
|
||||
action='store_true',
|
||||
default=False,
|
||||
help='clear history on startup',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--keep-explorer',
|
||||
'-e',
|
||||
action='store_true',
|
||||
default=False,
|
||||
help='do not restart explorer.exe at the end',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--name-greps',
|
||||
'-g',
|
||||
action='append',
|
||||
default=None,
|
||||
help='grep case by names',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--list-file',
|
||||
'-i',
|
||||
type=str,
|
||||
default=None,
|
||||
help='file to list cases names to test',
|
||||
'--keep-explorer', '-e', action='store_true', default=False, help='do not restart explorer.exe at the end'
|
||||
)
|
||||
parser.add_argument('--name-greps', '-g', action='append', default=None, help='grep case by names')
|
||||
parser.add_argument('--list-file', '-i', type=str, default=None, help='file to list cases names to test')
|
||||
parser.add_argument(
|
||||
'--skip',
|
||||
'-k',
|
||||
metavar='SKIP',
|
||||
type=str,
|
||||
help='type of results to skip.' 'e for error, f for fail, p for pass.',
|
||||
help='type of results to skip. e for error, f for fail, p for pass.',
|
||||
default='',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--list-devices',
|
||||
'-l',
|
||||
action='store_true',
|
||||
default=False,
|
||||
help='list devices',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--manual-reset',
|
||||
'-m',
|
||||
action='store_true',
|
||||
default=False,
|
||||
help='reset devices manually',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--dry-run',
|
||||
'-n',
|
||||
action='store_true',
|
||||
default=False,
|
||||
help='just show what to run',
|
||||
)
|
||||
parser.add_argument('--list-devices', '-l', action='store_true', default=False, help='list devices')
|
||||
parser.add_argument('--manual-reset', '-m', action='store_true', default=False, help='reset devices manually')
|
||||
parser.add_argument('--dry-run', '-n', action='store_true', default=False, help='just show what to run')
|
||||
parser.add_argument(
|
||||
'--result-file',
|
||||
'-o',
|
||||
@@ -460,44 +369,19 @@ def main():
|
||||
help='file to store and read current status',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--pattern',
|
||||
'-p',
|
||||
metavar='PATTERN',
|
||||
type=str,
|
||||
help='file name pattern, default to "*.py"',
|
||||
default='*.py',
|
||||
'--pattern', '-p', metavar='PATTERN', type=str, help='file name pattern, default to "*.py"', default='*.py'
|
||||
)
|
||||
parser.add_argument('--rerun-fails', '-r', type=int, default=0, help='number of times to rerun failed test cases')
|
||||
parser.add_argument(
|
||||
'--rerun-fails',
|
||||
'-r',
|
||||
type=int,
|
||||
default=0,
|
||||
help='number of times to rerun failed test cases',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--add-all-devices',
|
||||
'-t',
|
||||
action='store_true',
|
||||
default=False,
|
||||
help='add all devices to the test bed',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--max-devices',
|
||||
'-u',
|
||||
type=int,
|
||||
default=0,
|
||||
help='max golden devices allowed',
|
||||
'--add-all-devices', '-t', action='store_true', default=False, help='add all devices to the test bed'
|
||||
)
|
||||
parser.add_argument('--max-devices', '-u', type=int, default=0, help='max golden devices allowed')
|
||||
|
||||
args = vars(parser.parse_args())
|
||||
|
||||
if args['list_file']:
|
||||
try:
|
||||
names = [
|
||||
line.strip('\n')
|
||||
for line in open(args['list_file'], 'r').readlines()
|
||||
if not line.startswith('#')
|
||||
]
|
||||
names = [line.strip('\n') for line in open(args['list_file'], 'r').readlines() if not line.startswith('#')]
|
||||
except BaseException:
|
||||
logger.exception('Failed to open test case list file')
|
||||
raise
|
||||
@@ -515,11 +399,7 @@ def main():
|
||||
|
||||
if rerun_fails > 0:
|
||||
for i in range(rerun_fails):
|
||||
failed_names = {
|
||||
name
|
||||
for name in result.result
|
||||
if result.result[name]['passed'] is False
|
||||
}
|
||||
failed_names = {name for name in result.result if result.result[name]['passed'] is False}
|
||||
if not failed_names:
|
||||
break
|
||||
logger.info('Rerunning failed test cases')
|
||||
|
||||
@@ -60,7 +60,7 @@ THREAD_SED_POLLING_INTERVAL = 0
|
||||
"""int: SED polling interval in seconds. Set to 0 to use Harness's default value."""
|
||||
|
||||
HARNESS_HOME = 'C:\\GRL\\Thread1.1'
|
||||
r"""str: Harness installation path, e.g. ``C:\GRL\Thread1.1``"""
|
||||
"""str: Harness installation path, e.g. 'C:\\GRL\\Thread1.1'"""
|
||||
|
||||
HARNESS_URL = 'http://127.0.0.1:8000'
|
||||
"""str: Harness front-end url"""
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
import unittest
|
||||
|
||||
|
||||
class Border_7_1_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_BORDER
|
||||
case = '7 1 1'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Border_7_1_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_BORDER
|
||||
case = '7 1 2'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
import unittest
|
||||
|
||||
|
||||
class Border_7_1_3(HarnessCase):
|
||||
role = HarnessCase.ROLE_BORDER
|
||||
case = '7 1 3'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Border_7_1_4(HarnessCase):
|
||||
role = HarnessCase.ROLE_BORDER
|
||||
case = '7 1 4'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Border_7_1_5(HarnessCase):
|
||||
role = HarnessCase.ROLE_BORDER
|
||||
case = '7 1 5'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
import unittest
|
||||
|
||||
|
||||
class Border_7_1_6(HarnessCase):
|
||||
role = HarnessCase.ROLE_BORDER
|
||||
case = '7 1 6'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
import unittest
|
||||
|
||||
|
||||
class Border_7_1_7(HarnessCase):
|
||||
role = HarnessCase.ROLE_BORDER
|
||||
case = '7 1 7'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Border_7_1_8(HarnessCase):
|
||||
role = HarnessCase.ROLE_BORDER
|
||||
case = '7 1 8'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -36,7 +36,7 @@ from autothreadharness.harness_case import HarnessCase
|
||||
class Commissioner_8_3_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '8 3 1'
|
||||
golden_devices_required = 2
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
@@ -36,7 +36,7 @@ from autothreadharness.harness_case import HarnessCase
|
||||
class Leader_5_5_3(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 5 3'
|
||||
golden_devices_required = 5
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('Reset DUT'):
|
||||
|
||||
@@ -36,7 +36,7 @@ from autothreadharness.harness_case import HarnessCase
|
||||
class Leader_5_5_4(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 5 4'
|
||||
golden_devices_required = 5
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('Reset DUT'):
|
||||
|
||||
@@ -36,7 +36,7 @@ from autothreadharness.harness_case import HarnessCase
|
||||
class Leader_5_8_4(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 8 4'
|
||||
golden_devices_required = 4
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
@@ -36,7 +36,7 @@ from autothreadharness.harness_case import HarnessCase
|
||||
class Leader_8_3_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '8 3 1'
|
||||
golden_devices_required = 2
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
@@ -36,7 +36,7 @@ from autothreadharness.harness_case import HarnessCase
|
||||
class Leader_9_2_18(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 18'
|
||||
golden_devices_required = 5
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class MED_6_2_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_MED
|
||||
case = '6 2 1'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class MED_6_2_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_MED
|
||||
case = '6 2 2'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -36,7 +36,7 @@ from autothreadharness.harness_case import HarnessCase
|
||||
class MED_9_2_18(HarnessCase):
|
||||
role = HarnessCase.ROLE_MED
|
||||
case = '9 2 18'
|
||||
golden_devices_required = 5
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
@@ -35,7 +35,7 @@ import unittest
|
||||
class Router_5_5_3(HarnessCase):
|
||||
role = HarnessCase.ROLE_ROUTER
|
||||
case = '5 5 3'
|
||||
golden_devices_required = 5
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
@@ -35,7 +35,7 @@ import unittest
|
||||
class Router_5_5_4(HarnessCase):
|
||||
role = HarnessCase.ROLE_ROUTER
|
||||
case = '5 5 4'
|
||||
golden_devices_required = 5
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
@@ -36,7 +36,7 @@ from autothreadharness.harness_case import HarnessCase
|
||||
class Router_5_7_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_ROUTER
|
||||
case = '5 7 1'
|
||||
golden_devices_required = 4
|
||||
golden_devices_required = 5
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
@@ -36,7 +36,7 @@ from autothreadharness.harness_case import HarnessCase
|
||||
class Router_9_2_18(HarnessCase):
|
||||
role = HarnessCase.ROLE_ROUTER
|
||||
case = '9 2 18'
|
||||
golden_devices_required = 5
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
@@ -36,7 +36,7 @@ from autothreadharness.harness_case import HarnessCase
|
||||
class SED_9_2_18(HarnessCase):
|
||||
role = HarnessCase.ROLE_SED
|
||||
case = '9 2 18'
|
||||
golden_devices_required = 5
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2019, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_8_1_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '8 1 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_8_1_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '8 1 2'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_8_1_6(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '8 1 6'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_8_2_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '8 2 1'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_8_2_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '8 2 2'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_8_2_5(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '8 2 5'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_8_3_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '8 3 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_9_2_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '9 2 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_9_2_14(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '9 2 14'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_9_2_19(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '9 2 19'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_9_2_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '9 2 2'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_9_2_3(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '9 2 3'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Commissioner_9_2_4(HarnessCase):
|
||||
role = HarnessCase.ROLE_COMMISSIONER
|
||||
case = '9 2 4'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_1_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 1 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_1_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 1 2'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_1_3(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 1 3'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_1_4(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 1 4'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_1_5(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 1 5'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_1_6(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 1 6'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Regular → Executable
Regular → Executable
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_3_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 3 1'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_4_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 4 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_4_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 4 2'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
import time
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_5_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 5 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('Reset DUT'):
|
||||
self.dut.stop()
|
||||
time.sleep(self.child_timeout + 10)
|
||||
self.dut.start()
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_5_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 5 2'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('Reset DUT'):
|
||||
self.dut.stop()
|
||||
return False
|
||||
|
||||
elif title.startswith('Rejoin Now'):
|
||||
self.dut.start()
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_5_3(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 5 3'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('Reset DUT'):
|
||||
self.dut.stop()
|
||||
return False
|
||||
|
||||
elif title.startswith('Rejoin Now'):
|
||||
self.dut.start()
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_6_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 6 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_6_6_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '6 6 2'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_9_2_10(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '9 2 10'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_9_2_17(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '9 2 17'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class ED_9_2_8(HarnessCase):
|
||||
role = HarnessCase.ROLE_ED
|
||||
case = '9 2 8'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class FED_5_7_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_FED
|
||||
case = '5 7 1'
|
||||
golden_devices_required = 5
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class FED_5_7_3(HarnessCase):
|
||||
role = HarnessCase.ROLE_FED
|
||||
case = '5 7 3'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class FED_6_1_7(HarnessCase):
|
||||
role = HarnessCase.ROLE_FED
|
||||
case = '6 1 7'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class FED_9_2_13(HarnessCase):
|
||||
role = HarnessCase.ROLE_FED
|
||||
case = '9 2 13'
|
||||
golden_devices_required = 5
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Joiner_8_1_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_JOINER
|
||||
case = '8 1 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Joiner_8_1_6(HarnessCase):
|
||||
role = HarnessCase.ROLE_JOINER
|
||||
case = '8 1 6'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_1_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 1 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
import time
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_1_13(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 1 13'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('User Input Required'):
|
||||
# body = dialog.find_element_by_id('cnfrmMsg').text
|
||||
# if body.startswith('Reset Leader'):
|
||||
self.dut.stop()
|
||||
time.sleep(1)
|
||||
self.dut.start()
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
import unittest
|
||||
|
||||
|
||||
class Leader_5_1_5(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 1 5'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_2_3(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 2 3'
|
||||
golden_devices_required = 32
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
import unittest
|
||||
|
||||
|
||||
class Leader_5_3_6(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 3 6'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_3_7(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 3 7'
|
||||
golden_devices_required = 5
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_3_8(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 3 8'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import re
|
||||
import time
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_5_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 5 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('User Input Required'):
|
||||
body = dialog.find_element_by_id('cnfrmMsg').text
|
||||
match = re.search(r'(?<=Leader Timeout\[)\d+(?= Seconds\])', body)
|
||||
if match:
|
||||
timeout = int(match.group(0)) / 2
|
||||
else:
|
||||
timeout = 10
|
||||
self.dut.stop()
|
||||
time.sleep(timeout)
|
||||
self.dut.start()
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import time
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_5_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 5 2'
|
||||
golden_devices_required = 2
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('User Input Required'):
|
||||
self.dut.stop()
|
||||
time.sleep(1)
|
||||
self.dut.start()
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_5_3(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 5 3'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('Reset DUT'):
|
||||
self.dut.stop()
|
||||
return False
|
||||
|
||||
elif title.startswith('Rejoin'):
|
||||
self.dut.start()
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_5_4(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 5 4'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('Reset DUT'):
|
||||
self.dut.stop()
|
||||
return False
|
||||
|
||||
elif title.startswith('Rejoin Now'):
|
||||
self.dut.start()
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_5_7(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 5 7'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
if title.startswith('Reset DUT'):
|
||||
self.dut.stop()
|
||||
return False
|
||||
|
||||
elif title.startswith('Rejoin Now'):
|
||||
self.dut.start()
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
import unittest
|
||||
|
||||
|
||||
class Leader_5_6_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 6 2'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_6_4(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 6 4'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_6_5(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 6 5'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_6_6(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 6 6'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_5_8_4(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '5 8 4'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2018, The OpenThread Authors.
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2018, The OpenThread Authors.
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_8_3_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '8 3 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_9_2_1(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 1'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_9_2_11(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 11'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_9_2_12(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 12'
|
||||
golden_devices_required = 3
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_9_2_18(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 18'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_9_2_19(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 19'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_9_2_2(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 2'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_9_2_3(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 3'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_9_2_4(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 4'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_9_2_5(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 5'
|
||||
golden_devices_required = 1
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2016, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from autothreadharness.harness_case import HarnessCase
|
||||
|
||||
|
||||
class Leader_9_2_6(HarnessCase):
|
||||
role = HarnessCase.ROLE_LEADER
|
||||
case = '9 2 6'
|
||||
golden_devices_required = 4
|
||||
|
||||
def on_dialog(self, dialog, title):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user