def _test_dll_emu(self, fpath): data = util.get_test_bin_data(fpath) self.report = util.run_test(self.config, data) eps = self.report["entry_points"] self.assertEqual(len(eps), 3) dll_entry = eps[0] msgbox = self._get_api_calls(dll_entry, "USER32.MessageBoxA") self.assertEqual(1, len(msgbox)) msgbox = msgbox[0] self.assertEqual(msgbox["args"][1], "Inside process attach") self.assertEqual(msgbox["args"][2], "My caption") self.assertEqual(dll_entry["ret_val"], "0x1") ep = eps[1] msgbox = self._get_api_calls(ep, "USER32.MessageBoxA") self.assertEqual(1, len(msgbox)) msgbox = msgbox[0] self.assertEqual(msgbox["args"][1], "Inside emu_test_one") self.assertEqual(msgbox["args"][2], "First export") self.assertEqual(ep["ret_val"], "0x41414141") ep = eps[2] msgbox = self._get_api_calls(ep, "USER32.MessageBoxW") self.assertEqual(1, len(msgbox)) msgbox = msgbox[0] self.assertEqual(msgbox["args"][1], "Inside emu_test_two") self.assertEqual(msgbox["args"][2], "Second export") self.assertEqual(ep["ret_val"], "0x42424242")
def test_seh_dispatch(self): self.config['exceptions']['dispatch_handlers'] = True data = util.get_test_bin_data('seh_test_x86.exe.xz') report = util.run_test(self.config, data) ep = report['entry_points'] printfs = [] for api in ep[0]['apis']: if '__stdio_common_vfprintf' in api['api_name']: printfs.append(api) fmt_strings = [p['args'][2] for p in printfs] self.assertEqual(len(fmt_strings), len(self.dispatch_script)) for i, s in enumerate(fmt_strings): self.assertEqual(s, self.dispatch_script[i])
def test_seh_dispatch(self): self.config["exceptions"]["dispatch_handlers"] = True data = util.get_test_bin_data("seh_test_x86.exe.xz") report = util.run_test(self.config, data) ep = report["entry_points"] printfs = [] for api in ep[0]["apis"]: if "__stdio_common_vfprintf" in api["api_name"]: printfs.append(api) fmt_strings = [p["args"][2] for p in printfs] self.assertEqual(len(fmt_strings), len(self.dispatch_script)) for i, s in enumerate(fmt_strings): self.assertEqual(s, self.dispatch_script[i])
def _test_argv_exe(self, fpath): argv_len = 10 argv = ["argument_%d" % (i + 1) for i in range(argv_len)] data = util.get_test_bin_data(fpath) report = util.run_test(self.config, data, argv=argv) ep = report["entry_points"] printfs = [] for api in ep[0]["apis"]: if "__stdio_common_vfprintf" in api["api_name"]: printfs.append(api) self.assertEqual(len(printfs) - 2, argv_len) for i, p in enumerate(printfs[2:]): i += 1 args = p["args"] fmt_str = args[2] test_str = "argv[%d] = argument_%d\n" % (i, i) self.assertEqual(test_str, fmt_str)
def test_seh_without_dispatch(self): self.config['exceptions']['dispatch_handlers'] = False data = util.get_test_bin_data('seh_test_x86.exe.xz') report = util.run_test(self.config, data) ep = report['entry_points'] printfs = [] for api in ep[0]['apis']: if '__stdio_common_vfprintf' in api['api_name']: printfs.append(api) break self.assertEqual(1, len(printfs)) error = ep[0]['error'] self.assertEqual(error['type'], 'invalid_write') self.assertEqual(error['address'], '0x0') self.assertEqual(error['instr'], 'mov dword ptr [0], 0x14')
def test_seh_without_dispatch(self): self.config["exceptions"]["dispatch_handlers"] = False data = util.get_test_bin_data("seh_test_x86.exe.xz") report = util.run_test(self.config, data) ep = report["entry_points"] printfs = [] for api in ep[0]["apis"]: if "__stdio_common_vfprintf" in api["api_name"]: printfs.append(api) break self.assertEqual(1, len(printfs)) error = ep[0]["error"] self.assertEqual(error["type"], "invalid_write") self.assertEqual(error["address"], "0x0") self.assertEqual(error["instr"], "mov dword ptr [0], 0x14")
def _test_file_access(self, fpath): data = util.get_test_bin_data(fpath) self.report = util.run_test(self.config, data) eps = self.report["entry_points"] driver_entry = eps[0] create_file = self._get_api_calls(driver_entry, "ntdll.NtCreateFile") self.assertEqual(1, len(create_file)) create_file = create_file[0] self.assertEqual(create_file["args"][3], "\\??\\c:\\myfile.txt") read_file = self._get_api_calls(driver_entry, "ntdll.NtReadFile") self.assertEqual(1, len(read_file)) printf = self._get_api_calls( driver_entry, "api-ms-win-crt-stdio-l1-1-0.__stdio_common_vfprintf" ) self.assertEqual(5, len(printf)) printf = printf[-1] self.assertIn("File contained:", printf["args"][2])
cls.channels = 3 cls.data_name = os.path.join(currentdir, "toy_160_90_3_data.npy") cls.label_name = os.path.join(currentdir, "toy_160_90_3_labels.npy") @classmethod def tearDown(cls): if os.path.exists(cls.data_name): os.remove(cls.data_name) if os.path.exists(cls.label_name): os.remove(cls.label_name) def test_data_is_created_from_image_folder_and_pickle(self): create_data_set_as_np_array(self.image_folder, currentdir, "toy", self.width, self.height, self.channels, verbose=False) data = np.load(self.data_name) labels = np.load(self.label_name) data_expected_shape = (25, self.width * self.height * self.channels) self.assertEqual(data.shape, data_expected_shape) self.assertEqual(labels.shape, (25, 1)) self.assertEqual(np.uint8, labels.dtype) self.assertEqual(np.uint8, data.dtype) if __name__ == "__main__": run_test(TestDataMani)
browser.find_element_by_css_selector('#pywebio-scope-go_app button')) time.sleep(2) thread_out = template.save_output(browser)[-1] assert "ToastClicked" in coro_out assert coro_out == thread_out browser.execute_script( "arguments[0].click();", browser.find_element_by_css_selector('#pywebio-scope-error button')) browser.execute_script("$('button[type=submit]').click();") time.sleep(2) def start_test_server(): pywebio.enable_debug() start_server({ 'coro': corobased, 'thread': threadbased }, port=8080, host='127.0.0.1', debug=True) if __name__ == '__main__': util.run_test(start_test_server, test, address='http://localhost:8080/?app=thread')
def main(): run_test(TestDataHolder) run_test(TestTrainer)
def test_opt(self): """ Test to check if the optimazation is working. """ num_steps = 101 batch_size = TestCNN.model.batch_size with tf.Session(graph=TestCNN.model.graph) as session: tf.global_variables_initializer().run() for step in range(num_steps): offset = (step * batch_size) % (TestCNN.train_labels.shape[0] - batch_size) batch_data = TestCNN.train_dataset[offset:(offset + batch_size), :] batch_labels = TestCNN.train_labels[offset:(offset + batch_size), :] feed_dict = {TestCNN.model.input_tensor: batch_data, TestCNN.model.input_labels: batch_labels} _, current_loss = session.run([TestCNN.model.optimizer, TestCNN.model.loss], feed_dict=feed_dict) if step == 0: initial_loss = current_loss if step == 100: final_loss = current_loss self.assertTrue(final_loss < initial_loss) if __name__ == "__main__": run_test(TestCNN, "\n=== Running CNN tests ===\n")
time.sleep(1) template.test_input(browser) time.sleep(1) template.save_output(browser, '10.aiohttp_multiple_session_impliment_p1.html') browser.get('http://localhost:8080/io2?_pywebio_debug=1') template.test_output(browser) time.sleep(1) template.test_input(browser) time.sleep(1) template.save_output(browser, '10.aiohttp_multiple_session_impliment_p2.html') def start_test_server(): pywebio.enable_debug() app = web.Application() app.add_routes([web.get('/io', webio_handler(target, cdn=False))]) app.add_routes([web.get('/io2', webio_handler(async_target, cdn=False))]) app.add_routes(static_routes()) web.run_app(app, host='127.0.0.1', port=8080) if __name__ == '__main__': util.run_test(start_test_server, test, 'http://localhost:8080/io?_pywebio_debug=1')
languages = read_from_json_file(self.driver.data['repository_path'], '/includes/expected_values.json', 'Languages') # Get current URL and re-get URL with different language for i in range(1, len(languages)): url = self.driver.current_url url = re.sub('/' + languages[i - 1] + '/', '/' + languages[i] + '/', url) self.driver.get(url) # Wait for Processes page to load self.wait.until(EC.visibility_of_element_located((By.ID, 'SETUP'))) # Assert that labels are not present on page try: self.assertEqual( None, re.search(r'\*\*(\w+)\*\*', self.driver.page_source)) self.driver.log.append('Labels not found') except: self.driver.log.append('Labels found') self.log = self.driver.log if __name__ == "__main__": import __main__ data['repository_path'] = repository_path output = run_test(TestLanguageSpotCheck, data, __main__)
self.driver.log[-1] += 'Wrong ' + key + ' version , ' fail_flag = 1 try: self.assertTrue('Enabled' in elem) self.driver.log[-1] += 'Enabled; ' except: self.driver.log[-1] += 'Disabled; ' fail_flag = 1 del custom_plugins[key] break # Assert custom_plugins is empty (meaning every expected value was found) try: self.assertEqual(custom_plugins, {}) self.driver.log[-1] += 'All found' except: not_found = ', '.join(custom_plugins) self.driver.log[-1] += 'Not found: ' + not_found fail_flag = 1 if fail_flag == 1: self.fail() self.log = self.driver.log if __name__ == "__main__": import __main__ data['repository_path'] = repository_path output = run_test(TestPluginVersions, data, __main__)
def main(): run_test(TestDataMani) run_test(TestDataAug)