43
43
},
44
44
}
45
45
46
+ expected_mismatches = [
47
+ "Download.createReadStream" ,
48
+ "Browser.startTracing" ,
49
+ "Browser.stopTracing" ,
50
+ "Logger.log" ,
51
+ "BrowserContext.setHTTPCredentials" , # deprecated
52
+ "BrowserContext.serviceWorkers" , # CR only (and the following)
53
+ "BrowserContext.backgroundPages" ,
54
+ "Browser.newBrowserCDPSession" ,
55
+ "Page.coverage" ,
56
+ "Coverage.startCSSCoverage" ,
57
+ "Coverage.stopCSSCoverage" ,
58
+ "Coverage.startJSCoverage" ,
59
+ "Coverage.stopJSCoverage" ,
60
+ "BrowserContext.newCDPSession" ,
61
+ "Logger.isEnabled" ,
62
+ "BrowserServer.kill" , # not relevant for RPC clients (and the following)
63
+ "BrowserType.launchServer" ,
64
+ "BrowserServer.close" ,
65
+ "BrowserServer.process" ,
66
+ "BrowserServer.wsEndpoint" ,
67
+ ]
68
+
46
69
47
70
class DocumentationProvider :
48
71
def __init__ (self ) -> None :
@@ -371,6 +394,7 @@ def rewrite_param_name(self, fqname: str, method_name: str, name: str) -> str:
371
394
return name
372
395
373
396
def print_remainder (self ) -> None :
397
+ remainders = set ()
374
398
for [class_name , value ] in self .api .items ():
375
399
class_name = re .sub (r"Chromium(.*)" , r"\1" , class_name )
376
400
class_name = re .sub (r"WebKit(.*)" , r"\1" , class_name )
@@ -379,8 +403,15 @@ def print_remainder(self) -> None:
379
403
if method ["kind" ] == "event" :
380
404
continue
381
405
entry = f"{ class_name } .{ method_name } "
382
- if entry not in self .printed_entries :
383
- print (f"Method not implemented: { entry } " , file = stderr )
406
+ if (
407
+ entry not in self .printed_entries
408
+ and entry not in expected_mismatches
409
+ ):
410
+ remainders .add (f"Method not implemented: { entry } " )
411
+ for remainder in remainders :
412
+ print (remainder , file = stderr )
413
+ if len (remainders ) > 0 :
414
+ exit (1 )
384
415
385
416
386
417
if __name__ == "__main__" :
0 commit comments