Example #1
0
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)
Example #2
0
        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()