def run_suite(case, config, summary):
m = importlib.import_module(config['<STR_LIT>'])<EOL>m.set_up()<EOL>config["<STR_LIT:name>"] = case<EOL>analysis_data = {}<EOL>bundle = livvkit.numerics_model_module<EOL>model_dir = os.path.join(livvkit.model_dir, config['<STR_LIT>'], case)<EOL>bench_dir = os.path.join(livvkit.bench_dir, config['<STR_LIT>'], case)<EOL>plot_dir = os.path.join(livvkit.output_dir, "<STR_LIT>", "<STR_LIT>")<EOL>config["<STR_LIT>"] = plot_dir<EOL>functions.mkdir_p(plot_dir)<EOL>model_cases = functions.collect_cases(model_dir)<EOL>bench_cases = functions.collect_cases(bench_dir)<EOL>for mscale in sorted(model_cases):<EOL><INDENT>bscale = bench_cases[mscale] if mscale in bench_cases else []<EOL>for mproc in model_cases[mscale]:<EOL><INDENT>full_name = '<STR_LIT:->'.join([mscale, mproc])<EOL>bpath = (os.path.join(bench_dir, mscale, mproc.replace("<STR_LIT:->", os.path.sep))<EOL>if mproc in bscale else "<STR_LIT>")<EOL>mpath = os.path.join(model_dir, mscale, mproc.replace("<STR_LIT:->", os.path.sep))<EOL>model_data = functions.find_file(mpath, "<STR_LIT:*>" + config["<STR_LIT>"])<EOL>bench_data = functions.find_file(bpath, "<STR_LIT:*>" + config["<STR_LIT>"])<EOL>analysis_data[full_name] = bundle.get_plot_data(model_data,<EOL>bench_data,<EOL>m.setup[case],<EOL>config)<EOL><DEDENT><DEDENT>try:<EOL><INDENT>el = m.run(config, analysis_data)<EOL><DEDENT>except KeyError:<EOL><INDENT>el = elements.error("<STR_LIT>", "<STR_LIT>")<EOL><DEDENT>result = elements.page(case, config['<STR_LIT:description>'], element_list=el)<EOL>summary[case] = _summarize_result(m, analysis_data, config)<EOL>_print_summary(m, case, summary[case])<EOL>functions.create_page_from_template("<STR_LIT>",<EOL>os.path.join(livvkit.index_dir, "<STR_LIT>", case + "<STR_LIT>"))<EOL>functions.write_json(result, os.path.join(livvkit.output_dir, "<STR_LIT>"), case + "<STR_LIT>")<EOL>
Run the full suite of numerics tests