Coverage for /pythoncovmergedfiles/medio/medio/src/fuzz_woff2.py: 39%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

33 statements  

1###### Coverage stub 

2import atexit 

3import coverage 

4cov = coverage.coverage(data_file='.coverage', cover_pylib=True) 

5cov.start() 

6# Register an exist handler that will print coverage 

7def exit_handler(): 

8 cov.stop() 

9 cov.save() 

10atexit.register(exit_handler) 

11####### End of coverage stub 

12#!/usr/bin/python3 

13# Copyright 2022 Google LLC 

14# 

15# Licensed under the Apache License, Version 2.0 (the "License"); 

16# you may not use this file except in compliance with the License. 

17# You may obtain a copy of the License at 

18# 

19# http://www.apache.org/licenses/LICENSE-2.0 

20# 

21# Unless required by applicable law or agreed to in writing, software 

22# distributed under the License is distributed on an "AS IS" BASIS, 

23# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 

24# See the License for the specific language governing permissions and 

25# limitations under the License. 

26 

27import io 

28import sys 

29import atheris 

30import brotli 

31 

32from fontTools import ttLib 

33from fontTools.ttLib import TTFont 

34from fontTools.ttLib.woff2 import WOFF2Reader 

35import xml 

36 

37 

38def TestOneInput(data): 

39 try: 

40 WOFF2Reader(io.BytesIO(data)) 

41 except ttLib.TTLibError: 

42 pass 

43 except AssertionError: 

44 pass 

45 except ImportError: 

46 pass 

47 except brotli.error: 

48 pass 

49 

50 

51def main(): 

52 atheris.instrument_all() 

53 atheris.Setup(sys.argv, TestOneInput) 

54 atheris.Fuzz() 

55 

56 

57if __name__ == "__main__": 

58 main()