Coverage for /pythoncovmergedfiles/medio/medio/src/fuzz_sheet.py: 56%
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
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
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.
27import atheris
28import sys
29import datetime
30with atheris.instrument_imports():
31 from openpyxl import Workbook
33def TestInput(data):
34 fdp = atheris.FuzzedDataProvider(data)
36 wb = Workbook()
37 ws = wb.active
39 #Row/Col management
40 ws.insert_rows(fdp.ConsumeInt(100))
41 ws.insert_cols(fdp.ConsumeInt(100))
42 ws.delete_rows(fdp.ConsumeInt(100),fdp.ConsumeInt(100))
43 ws.delete_cols(fdp.ConsumeInt(100),fdp.ConsumeInt(100))
44 ws.column_dimensions.group(
45 chr(fdp.ConsumeIntInRange(65,90)),
46 chr(fdp.ConsumeIntInRange(65,90)),
47 hidden=True
48 )
49 ws.row_dimensions.group(
50 fdp.ConsumeInt(100),
51 fdp.ConsumeInt(100),
52 hidden=True
53 )
55 #Cell management
56 ws['A1'] = datetime.datetime(2022, 1, 1)
57 format = ws['A1'].number_format
59 ws.move_range(
60 "G4:H10",
61 rows=fdp.ConsumeInt(100),
62 cols=fdp.ConsumeInt(100),
63 translate=fdp.ConsumeBool()
64 )
66 try:
67 sr = fdp.ConsumeInt(100)
68 sc = fdp.ConsumeInt(100)
69 er = fdp.ConsumeInt(100)
70 ec = fdp.ConsumeInt(100)
71 ws.merge_cells(start_row=sr, start_column=sc, end_row=er, end_column=ec)
72 ws.unmerge_cells(start_row=sr, start_column=sc, end_row=er, end_column=ec)
73 except ValueError as e:
74 if "Min value is 1" not in str(e):
75 raise e
78 wb.save('%s.xlsx'%fdp.ConsumeString(10))
80def main():
81 atheris.Setup(sys.argv, TestInput, enable_python_coverage=True)
82 atheris.Fuzz()
84if __name__ == "__main__":
85 main()