@@ -120,6 +120,20 @@ def test_check_supports_vebose_output(self):
120
120
self .assertTrue (parse_args (['check' , '-v' ]).verbose )
121
121
self .assertTrue (parse_args (['check' , '--verbose' ]).verbose )
122
122
123
+ def test_check_supports_mardown_output (self ):
124
+ self .assertFalse (parse_args (['check' ]).markdown )
125
+ self .assertTrue (parse_args (['check' , '-md' ]).markdown )
126
+ self .assertTrue (parse_args (['check' , '--markdown' ]).markdown )
127
+
128
+ def test_check_flags_are_mutually_exclusive (self ):
129
+ with captured_output () as (out , err ):
130
+ self .assertRaises (SystemExit ,
131
+ parse_args , ['check' , '-md' , '-v' ])
132
+ self .assert_contains (
133
+ ['error:' , 'argument -v/--verbose: ' +
134
+ 'not allowed with argument -md/--markdown' ],
135
+ err .getvalue ())
136
+
123
137
124
138
class ArgsStub (object ):
125
139
def __init__ (self ):
@@ -497,7 +511,7 @@ def setUpClass(cls):
497
511
498
512
def setUp (self ):
499
513
super (TestBenchmarkDoctor , self ).setUp ()
500
- self .args = Stub (verbose = False )
514
+ self .args = Stub (verbose = False , markdown = False )
501
515
self ._doctor_log_handler .reset ()
502
516
self .logs = self ._doctor_log_handler .messages
503
517
@@ -516,8 +530,9 @@ def test_uses_logging(self):
516
530
def test_supports_verbose_output (self ):
517
531
driver = BenchmarkDriverMock (tests = ['B1' , 'B2' ])
518
532
driver .verbose = True
533
+ self .args .verbose = True
519
534
with captured_output () as (out , _ ):
520
- BenchmarkDoctor (Stub ( verbose = True ) , driver )
535
+ BenchmarkDoctor (self . args , driver )
521
536
self .assert_contains (['Checking tests: B1, B2' ], out .getvalue ())
522
537
523
538
def test_uses_report_formatter (self ):
@@ -528,6 +543,14 @@ def test_uses_report_formatter(self):
528
543
self .assertTrue (isinstance (console_handler .formatter ,
529
544
LoggingReportFormatter ))
530
545
546
+ def test_uses_optional_markdown_report_formatter (self ):
547
+ self .args .markdown = True
548
+ with captured_output () as (_ , _ ):
549
+ doc = BenchmarkDoctor (self .args , BenchmarkDriverMock (tests = ['B1' ]))
550
+ self .assertTrue (doc )
551
+ console_handler = logging .getLogger ('BenchmarkDoctor' ).handlers [1 ]
552
+ self .assertTrue (isinstance (console_handler , MarkdownReportHandler ))
553
+
531
554
def test_measure_10_independent_1s_benchmark_series (self ):
532
555
"""Measurement strategy takes 5 i2 and 5 i1 series.
533
556
0 commit comments