import unittest import logging from pyvivado import config logger = logging.getLogger(__name__) if __name__ == '__main__': config.setup_logging(logging.WARNING) loader = unittest.TestLoader() testRunner = unittest.runner.TextTestRunner(verbosity=2) test_suite = loader.discover('.', pattern='qa_*.py') testRunner.run(test_suite)
tasks_collection.drop() t = task.Task.create(parent_directory, tasks_collection) self.assertEqual(tasks_collection.count(), 1) record = tasks_collection.find_by_id(t._id) self.assertEqual(record['parent_directory'], parent_directory) def test_error_catching(self): parent_directory = os.path.join(config.testdir, 'testerrorcatching') if os.path.exists(parent_directory): shutil.rmtree(parent_directory) os.makedirs(parent_directory) tasks_collection = config.default_tasks_collection tasks_collection.drop() t = task.VivadoTask.create( parent_directory, command_text= 'Totally invalid command text. We should get an error.', tasks_collection=tasks_collection, ) self.assertEqual(tasks_collection.count(), 1) record = tasks_collection.find_by_id(t._id) self.assertEqual(record['parent_directory'], parent_directory) t.run_and_wait() errors = t.get_errors() self.assertTrue(len(errors) > 0) if __name__ == '__main__': config.setup_logging(logging.DEBUG) unittest.main()
logger.debug("errors are {}".format(errors)) self.assertEqual(len(errors), 0) # Run the simulation runtime = "{} ns".format((len(wait_data + input_data) + 20) * 10) errors, output_data = p.run_hdl_simulation(input_data=wait_data + input_data, runtime=runtime) self.assertEqual(len(errors), 0) latency = 0 delay = wait_lines + latency + 1 import pdb pdb.set_trace() for data in (output_data, expected_data): for d in data: pass self.check_output(output_data[delay:], expected_data) def check_output(self, output_data, expected_data): self.assertTrue(len(output_data) >= len(expected_data)) output_data = output_data[: len(expected_data)] testfixtures.compare(output_data, expected_data) if __name__ == "__main__": config.use_test_db() config.setup_logging(logging.DEBUG) unittest.main()