| """ | |
| Copyright (c) 2024, Alliance for Open Media. All rights reserved | |
| This source code is subject to the terms of the BSD 3-Clause Clear License | |
| and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear | |
| License was not distributed with this source code in the LICENSE file, you | |
| can obtain it at aomedia.org/license/software-license/bsd-3-c-c/. If the | |
| Alliance for Open Media Patent License 1.0 was not distributed with this | |
| source code in the PATENTS file, you can obtain it at | |
| aomedia.org/license/patent-license/. | |
| """ | |
| import os | |
| from termcolor import cprint | |
| import parakit.tasks.collect_results as collect | |
| import parakit.tasks.decoding as decode | |
| import parakit.tasks.generate_tables as generate_table | |
| import parakit.tasks.training as train | |
| PATH_BITSTREAM = "./unit_test/bitstreams" | |
| PATH_CTXDATA = "./unit_test/data" | |
| PATH_TABLE = "./unit_test" | |
| CFG_FILE = "./unit_test/parameters_unit_test.yaml" | |
| TABLE_FILE = "Context-Table_Combined_Result_Unit-Test.h" | |
| def main(): | |
| cprint( | |
| "-------------------- UNIT TEST ----------------------", "black", attrs=["bold"] | |
| ) | |
| # Step 1: run decoder to collect data | |
| decode.run( | |
| path_bitstream=PATH_BITSTREAM, | |
| path_ctx_data=PATH_CTXDATA, | |
| user_config_file=CFG_FILE, | |
| ) | |
| # Step 2: run training and create result report | |
| train.run(path_ctxdata=PATH_CTXDATA, user_config_file=CFG_FILE) | |
| # Step 3: collect results | |
| collect.run(path_ctxdata=PATH_CTXDATA, user_config_file=CFG_FILE) | |
| # Step 4: generate context tables | |
| generate_table.run( | |
| path_ctxdata=PATH_CTXDATA, path_table=PATH_TABLE, user_config_file=CFG_FILE | |
| ) | |
| # Check if TABLE_FILE exists after unit test | |
| table_file = f"{PATH_TABLE}/{TABLE_FILE}" | |
| check_file = os.path.exists(table_file) | |
| if check_file: | |
| cprint("Unit test successful!", "green", attrs=["bold"]) | |
| else: | |
| cprint( | |
| f"Unit test failed: {TABLE_FILE} cannot be found.", "red", attrs=["bold"] | |
| ) | |
| cprint( | |
| "-----------------------------------------------------", "black", attrs=["bold"] | |
| ) | |
| if __name__ == "__main__": | |
| main() |