def main(): common.parser().add_option("--indb", dest = "indb", help = "Input database") common.parser().add_option("--outdb", dest = "outdb", help = "Output database") common.parser().add_option("--firstgame", dest="firstgame", help = "First game in input database to analyze") common.parser().add_option("--lastgame", dest="lastgame",help = "First game in input database to analyze") common.parser().add_option("--ecofile", dest = "ecofile", help = "The (.cfdb) database containing the ECO classification") if not common.init(__file__): exit(2) progname = common.progname() debuglog = True logcomms = False logfile1 = common.tmpdir() + "/ccore1.log" logfile2 = common.tmpdir() + "/ccore2.log" configfile = common.configfile() indb = common.options().indb if not indb: indb = common.testdir() + "/pgn/Boris_Spassky.pgn" outdb = common.options().outdb if not outdb: outdb = common.tmpdir() + "/classified.cfdb" if os.path.exists(outdb): os.remove(outdb) ecofile = common.options().ecofile if not ecofile: ecofile = common.testdir() + "/cfdb/eco.cfdb" firstgame = common.options().firstgame lastgame = common.options().lastgame if os.path.exists(logfile1): os.remove(logfile1) if os.path.exists(logfile2): os.remove(logfile2) # Take a copy of the database cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" if logcomms: cmdline += " --logcomms true" if firstgame: cmdline += " -n {0}".format(firstgame) if lastgame: cmdline += " -N {0}".format(lastgame) cmdline += " -l {0} -i {1} -o {2} copydb".format(logfile1, indb, outdb); if common.runccore(cmdline): common.checkLogfile(logfile1) # And then classify the copy cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" if logcomms: cmdline += " --logcomms true" cmdline += " -l {0} -i {1} -E {2} classify".format(logfile2, outdb, ecofile) if common.runccore(cmdline): common.checkLogfile(logfile2)
def main(): common.parser().add_option("--indb", dest="indb", help="Input database") if not common.init(__file__): exit(2) progname = common.progname() indb = common.options().indb if not indb: indb = common.testdir() + "/pgn/Kramnik.pgn" temppgn1 = common.tmpdir() + "/copydb1.pgn" temppgn2 = common.tmpdir() + "/copydb2.pgn" tempcfdb1 = common.tmpdir() + "/copydb1.cfdb" if run(1, indb, tempcfdb1) and run(2, tempcfdb1, temppgn1) and run(3, indb, temppgn2): # temppgn1 and temppgn2 should be identical if os.path.exists(temppgn1) and os.path.exists(temppgn2): lines1 = open(temppgn1, "U").readlines() lines2 = open(temppgn2, "U").readlines() diff = difflib.unified_diff(lines1, lines2) different = False first = True for line in diff: if first: print "{0}: PGN files {1} and {2} are different:".format(progname, temppgn1, temppgn2) different = True first = False print line if not different: print "{0}: Test successful".format(progname) else: print "{0}: Failed; no output files to compare".format(progname)
def main(): common.parser().add_option("--indb", dest = "indb", help = "Input database") common.parser().add_option("--outdb", dest = "outdb", help = "Output database") if not common.init(__file__): exit(2) progname = common.progname() debuglog = True logfile1 = common.tmpdir() + "/ccore1.log" logfile2 = common.tmpdir() + "/ccore2.log" indb = common.options().indb if not indb: indb = common.rootdir() + "/doc/OpeningClassification/eco.pgn" outdb = common.options().outdb if not outdb: outdb = common.testdir() + "/cfdb/eco.cfdb" if os.path.exists(logfile1): os.remove(logfile1) if os.path.exists(logfile2): os.remove(logfile2) if os.path.exists(outdb): os.remove(outdb) # Copy the database cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" cmdline += " -l {0} -i {1} -o {2} copydb".format(logfile1, indb, outdb) if common.runccore(cmdline): common.checkLogfile(logfile1) # Create the opening tree in the output database cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" cmdline += " -l {0} -i {1} -d 100 buildoptree".format(logfile2, outdb) if common.runccore(cmdline): common.checkLogfile(logfile2)
def main(): common.parser().add_option("--engine1", dest = "engine1", help = "Engine #1") common.parser().add_option("--engine2", dest = "engine2", help = "Engine #2") common.parser().add_option("--numgames", dest = "numgames", type = "int", default = 5, help = "Number of games") common.parser().add_option("--timecontrol", dest = "timecontrol", default = "30", help = "Time control") common.parser().add_option("--ecofile", dest = "ecofile", help = "The (.cfdb) database containing the ECO classification") common.parser().add_option("--logcomms", dest = "logcomms", type = "int", default = 0, help = "Log UCI comms") if not common.init(__file__): exit(2) progname = common.progname() debuglog = True logcomms = common.options().logcomms != 0 logfile = common.tmpdir() + "/ccore.log" pgnfile = common.tmpdir() + "/games.pgn" configfile = common.configfile() ecofile = common.options().ecofile if not ecofile: ecofile = common.testdir() + "/cfdb/eco.cfdb" engine1 = common.options().engine1 if not engine1: engine1 = common.engine1() engine2 = common.options().engine2 if not engine2: engine2 = common.engine2() numgames = common.options().numgames timecontrol = common.options().timecontrol if os.path.exists(logfile): os.remove(logfile) cmdline = common.ccore() if debuglog: cmdline += " --debuglog true" if logcomms: cmdline += " --logcomms true" cmdline += " -c {0} -l {1} -o {2} -E {3} -n {4} -t {5} tournament {6} {7}".format(configfile, logfile, pgnfile, ecofile, numgames, timecontrol, engine1, engine2) if common.runccore(cmdline): common.checkLogfile(logfile)