def main(conf):
fpath = yml_fpath(conf["<STR_LIT>"])<EOL>if os.path.exists(fpath):   <EOL><INDENT>cij.err("<STR_LIT>" % fpath)<EOL>return <NUM_LIT:1><EOL><DEDENT>trun = trun_setup(conf)         <EOL>if not trun:<EOL><INDENT>return <NUM_LIT:1><EOL><DEDENT>trun_to_file(trun)              <EOL>trun_emph(trun)                 <EOL>tr_err = <NUM_LIT:0><EOL>tr_ent_err = trun_enter(trun)<EOL>for tsuite in (ts for ts in trun["<STR_LIT>"] if not tr_ent_err):<EOL><INDENT>ts_err = <NUM_LIT:0><EOL>ts_ent_err = tsuite_enter(trun, tsuite)<EOL>for tcase in (tc for tc in tsuite["<STR_LIT>"] if not ts_ent_err):<EOL><INDENT>tc_err = tcase_enter(trun, tsuite, tcase)<EOL>if not tc_err:<EOL><INDENT>tc_err += script_run(trun, tcase)<EOL>tc_err += tcase_exit(trun, tsuite, tcase)<EOL><DEDENT>tcase["<STR_LIT:status>"] = "<STR_LIT>" if tc_err else "<STR_LIT>"<EOL>trun["<STR_LIT>"][tcase["<STR_LIT:status>"]] += <NUM_LIT:1>  <EOL>trun["<STR_LIT>"]["<STR_LIT>"] -= <NUM_LIT:1><EOL>ts_err += tc_err                        <EOL>trun_to_file(trun)                      <EOL><DEDENT>if not ts_ent_err:<EOL><INDENT>ts_err += tsuite_exit(trun, tsuite)<EOL><DEDENT>ts_err += ts_ent_err                        <EOL>tr_err += ts_err<EOL>tsuite["<STR_LIT:status>"] = "<STR_LIT>" if ts_err else "<STR_LIT>"<EOL>cij.emph("<STR_LIT>" % tsuite["<STR_LIT:status>"], tsuite["<STR_LIT:status>"] != "<STR_LIT>")<EOL><DEDENT>if not tr_ent_err:<EOL><INDENT>trun_exit(trun)<EOL><DEDENT>tr_err += tr_ent_err<EOL>trun["<STR_LIT:status>"] = "<STR_LIT>" if tr_err else "<STR_LIT>"<EOL>trun["<STR_LIT>"]["<STR_LIT:end>"] = int(time.time()) + <NUM_LIT:1>         <EOL>trun_to_file(trun)                                  <EOL>cij.emph("<STR_LIT>" % trun["<STR_LIT>"])<EOL>cij.emph("<STR_LIT>" % trun["<STR_LIT:status>"], trun["<STR_LIT:status>"] != "<STR_LIT>")<EOL>return trun["<STR_LIT>"]["<STR_LIT>"] + trun["<STR_LIT>"]["<STR_LIT>"]<EOL>
CIJ Test Runner main entry point