diff --git a/.github/workflows/basic_reg_test.sh b/.github/workflows/basic_reg_test.sh index 39ec5ad39..2f1c7b5b7 100755 --- a/.github/workflows/basic_reg_test.sh +++ b/.github/workflows/basic_reg_test.sh @@ -116,3 +116,7 @@ run-task basic_tests/global_tile_ports/global_tile_4clock --debug --show_thread_ echo -e "Testing yosys flow using custom ys script for running quicklogic device"; run-task quicklogic_tests/flow_test --debug --show_thread_logs + +# Repgression test to test multi-user enviroment +cp -r */*/basic_tests/full_testbench/configuration_chain /tmp/ +cd /tmp/ && run-task configuration_chain --debug --show_thread_logs \ No newline at end of file diff --git a/openfpga_flow/scripts/run_fpga_task.py b/openfpga_flow/scripts/run_fpga_task.py index 9d20799df..af5a7b226 100644 --- a/openfpga_flow/scripts/run_fpga_task.py +++ b/openfpga_flow/scripts/run_fpga_task.py @@ -166,8 +166,14 @@ def generate_each_task_actions(taskname): """ # Check if task directory exists and consistent - curr_task_dir = os.path.join(gc["task_dir"], *(taskname)) - if not os.path.isdir(curr_task_dir): + local_tasks = os.path.join(*(taskname)) + repo_tasks = os.path.join(gc["task_dir"], *(taskname)) + if os.path.isdir(local_tasks): + os.chdir(local_tasks) + curr_task_dir = os.path.abspath(os.getcwd()) + elif os.path.isdir(repo_tasks): + curr_task_dir = repo_tasks + else: clean_up_and_exit("Task directory [%s] not found" % curr_task_dir) os.chdir(curr_task_dir)