def __init__(self, scoreboard): self.scoreboard = scoreboard if not _have_gui: return self.root = Tk() # row 1 f = Frame(self.root) f.master.title("Gantlet %s" % gantlet.VERSION) f.pack(side=TOP, expand=NO, fill=X) l = Label(f, text="File:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X) self.ratio = Label(f, width=10) self.ratio.pack(side=RIGHT, expand=NO) self.filename = Label(f, relief=SUNKEN, width=60, justify=LEFT) self.filename.pack(side=RIGHT, expand=YES, fill=X) # row 2 f = Frame(self.root) f.pack(side=TOP, expand=NO, fill=X) l = Label(f, text="Progress:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X) self.meter = ProgressMeter(f, max=scoreboard.tests_outstanding, fgcolor='#aaf') self.meter.pack(side=RIGHT, expand=YES, fill=X) # row 3 f = Frame(self.root) f.pack(side=TOP, expand=NO, fill=X) l = Label(f, text="Stats:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X) f = Frame(f, relief=GROOVE, bd=5) f.pack(side=TOP, expand=YES, fill=BOTH) Label(f, text="Total", width=10).grid(row=0, column=1) Label(f, text="Pass", width=10).grid(row=0, column=2) Label(f, text="Xfail", width=10).grid(row=0, column=3) Label(f, text="Fail", width=10).grid(row=0, column=4) Label(f, text="Broken", width=10).grid(row=0, column=5) Label(f, text="Tests").grid(row=1, column=0) self.tests_total = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#000") self.tests_passed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#0a0") self.tests_xfailed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#990") self.tests_failed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00") self.tests_broken = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00") self.tests_total.grid(row=1, column=1) self.tests_passed.grid(row=1, column=2) self.tests_xfailed.grid(row=1, column=3) self.tests_failed.grid(row=1, column=4) self.tests_broken.grid(row=1, column=5) Label(f, text="Parts").grid(row=2, column=0) self.parts_total = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#000") self.parts_passed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#0a0") self.parts_xfailed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#990") self.parts_failed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00") self.parts_total.grid(row=2, column=1) self.parts_passed.grid(row=2, column=2) self.parts_xfailed.grid(row=2, column=3) self.parts_failed.grid(row=2, column=4) Button(self.root, text='Quit', command=self.root.quit).pack() scoreboard.event['test_begin'].subscribe( test_begin_event(self.test_begin)) scoreboard.event['test_added'].subscribe( test_added_event(self.add_test)) scoreboard.event['test_end'].subscribe(test_end_event( self.finish_test)) scoreboard.event['suite_finish'].subscribe( suite_finish_event(self.finalize))
def __init__( self, scoreboard ): self.scoreboard = scoreboard if not _have_gui: return self.root = Tk() # row 1 f = Frame( self.root ) f.master.title("Gantlet %s" % gantlet.VERSION) f.pack(side=TOP, expand=NO, fill=X) l = Label( f, text="File:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X) self.ratio = Label(f, width=10) self.ratio.pack(side=RIGHT, expand=NO ) self.filename = Label( f, relief=SUNKEN, width=60, justify=LEFT) self.filename.pack(side=RIGHT, expand=YES, fill=X ) # row 2 f = Frame( self.root ) f.pack(side=TOP, expand=NO, fill=X) l = Label(f, text="Progress:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X) self.meter = ProgressMeter(f, max=scoreboard.tests_outstanding, fgcolor='#aaf') self.meter.pack(side=RIGHT, expand=YES, fill=X) # row 3 f = Frame( self.root ) f.pack(side=TOP, expand=NO, fill=X ) l = Label(f,text="Stats:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X ) f = Frame( f, relief=GROOVE, bd=5) f.pack(side=TOP, expand=YES, fill=BOTH) Label( f, text="Total" , width=10).grid(row=0, column=1) Label( f, text="Pass" , width=10).grid(row=0, column=2) Label( f, text="Xfail" , width=10).grid(row=0, column=3) Label( f, text="Fail" , width=10).grid(row=0, column=4) Label( f, text="Broken", width=10).grid(row=0, column=5) Label( f, text="Tests" ).grid(row=1, column=0) self.tests_total = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#000" ) self.tests_passed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#0a0" ) self.tests_xfailed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#990" ) self.tests_failed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00" ) self.tests_broken = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00" ) self.tests_total.grid(row=1,column=1) self.tests_passed.grid(row=1,column=2) self.tests_xfailed.grid(row=1,column=3) self.tests_failed.grid(row=1,column=4) self.tests_broken.grid(row=1,column=5) Label( f, text="Parts" ).grid(row=2, column=0) self.parts_total = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#000" ) self.parts_passed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#0a0" ) self.parts_xfailed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#990" ) self.parts_failed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00" ) self.parts_total.grid(row=2,column=1) self.parts_passed.grid(row=2,column=2) self.parts_xfailed.grid(row=2,column=3) self.parts_failed.grid(row=2,column=4) Button(self.root, text='Quit', command=self.root.quit ).pack() scoreboard.event['test_begin'].subscribe( test_begin_event( self.test_begin ) ) scoreboard.event['test_added'].subscribe( test_added_event( self.add_test ) ) scoreboard.event['test_end'].subscribe( test_end_event( self.finish_test ) ) scoreboard.event['suite_finish'].subscribe( suite_finish_event( self.finalize ) )
class gui_display: def update_ratio(self): if self.scoreboard.tests_outstanding < 0: print("Ugh!") self.scoreboard.tests_outstanding = 0 newtext = "%d/%d" % ( self.scoreboard.tot_tests, self.scoreboard.tot_tests + \ self.scoreboard.tests_outstanding ) self.ratio.config(text=newtext) def test_begin(self, test): self.filename.config(text=test.name) self.update_ratio() self.root.update() def add_test(self, n_new_tests): self.meter.newMaximum(self.meter.max + n_new_tests) self.update_ratio() def finish_test(self, test): self.meter.add(1) self.tests_total.config(text=self.scoreboard.tot_tests) self.tests_passed.config(text=self.scoreboard.tot_tests_passed) self.tests_xfailed.config(text=self.scoreboard.tot_tests_xfailed) self.tests_failed.config(text=self.scoreboard.tot_tests_failed) self.tests_broken.config(text=self.scoreboard.tot_tests_broken) self.parts_total.config(text=self.scoreboard.tot_parts) self.parts_passed.config(text=self.scoreboard.tot_parts_passed) self.parts_xfailed.config(text=self.scoreboard.tot_parts_xfailed) self.parts_failed.config(text=self.scoreboard.tot_parts_failed) def finalize(self, scoreboard): self.filename.config(text="Tests Completed.") self.update_ratio() self.root.update() def __init__(self, scoreboard): self.scoreboard = scoreboard if not _have_gui: return self.root = Tk() # row 1 f = Frame(self.root) f.master.title("Gantlet %s" % gantlet.VERSION) f.pack(side=TOP, expand=NO, fill=X) l = Label(f, text="File:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X) self.ratio = Label(f, width=10) self.ratio.pack(side=RIGHT, expand=NO) self.filename = Label(f, relief=SUNKEN, width=60, justify=LEFT) self.filename.pack(side=RIGHT, expand=YES, fill=X) # row 2 f = Frame(self.root) f.pack(side=TOP, expand=NO, fill=X) l = Label(f, text="Progress:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X) self.meter = ProgressMeter(f, max=scoreboard.tests_outstanding, fgcolor='#aaf') self.meter.pack(side=RIGHT, expand=YES, fill=X) # row 3 f = Frame(self.root) f.pack(side=TOP, expand=NO, fill=X) l = Label(f, text="Stats:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X) f = Frame(f, relief=GROOVE, bd=5) f.pack(side=TOP, expand=YES, fill=BOTH) Label(f, text="Total", width=10).grid(row=0, column=1) Label(f, text="Pass", width=10).grid(row=0, column=2) Label(f, text="Xfail", width=10).grid(row=0, column=3) Label(f, text="Fail", width=10).grid(row=0, column=4) Label(f, text="Broken", width=10).grid(row=0, column=5) Label(f, text="Tests").grid(row=1, column=0) self.tests_total = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#000") self.tests_passed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#0a0") self.tests_xfailed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#990") self.tests_failed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00") self.tests_broken = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00") self.tests_total.grid(row=1, column=1) self.tests_passed.grid(row=1, column=2) self.tests_xfailed.grid(row=1, column=3) self.tests_failed.grid(row=1, column=4) self.tests_broken.grid(row=1, column=5) Label(f, text="Parts").grid(row=2, column=0) self.parts_total = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#000") self.parts_passed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#0a0") self.parts_xfailed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#990") self.parts_failed = Label(f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00") self.parts_total.grid(row=2, column=1) self.parts_passed.grid(row=2, column=2) self.parts_xfailed.grid(row=2, column=3) self.parts_failed.grid(row=2, column=4) Button(self.root, text='Quit', command=self.root.quit).pack() scoreboard.event['test_begin'].subscribe( test_begin_event(self.test_begin)) scoreboard.event['test_added'].subscribe( test_added_event(self.add_test)) scoreboard.event['test_end'].subscribe(test_end_event( self.finish_test)) scoreboard.event['suite_finish'].subscribe( suite_finish_event(self.finalize))
class gui_display : def update_ratio( self ): if self.scoreboard.tests_outstanding < 0: print "Ugh!" self.scoreboard.tests_outstanding = 0 newtext = "%d/%d" % ( self.scoreboard.tot_tests, self.scoreboard.tot_tests + \ self.scoreboard.tests_outstanding ) self.ratio.config(text=newtext) def test_begin( self, test ): self.filename.config(text=test.name) self.update_ratio() self.root.update() def add_test( self, n_new_tests ): self.meter.newMaximum( self.meter.max + n_new_tests ) self.update_ratio() def finish_test( self, test ): self.meter.add( 1 ) self.tests_total.config(text=self.scoreboard.tot_tests) self.tests_passed.config(text=self.scoreboard.tot_tests_passed) self.tests_xfailed.config(text=self.scoreboard.tot_tests_xfailed) self.tests_failed.config(text=self.scoreboard.tot_tests_failed) self.tests_broken.config(text=self.scoreboard.tot_tests_broken) self.parts_total.config(text=self.scoreboard.tot_parts) self.parts_passed.config(text=self.scoreboard.tot_parts_passed) self.parts_xfailed.config(text=self.scoreboard.tot_parts_xfailed) self.parts_failed.config(text=self.scoreboard.tot_parts_failed) def finalize( self, scoreboard ): self.filename.config(text="Tests Completed.") self.update_ratio() self.root.update() def __init__( self, scoreboard ): self.scoreboard = scoreboard if not _have_gui: return self.root = Tk() # row 1 f = Frame( self.root ) f.master.title("Gantlet %s" % gantlet.VERSION) f.pack(side=TOP, expand=NO, fill=X) l = Label( f, text="File:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X) self.ratio = Label(f, width=10) self.ratio.pack(side=RIGHT, expand=NO ) self.filename = Label( f, relief=SUNKEN, width=60, justify=LEFT) self.filename.pack(side=RIGHT, expand=YES, fill=X ) # row 2 f = Frame( self.root ) f.pack(side=TOP, expand=NO, fill=X) l = Label(f, text="Progress:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X) self.meter = ProgressMeter(f, max=scoreboard.tests_outstanding, fgcolor='#aaf') self.meter.pack(side=RIGHT, expand=YES, fill=X) # row 3 f = Frame( self.root ) f.pack(side=TOP, expand=NO, fill=X ) l = Label(f,text="Stats:", width=10, justify=RIGHT) l.pack(side=LEFT, expand=NO, fill=X ) f = Frame( f, relief=GROOVE, bd=5) f.pack(side=TOP, expand=YES, fill=BOTH) Label( f, text="Total" , width=10).grid(row=0, column=1) Label( f, text="Pass" , width=10).grid(row=0, column=2) Label( f, text="Xfail" , width=10).grid(row=0, column=3) Label( f, text="Fail" , width=10).grid(row=0, column=4) Label( f, text="Broken", width=10).grid(row=0, column=5) Label( f, text="Tests" ).grid(row=1, column=0) self.tests_total = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#000" ) self.tests_passed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#0a0" ) self.tests_xfailed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#990" ) self.tests_failed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00" ) self.tests_broken = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00" ) self.tests_total.grid(row=1,column=1) self.tests_passed.grid(row=1,column=2) self.tests_xfailed.grid(row=1,column=3) self.tests_failed.grid(row=1,column=4) self.tests_broken.grid(row=1,column=5) Label( f, text="Parts" ).grid(row=2, column=0) self.parts_total = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#000" ) self.parts_passed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#0a0" ) self.parts_xfailed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#990" ) self.parts_failed = Label( f, relief=SUNKEN, width=10, justify=RIGHT, fg="#a00" ) self.parts_total.grid(row=2,column=1) self.parts_passed.grid(row=2,column=2) self.parts_xfailed.grid(row=2,column=3) self.parts_failed.grid(row=2,column=4) Button(self.root, text='Quit', command=self.root.quit ).pack() scoreboard.event['test_begin'].subscribe( test_begin_event( self.test_begin ) ) scoreboard.event['test_added'].subscribe( test_added_event( self.add_test ) ) scoreboard.event['test_end'].subscribe( test_end_event( self.finish_test ) ) scoreboard.event['suite_finish'].subscribe( suite_finish_event( self.finalize ) )