MCPcopy
hub / github.com/RUB-NDS/PRET / fuzz_write

Method fuzz_write

printer.py:686–707  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

684 self.verify_path(path)
685
686 def fuzz_write(self):
687 output().raw("Writing temporary files.")
688 # get a cup of tea, fuzzing will take some time
689 output().fuzzed("PATH", "COMMAND", ("GET", "EXISTS", "DIRLIST"))
690 output().hline()
691 # test data to put/append
692 data = "test"
693 data2 = "test2"
694 # try write to disk strategies
695 for vol in self.vol_exists() + fuzzer().write:
696 sep = "" if vol[-1:] in ["", "/", "\\"] else "/"
697 name = "dat" + str(random.randrange(10000))
698 # FSDOWNLOAD
699 self.put(vol + sep + name, data)
700 fsd_worked = self.verify_write(vol + sep, name, data, "PUT")
701 # FSAPPEND
702 self.append(vol + sep + name, data2)
703 data = (data + data2) if fsd_worked else data2
704 self.verify_write(vol + sep, name, data, "APPEND")
705 # FSDELETE
706 self.do_delete(vol + sep + name)
707 output().hline()
708
709 def fuzz_blind(self):
710 output().raw("Blindly trying to read files.")

Callers 1

do_fuzzMethod · 0.95

Calls 10

verify_writeMethod · 0.95
do_deleteMethod · 0.95
outputClass · 0.90
fuzzerClass · 0.90
rawMethod · 0.80
fuzzedMethod · 0.80
hlineMethod · 0.80
vol_existsMethod · 0.45
putMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected