From 02ab8e94dfd4ccba8feca449d29d782bf86f820a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Tremblay?= <1619947+marctrem@users.noreply.github.com> Date: Fri, 18 Oct 2024 19:12:20 +0000 Subject: [PATCH] fix multiple buffered reads --- io/linereader/linereader.go | 26 +++++++++++---- io/linereader/linereader_test.go | 47 +++++++++++++++++++++++++- io/linereader/readerchunks0/chunk-0 | 1 + io/linereader/readerchunks0/chunk-1 | 1 + io/linereader/readerchunks0/chunk-10 | 1 + io/linereader/readerchunks0/chunk-100 | 1 + io/linereader/readerchunks0/chunk-101 | 1 + io/linereader/readerchunks0/chunk-102 | 1 + io/linereader/readerchunks0/chunk-103 | 1 + io/linereader/readerchunks0/chunk-104 | 1 + io/linereader/readerchunks0/chunk-105 | 1 + io/linereader/readerchunks0/chunk-106 | 1 + io/linereader/readerchunks0/chunk-107 | 1 + io/linereader/readerchunks0/chunk-108 | 1 + io/linereader/readerchunks0/chunk-109 | 1 + io/linereader/readerchunks0/chunk-11 | 1 + io/linereader/readerchunks0/chunk-110 | 1 + io/linereader/readerchunks0/chunk-111 | 1 + io/linereader/readerchunks0/chunk-112 | 1 + io/linereader/readerchunks0/chunk-113 | 1 + io/linereader/readerchunks0/chunk-114 | 1 + io/linereader/readerchunks0/chunk-115 | 1 + io/linereader/readerchunks0/chunk-116 | 1 + io/linereader/readerchunks0/chunk-117 | 1 + io/linereader/readerchunks0/chunk-118 | 1 + io/linereader/readerchunks0/chunk-119 | 1 + io/linereader/readerchunks0/chunk-12 | 1 + io/linereader/readerchunks0/chunk-120 | 1 + io/linereader/readerchunks0/chunk-121 | 1 + io/linereader/readerchunks0/chunk-122 | 1 + io/linereader/readerchunks0/chunk-123 | 1 + io/linereader/readerchunks0/chunk-124 | 1 + io/linereader/readerchunks0/chunk-125 | 1 + io/linereader/readerchunks0/chunk-126 | 1 + io/linereader/readerchunks0/chunk-127 | 1 + io/linereader/readerchunks0/chunk-128 | 1 + io/linereader/readerchunks0/chunk-129 | 1 + io/linereader/readerchunks0/chunk-13 | 1 + io/linereader/readerchunks0/chunk-130 | 1 + io/linereader/readerchunks0/chunk-131 | 1 + io/linereader/readerchunks0/chunk-132 | 1 + io/linereader/readerchunks0/chunk-133 | 1 + io/linereader/readerchunks0/chunk-134 | 1 + io/linereader/readerchunks0/chunk-135 | 1 + io/linereader/readerchunks0/chunk-136 | 1 + io/linereader/readerchunks0/chunk-137 | 1 + io/linereader/readerchunks0/chunk-138 | 1 + io/linereader/readerchunks0/chunk-139 | 1 + io/linereader/readerchunks0/chunk-14 | 1 + io/linereader/readerchunks0/chunk-140 | 1 + io/linereader/readerchunks0/chunk-141 | 1 + io/linereader/readerchunks0/chunk-142 | 1 + io/linereader/readerchunks0/chunk-143 | 1 + io/linereader/readerchunks0/chunk-144 | 1 + io/linereader/readerchunks0/chunk-145 | 1 + io/linereader/readerchunks0/chunk-146 | 1 + io/linereader/readerchunks0/chunk-147 | 1 + io/linereader/readerchunks0/chunk-148 | 1 + io/linereader/readerchunks0/chunk-149 | 1 + io/linereader/readerchunks0/chunk-15 | 1 + io/linereader/readerchunks0/chunk-150 | 1 + io/linereader/readerchunks0/chunk-151 | 1 + io/linereader/readerchunks0/chunk-152 | 1 + io/linereader/readerchunks0/chunk-153 | 1 + io/linereader/readerchunks0/chunk-154 | 1 + io/linereader/readerchunks0/chunk-155 | 1 + io/linereader/readerchunks0/chunk-156 | 1 + io/linereader/readerchunks0/chunk-157 | 1 + io/linereader/readerchunks0/chunk-158 | 1 + io/linereader/readerchunks0/chunk-159 | 1 + io/linereader/readerchunks0/chunk-16 | 1 + io/linereader/readerchunks0/chunk-160 | 1 + io/linereader/readerchunks0/chunk-161 | 1 + io/linereader/readerchunks0/chunk-162 | 1 + io/linereader/readerchunks0/chunk-163 | 1 + io/linereader/readerchunks0/chunk-164 | 1 + io/linereader/readerchunks0/chunk-165 | 1 + io/linereader/readerchunks0/chunk-166 | 1 + io/linereader/readerchunks0/chunk-167 | 1 + io/linereader/readerchunks0/chunk-168 | 1 + io/linereader/readerchunks0/chunk-169 | 1 + io/linereader/readerchunks0/chunk-17 | 1 + io/linereader/readerchunks0/chunk-18 | 1 + io/linereader/readerchunks0/chunk-19 | 1 + io/linereader/readerchunks0/chunk-2 | 1 + io/linereader/readerchunks0/chunk-20 | 1 + io/linereader/readerchunks0/chunk-21 | 1 + io/linereader/readerchunks0/chunk-22 | 1 + io/linereader/readerchunks0/chunk-23 | 1 + io/linereader/readerchunks0/chunk-24 | 1 + io/linereader/readerchunks0/chunk-25 | 1 + io/linereader/readerchunks0/chunk-26 | 1 + io/linereader/readerchunks0/chunk-27 | 1 + io/linereader/readerchunks0/chunk-28 | 1 + io/linereader/readerchunks0/chunk-29 | 1 + io/linereader/readerchunks0/chunk-3 | 2 ++ io/linereader/readerchunks0/chunk-30 | 1 + io/linereader/readerchunks0/chunk-31 | 1 + io/linereader/readerchunks0/chunk-32 | 1 + io/linereader/readerchunks0/chunk-33 | 1 + io/linereader/readerchunks0/chunk-34 | 1 + io/linereader/readerchunks0/chunk-35 | 1 + io/linereader/readerchunks0/chunk-36 | 1 + io/linereader/readerchunks0/chunk-37 | 1 + io/linereader/readerchunks0/chunk-38 | 1 + io/linereader/readerchunks0/chunk-39 | 1 + io/linereader/readerchunks0/chunk-4 | 1 + io/linereader/readerchunks0/chunk-40 | 1 + io/linereader/readerchunks0/chunk-41 | 1 + io/linereader/readerchunks0/chunk-42 | 1 + io/linereader/readerchunks0/chunk-43 | 1 + io/linereader/readerchunks0/chunk-44 | 1 + io/linereader/readerchunks0/chunk-45 | 1 + io/linereader/readerchunks0/chunk-46 | 1 + io/linereader/readerchunks0/chunk-47 | 1 + io/linereader/readerchunks0/chunk-48 | 1 + io/linereader/readerchunks0/chunk-49 | 1 + io/linereader/readerchunks0/chunk-5 | 1 + io/linereader/readerchunks0/chunk-50 | 1 + io/linereader/readerchunks0/chunk-51 | 1 + io/linereader/readerchunks0/chunk-52 | 1 + io/linereader/readerchunks0/chunk-53 | 1 + io/linereader/readerchunks0/chunk-54 | 1 + io/linereader/readerchunks0/chunk-55 | 1 + io/linereader/readerchunks0/chunk-56 | 1 + io/linereader/readerchunks0/chunk-57 | 1 + io/linereader/readerchunks0/chunk-58 | 1 + io/linereader/readerchunks0/chunk-59 | 1 + io/linereader/readerchunks0/chunk-6 | 1 + io/linereader/readerchunks0/chunk-60 | 1 + io/linereader/readerchunks0/chunk-61 | 1 + io/linereader/readerchunks0/chunk-62 | 1 + io/linereader/readerchunks0/chunk-63 | 1 + io/linereader/readerchunks0/chunk-64 | 1 + io/linereader/readerchunks0/chunk-65 | 1 + io/linereader/readerchunks0/chunk-66 | 1 + io/linereader/readerchunks0/chunk-67 | 1 + io/linereader/readerchunks0/chunk-68 | 1 + io/linereader/readerchunks0/chunk-69 | 1 + io/linereader/readerchunks0/chunk-7 | 1 + io/linereader/readerchunks0/chunk-70 | 1 + io/linereader/readerchunks0/chunk-71 | 1 + io/linereader/readerchunks0/chunk-72 | 1 + io/linereader/readerchunks0/chunk-73 | 1 + io/linereader/readerchunks0/chunk-74 | 1 + io/linereader/readerchunks0/chunk-75 | 1 + io/linereader/readerchunks0/chunk-76 | 1 + io/linereader/readerchunks0/chunk-77 | 1 + io/linereader/readerchunks0/chunk-78 | 1 + io/linereader/readerchunks0/chunk-79 | 1 + io/linereader/readerchunks0/chunk-8 | 1 + io/linereader/readerchunks0/chunk-80 | 1 + io/linereader/readerchunks0/chunk-81 | 1 + io/linereader/readerchunks0/chunk-82 | 1 + io/linereader/readerchunks0/chunk-83 | 1 + io/linereader/readerchunks0/chunk-84 | 1 + io/linereader/readerchunks0/chunk-85 | 1 + io/linereader/readerchunks0/chunk-86 | 1 + io/linereader/readerchunks0/chunk-87 | 1 + io/linereader/readerchunks0/chunk-88 | 1 + io/linereader/readerchunks0/chunk-89 | 1 + io/linereader/readerchunks0/chunk-9 | 1 + io/linereader/readerchunks0/chunk-90 | 1 + io/linereader/readerchunks0/chunk-91 | 1 + io/linereader/readerchunks0/chunk-92 | 1 + io/linereader/readerchunks0/chunk-93 | 1 + io/linereader/readerchunks0/chunk-94 | 1 + io/linereader/readerchunks0/chunk-95 | 1 + io/linereader/readerchunks0/chunk-96 | 1 + io/linereader/readerchunks0/chunk-97 | 1 + io/linereader/readerchunks0/chunk-98 | 1 + io/linereader/readerchunks0/chunk-99 | 1 + io/readchunkdump/readchunkdump.go | 41 +++++++++++++++++++++++ io/readchunkdump/replayer.go | 48 +++++++++++++++++++++++++++ 174 files changed, 326 insertions(+), 7 deletions(-) create mode 100644 io/linereader/readerchunks0/chunk-0 create mode 100644 io/linereader/readerchunks0/chunk-1 create mode 100644 io/linereader/readerchunks0/chunk-10 create mode 100644 io/linereader/readerchunks0/chunk-100 create mode 100644 io/linereader/readerchunks0/chunk-101 create mode 100644 io/linereader/readerchunks0/chunk-102 create mode 100644 io/linereader/readerchunks0/chunk-103 create mode 100644 io/linereader/readerchunks0/chunk-104 create mode 100644 io/linereader/readerchunks0/chunk-105 create mode 100644 io/linereader/readerchunks0/chunk-106 create mode 100644 io/linereader/readerchunks0/chunk-107 create mode 100644 io/linereader/readerchunks0/chunk-108 create mode 100644 io/linereader/readerchunks0/chunk-109 create mode 100644 io/linereader/readerchunks0/chunk-11 create mode 100644 io/linereader/readerchunks0/chunk-110 create mode 100644 io/linereader/readerchunks0/chunk-111 create mode 100644 io/linereader/readerchunks0/chunk-112 create mode 100644 io/linereader/readerchunks0/chunk-113 create mode 100644 io/linereader/readerchunks0/chunk-114 create mode 100644 io/linereader/readerchunks0/chunk-115 create mode 100644 io/linereader/readerchunks0/chunk-116 create mode 100644 io/linereader/readerchunks0/chunk-117 create mode 100644 io/linereader/readerchunks0/chunk-118 create mode 100644 io/linereader/readerchunks0/chunk-119 create mode 100644 io/linereader/readerchunks0/chunk-12 create mode 100644 io/linereader/readerchunks0/chunk-120 create mode 100644 io/linereader/readerchunks0/chunk-121 create mode 100644 io/linereader/readerchunks0/chunk-122 create mode 100644 io/linereader/readerchunks0/chunk-123 create mode 100644 io/linereader/readerchunks0/chunk-124 create mode 100644 io/linereader/readerchunks0/chunk-125 create mode 100644 io/linereader/readerchunks0/chunk-126 create mode 100644 io/linereader/readerchunks0/chunk-127 create mode 100644 io/linereader/readerchunks0/chunk-128 create mode 100644 io/linereader/readerchunks0/chunk-129 create mode 100644 io/linereader/readerchunks0/chunk-13 create mode 100644 io/linereader/readerchunks0/chunk-130 create mode 100644 io/linereader/readerchunks0/chunk-131 create mode 100644 io/linereader/readerchunks0/chunk-132 create mode 100644 io/linereader/readerchunks0/chunk-133 create mode 100644 io/linereader/readerchunks0/chunk-134 create mode 100644 io/linereader/readerchunks0/chunk-135 create mode 100644 io/linereader/readerchunks0/chunk-136 create mode 100644 io/linereader/readerchunks0/chunk-137 create mode 100644 io/linereader/readerchunks0/chunk-138 create mode 100644 io/linereader/readerchunks0/chunk-139 create mode 100644 io/linereader/readerchunks0/chunk-14 create mode 100644 io/linereader/readerchunks0/chunk-140 create mode 100644 io/linereader/readerchunks0/chunk-141 create mode 100644 io/linereader/readerchunks0/chunk-142 create mode 100644 io/linereader/readerchunks0/chunk-143 create mode 100644 io/linereader/readerchunks0/chunk-144 create mode 100644 io/linereader/readerchunks0/chunk-145 create mode 100644 io/linereader/readerchunks0/chunk-146 create mode 100644 io/linereader/readerchunks0/chunk-147 create mode 100644 io/linereader/readerchunks0/chunk-148 create mode 100644 io/linereader/readerchunks0/chunk-149 create mode 100644 io/linereader/readerchunks0/chunk-15 create mode 100644 io/linereader/readerchunks0/chunk-150 create mode 100644 io/linereader/readerchunks0/chunk-151 create mode 100644 io/linereader/readerchunks0/chunk-152 create mode 100644 io/linereader/readerchunks0/chunk-153 create mode 100644 io/linereader/readerchunks0/chunk-154 create mode 100644 io/linereader/readerchunks0/chunk-155 create mode 100644 io/linereader/readerchunks0/chunk-156 create mode 100644 io/linereader/readerchunks0/chunk-157 create mode 100644 io/linereader/readerchunks0/chunk-158 create mode 100644 io/linereader/readerchunks0/chunk-159 create mode 100644 io/linereader/readerchunks0/chunk-16 create mode 100644 io/linereader/readerchunks0/chunk-160 create mode 100644 io/linereader/readerchunks0/chunk-161 create mode 100644 io/linereader/readerchunks0/chunk-162 create mode 100644 io/linereader/readerchunks0/chunk-163 create mode 100644 io/linereader/readerchunks0/chunk-164 create mode 100644 io/linereader/readerchunks0/chunk-165 create mode 100644 io/linereader/readerchunks0/chunk-166 create mode 100644 io/linereader/readerchunks0/chunk-167 create mode 100644 io/linereader/readerchunks0/chunk-168 create mode 100644 io/linereader/readerchunks0/chunk-169 create mode 100644 io/linereader/readerchunks0/chunk-17 create mode 100644 io/linereader/readerchunks0/chunk-18 create mode 100644 io/linereader/readerchunks0/chunk-19 create mode 100644 io/linereader/readerchunks0/chunk-2 create mode 100644 io/linereader/readerchunks0/chunk-20 create mode 100644 io/linereader/readerchunks0/chunk-21 create mode 100644 io/linereader/readerchunks0/chunk-22 create mode 100644 io/linereader/readerchunks0/chunk-23 create mode 100644 io/linereader/readerchunks0/chunk-24 create mode 100644 io/linereader/readerchunks0/chunk-25 create mode 100644 io/linereader/readerchunks0/chunk-26 create mode 100644 io/linereader/readerchunks0/chunk-27 create mode 100644 io/linereader/readerchunks0/chunk-28 create mode 100644 io/linereader/readerchunks0/chunk-29 create mode 100644 io/linereader/readerchunks0/chunk-3 create mode 100644 io/linereader/readerchunks0/chunk-30 create mode 100644 io/linereader/readerchunks0/chunk-31 create mode 100644 io/linereader/readerchunks0/chunk-32 create mode 100644 io/linereader/readerchunks0/chunk-33 create mode 100644 io/linereader/readerchunks0/chunk-34 create mode 100644 io/linereader/readerchunks0/chunk-35 create mode 100644 io/linereader/readerchunks0/chunk-36 create mode 100644 io/linereader/readerchunks0/chunk-37 create mode 100644 io/linereader/readerchunks0/chunk-38 create mode 100644 io/linereader/readerchunks0/chunk-39 create mode 100644 io/linereader/readerchunks0/chunk-4 create mode 100644 io/linereader/readerchunks0/chunk-40 create mode 100644 io/linereader/readerchunks0/chunk-41 create mode 100644 io/linereader/readerchunks0/chunk-42 create mode 100644 io/linereader/readerchunks0/chunk-43 create mode 100644 io/linereader/readerchunks0/chunk-44 create mode 100644 io/linereader/readerchunks0/chunk-45 create mode 100644 io/linereader/readerchunks0/chunk-46 create mode 100644 io/linereader/readerchunks0/chunk-47 create mode 100644 io/linereader/readerchunks0/chunk-48 create mode 100644 io/linereader/readerchunks0/chunk-49 create mode 100644 io/linereader/readerchunks0/chunk-5 create mode 100644 io/linereader/readerchunks0/chunk-50 create mode 100644 io/linereader/readerchunks0/chunk-51 create mode 100644 io/linereader/readerchunks0/chunk-52 create mode 100644 io/linereader/readerchunks0/chunk-53 create mode 100644 io/linereader/readerchunks0/chunk-54 create mode 100644 io/linereader/readerchunks0/chunk-55 create mode 100644 io/linereader/readerchunks0/chunk-56 create mode 100644 io/linereader/readerchunks0/chunk-57 create mode 100644 io/linereader/readerchunks0/chunk-58 create mode 100644 io/linereader/readerchunks0/chunk-59 create mode 100644 io/linereader/readerchunks0/chunk-6 create mode 100644 io/linereader/readerchunks0/chunk-60 create mode 100644 io/linereader/readerchunks0/chunk-61 create mode 100644 io/linereader/readerchunks0/chunk-62 create mode 100644 io/linereader/readerchunks0/chunk-63 create mode 100644 io/linereader/readerchunks0/chunk-64 create mode 100644 io/linereader/readerchunks0/chunk-65 create mode 100644 io/linereader/readerchunks0/chunk-66 create mode 100644 io/linereader/readerchunks0/chunk-67 create mode 100644 io/linereader/readerchunks0/chunk-68 create mode 100644 io/linereader/readerchunks0/chunk-69 create mode 100644 io/linereader/readerchunks0/chunk-7 create mode 100644 io/linereader/readerchunks0/chunk-70 create mode 100644 io/linereader/readerchunks0/chunk-71 create mode 100644 io/linereader/readerchunks0/chunk-72 create mode 100644 io/linereader/readerchunks0/chunk-73 create mode 100644 io/linereader/readerchunks0/chunk-74 create mode 100644 io/linereader/readerchunks0/chunk-75 create mode 100644 io/linereader/readerchunks0/chunk-76 create mode 100644 io/linereader/readerchunks0/chunk-77 create mode 100644 io/linereader/readerchunks0/chunk-78 create mode 100644 io/linereader/readerchunks0/chunk-79 create mode 100644 io/linereader/readerchunks0/chunk-8 create mode 100644 io/linereader/readerchunks0/chunk-80 create mode 100644 io/linereader/readerchunks0/chunk-81 create mode 100644 io/linereader/readerchunks0/chunk-82 create mode 100644 io/linereader/readerchunks0/chunk-83 create mode 100644 io/linereader/readerchunks0/chunk-84 create mode 100644 io/linereader/readerchunks0/chunk-85 create mode 100644 io/linereader/readerchunks0/chunk-86 create mode 100644 io/linereader/readerchunks0/chunk-87 create mode 100644 io/linereader/readerchunks0/chunk-88 create mode 100644 io/linereader/readerchunks0/chunk-89 create mode 100644 io/linereader/readerchunks0/chunk-9 create mode 100644 io/linereader/readerchunks0/chunk-90 create mode 100644 io/linereader/readerchunks0/chunk-91 create mode 100644 io/linereader/readerchunks0/chunk-92 create mode 100644 io/linereader/readerchunks0/chunk-93 create mode 100644 io/linereader/readerchunks0/chunk-94 create mode 100644 io/linereader/readerchunks0/chunk-95 create mode 100644 io/linereader/readerchunks0/chunk-96 create mode 100644 io/linereader/readerchunks0/chunk-97 create mode 100644 io/linereader/readerchunks0/chunk-98 create mode 100644 io/linereader/readerchunks0/chunk-99 create mode 100644 io/readchunkdump/readchunkdump.go create mode 100644 io/readchunkdump/replayer.go diff --git a/io/linereader/linereader.go b/io/linereader/linereader.go index 6de5ea6..801d00d 100644 --- a/io/linereader/linereader.go +++ b/io/linereader/linereader.go @@ -12,6 +12,7 @@ type T struct { readbufbase []byte readbuf []byte blocksize uint + readerErr error } func New(reader io.Reader, blockSize uint) *T { @@ -39,6 +40,12 @@ func (lr *T) Read(dst []byte) (n int, err error) { // ReadExtra reads as much as possible into p, until the next newline or EOF is reached. // Every new call to read starts on a new line. The remainder of the previous line will be discarted. func (lr *T) ReadExtra(dst []byte) (nread int, ndiscarted int, err error) { + + // check if the reader is done + if len(lr.readbuf) == 0 && lr.readerErr != nil { + return 0, 0, lr.readerErr + } + // copy as much of read buffer as possible to dst if len(lr.readbuf) > 0 { // fast path: can we get a new line from the read buffer? @@ -57,11 +64,15 @@ func (lr *T) ReadExtra(dst []byte) (nread int, ndiscarted int, err error) { lr.readbuf = lr.readbuf[n:] dst = dst[n:] + if len(lr.readbuf) == 0 && lr.readerErr != nil { + return nread, 0, nil + } } for i := uint(0); ; i++ { readOffset := lr.blocksize * i - readLimit := armath.Min(readOffset+lr.blocksize, uint(len(dst))) + //readLimit := armath.Min(readOffset+lr.blocksize, uint(len(dst))) + readLimit := armath.Min(lr.blocksize, uint(len(dst))) // dst has been filled and there hasn't been a new line yet if readLimit <= readOffset { @@ -71,19 +82,22 @@ func (lr *T) ReadExtra(dst []byte) (nread int, ndiscarted int, err error) { dstClamp := dst[readOffset:readLimit] var n int - n, err = lr.reader.Read(dstClamp) + n, lr.readerErr = lr.reader.Read(dstClamp) dstClamp = dstClamp[:n] nread += n - if err == io.EOF && n == 0 { - return - } else if err != nil { - return + if nread == 0 && lr.readerErr != nil { + return 0, 0, lr.readerErr } // is there a end of line in this block? eolidx := bytes.IndexByte(dstClamp, '\n') + if lr.readerErr != nil && eolidx == -1 { + lr.readbuf = nil // there is no next read + return nread, 0, nil + } + if eolidx < 0 { continue } diff --git a/io/linereader/linereader_test.go b/io/linereader/linereader_test.go index 080a189..995b26e 100644 --- a/io/linereader/linereader_test.go +++ b/io/linereader/linereader_test.go @@ -3,10 +3,13 @@ package linereader_test import ( "bytes" "io" + "path" + "runtime" "strings" "testing" "github.com/asymmetric-research/go-commons/io/linereader" + "github.com/asymmetric-research/go-commons/io/readchunkdump" "github.com/stretchr/testify/require" gocmd "github.com/go-cmd/cmd" @@ -25,6 +28,9 @@ func TestLineReader(t *testing.T) { for err != io.EOF { n, _, err = r.ReadExtra(linesback[:]) + if n == 0 && err == io.EOF { + continue + } line = linesback[:n] require.Equal(t, expectedLines[0], string(line)) expectedLines = expectedLines[1:] @@ -44,8 +50,14 @@ func TestLinesOfReaderTruncation(t *testing.T) { var err error var n int + var i = 0 for err != io.EOF { + i += 1 n, _, err = r.ReadExtra(linesback[:]) + if n == 0 && err == io.EOF { + break + } + if err != nil { break } @@ -65,6 +77,32 @@ func TestLinesOfReaderTruncation(t *testing.T) { require.Emptyf(t, expectedLines, "should have produced as many lines as expected") } +func TestReplay(t *testing.T) { + _, currentFile, _, _ := runtime.Caller(0) + currentDir := path.Dir(currentFile) + + r, err := readchunkdump.NewReplayer( + path.Join(currentDir, "readerchunks0"), + ) + require.NoError(t, err) + lr := linereader.New(r, 1024*4) // 4K read buffer + backingBuf := [20 * 1024 * 1024]byte{} // 20MB max line + + for i := 0; ; i++ { + n, dis, rerr := lr.ReadExtra(backingBuf[:]) + _ = dis + + rb := backingBuf[:n] + + if bytes.ContainsRune(rb, '\x00') { + t.FailNow() + } + if rerr == io.EOF { + return + } + } +} + // Unbuffered Benchmarks func BenchmarkLineReaderUnbuffered(b *testing.B) { b.RunParallel(func(p *testing.PB) { @@ -132,7 +170,8 @@ func runOurs(t require.TestingT, r io.Reader) { _, _, err = rd.ReadExtra(lineBacking[:]) cnt += 1 } - require.Equal(t, 283, cnt) + cnt -= 1 // account for the last error + require.Equal(t, reportLineCount, cnt) } func runHashicorps(t require.TestingT, r io.Reader) { @@ -492,3 +531,9 @@ func (l *LineByLineReader) Read(dst []byte) (int, error) { return n, nil } + +var reportLineCount int + +func init() { + reportLineCount = strings.Count(report, "\n") + 1 +} diff --git a/io/linereader/readerchunks0/chunk-0 b/io/linereader/readerchunks0/chunk-0 new file mode 100644 index 0000000..98bc933 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-0 @@ -0,0 +1 @@ +Log at "/dev/null" diff --git a/io/linereader/readerchunks0/chunk-1 b/io/linereader/readerchunks0/chunk-1 new file mode 100644 index 0000000..b60068b --- /dev/null +++ b/io/linereader/readerchunks0/chunk-1 @@ -0,0 +1 @@ +INFO: Running with entropic power schedule (0xFF, 100). diff --git a/io/linereader/readerchunks0/chunk-10 b/io/linereader/readerchunks0/chunk-10 new file mode 100644 index 0000000..dabaacf --- /dev/null +++ b/io/linereader/readerchunks0/chunk-10 @@ -0,0 +1 @@ +#262144 pulse cov: 804 ft: 4079 corp: 1265/361Kb lim: 10805 exec/s: 37449 rss: 281Mb diff --git a/io/linereader/readerchunks0/chunk-100 b/io/linereader/readerchunks0/chunk-100 new file mode 100644 index 0000000..e512414 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-100 @@ -0,0 +1 @@ + L: 918/8192 MS: 5 CrossOver-CrossOver-InsertByte-EraseBytes-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-101 b/io/linereader/readerchunks0/chunk-101 new file mode 100644 index 0000000..0ba8617 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-101 @@ -0,0 +1 @@ +#53850203 NEW cov: 828 ft: 4166 corp: 1306/392Kb lim: 20000 exec/s: 63056 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-102 b/io/linereader/readerchunks0/chunk-102 new file mode 100644 index 0000000..034d09e --- /dev/null +++ b/io/linereader/readerchunks0/chunk-102 @@ -0,0 +1 @@ + rss: 492Mb L: 1014/8192 MS: 1 InsertRepeatedBytes- diff --git a/io/linereader/readerchunks0/chunk-103 b/io/linereader/readerchunks0/chunk-103 new file mode 100644 index 0000000..3bb5cd7 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-103 @@ -0,0 +1 @@ +#53916946 NEW cov: 828 ft: 4167 corp: 1307/393Kb lim: 20000 exec/s: 63060 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-104 b/io/linereader/readerchunks0/chunk-104 new file mode 100644 index 0000000..1d8e798 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-104 @@ -0,0 +1 @@ + rss: 493Mb L: 1526/8192 MS: 5 PersAutoDict-ChangeBit-CrossOver-ChangeByte-CopyPart- DE: "nan"- diff --git a/io/linereader/readerchunks0/chunk-105 b/io/linereader/readerchunks0/chunk-105 new file mode 100644 index 0000000..ea1e1d0 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-105 @@ -0,0 +1 @@ +#53979567 NEW cov: 829 ft: 4168 corp: 1308/395Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-106 b/io/linereader/readerchunks0/chunk-106 new file mode 100644 index 0000000..ae161ba --- /dev/null +++ b/io/linereader/readerchunks0/chunk-106 @@ -0,0 +1 @@ + lim: 20000 exec/s: 63060 rss: 495Mb L: 1999/8192 MS: 6 EraseBytes-CMP-ChangeBinInt-CopyPart-ChangeBinInt-ChangeBit- DE: "_-_"- diff --git a/io/linereader/readerchunks0/chunk-107 b/io/linereader/readerchunks0/chunk-107 new file mode 100644 index 0000000..9f667c6 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-107 @@ -0,0 +1 @@ +#54026001 NEW cov: 829 ft: 4170 corp: 1309/397Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-108 b/io/linereader/readerchunks0/chunk-108 new file mode 100644 index 0000000..931af8b --- /dev/null +++ b/io/linereader/readerchunks0/chunk-108 @@ -0,0 +1 @@ + exec/s: 63040 rss: 495Mb L: 1672/8192 MS: 3 ChangeBit-CMP-CopyPart- DE: "\001\000\000\000\000\000\000\000"- diff --git a/io/linereader/readerchunks0/chunk-109 b/io/linereader/readerchunks0/chunk-109 new file mode 100644 index 0000000..172903b --- /dev/null +++ b/io/linereader/readerchunks0/chunk-109 @@ -0,0 +1 @@ +#54319799 NEW cov: 830 ft: 4171 corp: 1310/397Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-11 b/io/linereader/readerchunks0/chunk-11 new file mode 100644 index 0000000..e18d5aa --- /dev/null +++ b/io/linereader/readerchunks0/chunk-11 @@ -0,0 +1 @@ +#524288 pulse cov: 804 ft: 4079 corp: 1265/361Kb lim: 13418 exec/s: 37449 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-110 b/io/linereader/readerchunks0/chunk-110 new file mode 100644 index 0000000..d30e42e --- /dev/null +++ b/io/linereader/readerchunks0/chunk-110 @@ -0,0 +1 @@ + exec/s: 63089 rss: 499Mb L: 76/8192 MS: 1 CrossOver- diff --git a/io/linereader/readerchunks0/chunk-111 b/io/linereader/readerchunks0/chunk-111 new file mode 100644 index 0000000..8aa7316 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-111 @@ -0,0 +1 @@ +#54470066 NEW cov: 830 ft: 4173 corp: 1311/399Kb lim: 20000 exec/s: 63044 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-112 b/io/linereader/readerchunks0/chunk-112 new file mode 100644 index 0000000..69b3e2d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-112 @@ -0,0 +1 @@ + rss: 499Mb L: 1812/8192 MS: 5 PersAutoDict-EraseBytes-CrossOver-ChangeASCIIInt-ShuffleBytes- DE: "nan"- diff --git a/io/linereader/readerchunks0/chunk-113 b/io/linereader/readerchunks0/chunk-113 new file mode 100644 index 0000000..e5495ed --- /dev/null +++ b/io/linereader/readerchunks0/chunk-113 @@ -0,0 +1 @@ +#54740995 NEW cov: 830 ft: 4174 corp: 1312/399Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-114 b/io/linereader/readerchunks0/chunk-114 new file mode 100644 index 0000000..405c1fa --- /dev/null +++ b/io/linereader/readerchunks0/chunk-114 @@ -0,0 +1 @@ + lim: 20000 exec/s: 63065 rss: 499Mb L: 76/8192 MS: 1 CopyPart- diff --git a/io/linereader/readerchunks0/chunk-115 b/io/linereader/readerchunks0/chunk-115 new file mode 100644 index 0000000..7e9b423 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-115 @@ -0,0 +1 @@ +#54764070 NEW cov: 830 ft: 4176 corp: 1313 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-116 b/io/linereader/readerchunks0/chunk-116 new file mode 100644 index 0000000..f25101e --- /dev/null +++ b/io/linereader/readerchunks0/chunk-116 @@ -0,0 +1 @@ +/402Kb lim: 20000 exec/s: 63092 rss: 499Mb L: 3192/8192 MS: 3 ChangeByte-ChangeByte-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-117 b/io/linereader/readerchunks0/chunk-117 new file mode 100644 index 0000000..b5a5ba9 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-117 @@ -0,0 +1 @@ +#55139774 NEW cov: 830 ft: 4177 corp: 1314/404Kb lim: 20000 exec/s: 63161 rss: 505Mb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-118 b/io/linereader/readerchunks0/chunk-118 new file mode 100644 index 0000000..5de4d4c --- /dev/null +++ b/io/linereader/readerchunks0/chunk-118 @@ -0,0 +1 @@ + L: 2361/8192 MS: 7 ChangeByte-ChangeByte-CrossOver-EraseBytes-CMP-InsertByte-CrossOver- DE: "\000\000\000\000"- diff --git a/io/linereader/readerchunks0/chunk-119 b/io/linereader/readerchunks0/chunk-119 new file mode 100644 index 0000000..106cf91 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-119 @@ -0,0 +1 @@ +#55456462 NEW cov: 831 ft: 4178 corp: 1315 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-12 b/io/linereader/readerchunks0/chunk-12 new file mode 100644 index 0000000..c19e09d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-12 @@ -0,0 +1 @@ + rss: 422Mb diff --git a/io/linereader/readerchunks0/chunk-120 b/io/linereader/readerchunks0/chunk-120 new file mode 100644 index 0000000..3d8b943 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-120 @@ -0,0 +1 @@ +/404Kb lim: 20000 exec/s: 63162 rss: 505Mb L: 76/8192 MS: 1 CopyPart- diff --git a/io/linereader/readerchunks0/chunk-121 b/io/linereader/readerchunks0/chunk-121 new file mode 100644 index 0000000..cbbcfb2 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-121 @@ -0,0 +1 @@ +#55889446 NEW cov: 831 ft: 4179 corp: 1316/406Kb lim: 20000 exec/s: 63223 rss: 505Mb L: 1531/8192 MS: 6 PersAutoDict- \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-122 b/io/linereader/readerchunks0/chunk-122 new file mode 100644 index 0000000..5b7c049 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-122 @@ -0,0 +1 @@ +CopyPart-ChangeBit-ChangeBit-PersAutoDict-CopyPart- DE: "08"-"nan"- diff --git a/io/linereader/readerchunks0/chunk-123 b/io/linereader/readerchunks0/chunk-123 new file mode 100644 index 0000000..8272877 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-123 @@ -0,0 +1 @@ +#56800055 NEW cov: 831 ft: 4180 corp: 1317/408Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-124 b/io/linereader/readerchunks0/chunk-124 new file mode 100644 index 0000000..0e98b56 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-124 @@ -0,0 +1 @@ + exec/s: 63322 rss: 505Mb L: 2387/8192 MS: 7 CrossOver-ChangeByte-InsertByte-ChangeASCIIInt-InsertRepeatedBytes-ChangeByte-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-125 b/io/linereader/readerchunks0/chunk-125 new file mode 100644 index 0000000..93ad4f0 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-125 @@ -0,0 +1 @@ +#65251759 NEW cov: 831 ft: 4181 corp: 1318/412Kb lim: 20000 exec/s: 64097 rss: 505Mb L: 4046/8192 MS: 2 EraseBytes-CopyPart- \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-126 b/io/linereader/readerchunks0/chunk-126 new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-126 @@ -0,0 +1 @@ + diff --git a/io/linereader/readerchunks0/chunk-127 b/io/linereader/readerchunks0/chunk-127 new file mode 100644 index 0000000..fec0149 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-127 @@ -0,0 +1 @@ +#67108864 pulse cov: 831 ft: 4181 corp: 1318/412Kb lim: 20000 exec/s: 64219 rss: 507Mb diff --git a/io/linereader/readerchunks0/chunk-128 b/io/linereader/readerchunks0/chunk-128 new file mode 100644 index 0000000..39389f7 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-128 @@ -0,0 +1 @@ +#69873520 NEW cov: 831 ft: 4182 corp: 1319/412Kb lim: 20000 exec/s: 64458 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-129 b/io/linereader/readerchunks0/chunk-129 new file mode 100644 index 0000000..c316ecc --- /dev/null +++ b/io/linereader/readerchunks0/chunk-129 @@ -0,0 +1 @@ + rss: 507Mb L: 241/8192 MS: 4 InsertRepeatedBytes-ChangeBinInt-EraseBytes-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-13 b/io/linereader/readerchunks0/chunk-13 new file mode 100644 index 0000000..e1b8320 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-13 @@ -0,0 +1 @@ +#1048576 pulse cov: 804 ft: 4079 corp: 1265/361Kb lim: 18649 exec/s: 38836 rss: 426Mb diff --git a/io/linereader/readerchunks0/chunk-130 b/io/linereader/readerchunks0/chunk-130 new file mode 100644 index 0000000..a52869f --- /dev/null +++ b/io/linereader/readerchunks0/chunk-130 @@ -0,0 +1 @@ +#71820849 NEW cov: 831 ft: 4183 corp: 1320/413Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-131 b/io/linereader/readerchunks0/chunk-131 new file mode 100644 index 0000000..bf6c771 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-131 @@ -0,0 +1 @@ + lim: 20000 exec/s: 64587 rss: 507Mb L: 306/8192 MS: 6 InsertByte-ChangeByte-CrossOver-ChangeByte-PersAutoDict-CrossOver- DE: "\001\000\000\000\000\000\000\000"- diff --git a/io/linereader/readerchunks0/chunk-132 b/io/linereader/readerchunks0/chunk-132 new file mode 100644 index 0000000..2876b8a --- /dev/null +++ b/io/linereader/readerchunks0/chunk-132 @@ -0,0 +1 @@ +#71882542 NEW cov: 831 ft: 4184 corp: 1321/413Kb lim: 20000 exec/s: 64584 rss: 507Mb L: 308/8192 MS: 2 ChangeByte-PersAutoDict- \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-133 b/io/linereader/readerchunks0/chunk-133 new file mode 100644 index 0000000..6578bb2 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-133 @@ -0,0 +1 @@ + DE: "\022\000"- diff --git a/io/linereader/readerchunks0/chunk-134 b/io/linereader/readerchunks0/chunk-134 new file mode 100644 index 0000000..031f46d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-134 @@ -0,0 +1 @@ +#73789998 NEW cov: 831 ft: 4186 corp: 1322/414Kb lim: 20000 exec/s: 64784 rss: 507Mb L: 727/8192 MS: 5 CopyPart- \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-135 b/io/linereader/readerchunks0/chunk-135 new file mode 100644 index 0000000..99327a3 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-135 @@ -0,0 +1 @@ +ChangeASCIIInt-PersAutoDict-CrossOver-CopyPart- DE: "\377\001"- diff --git a/io/linereader/readerchunks0/chunk-136 b/io/linereader/readerchunks0/chunk-136 new file mode 100644 index 0000000..b7ffddc --- /dev/null +++ b/io/linereader/readerchunks0/chunk-136 @@ -0,0 +1 @@ +#73793605 NEW cov: 831 ft: 4188 corp: 1323/414Kb lim: 20000 exec/s: 64788 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-137 b/io/linereader/readerchunks0/chunk-137 new file mode 100644 index 0000000..ac6fdb0 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-137 @@ -0,0 +1 @@ + rss: 507Mb L: 793/8192 MS: 2 PersAutoDict-InsertRepeatedBytes- DE: "\377\377\377\377\377\377\377\002"- diff --git a/io/linereader/readerchunks0/chunk-138 b/io/linereader/readerchunks0/chunk-138 new file mode 100644 index 0000000..ca2f4e3 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-138 @@ -0,0 +1 @@ +#74130335 NEW cov: 831 ft: 4189 corp: 1324/415Kb lim: 20000 exec/s: 64799 rss: 513Mb L: 793/8192 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-139 b/io/linereader/readerchunks0/chunk-139 new file mode 100644 index 0000000..70e261d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-139 @@ -0,0 +1 @@ +MS: 2 ChangeByte-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-14 b/io/linereader/readerchunks0/chunk-14 new file mode 100644 index 0000000..c24e4af --- /dev/null +++ b/io/linereader/readerchunks0/chunk-14 @@ -0,0 +1 @@ +#2097152 pulse cov: 804 ft: 4079 corp: 1265/361Kb lim: 20000 exec/s: 41120 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-140 b/io/linereader/readerchunks0/chunk-140 new file mode 100644 index 0000000..b94e322 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-140 @@ -0,0 +1 @@ +#74292690 NEW cov: 831 ft: 4190 corp: 1325/417Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-141 b/io/linereader/readerchunks0/chunk-141 new file mode 100644 index 0000000..60898f3 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-141 @@ -0,0 +1 @@ + lim: 20000 exec/s: 64827 rss: 513Mb L: 1952/8192 MS: 4 CrossOver-EraseBytes-CopyPart-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-142 b/io/linereader/readerchunks0/chunk-142 new file mode 100644 index 0000000..14ad6d4 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-142 @@ -0,0 +1 @@ +#74577353 NEW cov: 831 ft: 4193 corp: 1326/418Kb lim: 20000 exec/s: 64849 rss: 513Mb L: 1216/8192 MS: 1 CopyPart- diff --git a/io/linereader/readerchunks0/chunk-143 b/io/linereader/readerchunks0/chunk-143 new file mode 100644 index 0000000..19a9b6f --- /dev/null +++ b/io/linereader/readerchunks0/chunk-143 @@ -0,0 +1 @@ +#74589535 NEW cov: 831 ft: 4197 corp: 1327/420Kb lim: 20000 exec/s: 64860 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-144 b/io/linereader/readerchunks0/chunk-144 new file mode 100644 index 0000000..1eaaa22 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-144 @@ -0,0 +1 @@ + rss: 513Mb L: 1636/8192 MS: 2 ShuffleBytes-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-145 b/io/linereader/readerchunks0/chunk-145 new file mode 100644 index 0000000..32a78e0 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-145 @@ -0,0 +1 @@ +#74680319 NEW cov: 831 ft: 4204 corp: 1328/421Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-146 b/io/linereader/readerchunks0/chunk-146 new file mode 100644 index 0000000..86e1ceb --- /dev/null +++ b/io/linereader/readerchunks0/chunk-146 @@ -0,0 +1 @@ + exec/s: 64826 rss: 513Mb L: 1146/8192 MS: 1 EraseBytes- diff --git a/io/linereader/readerchunks0/chunk-147 b/io/linereader/readerchunks0/chunk-147 new file mode 100644 index 0000000..34c9051 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-147 @@ -0,0 +1 @@ +#76140804 NEW cov: 831 ft: 4205 corp: 1329/421Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-148 b/io/linereader/readerchunks0/chunk-148 new file mode 100644 index 0000000..b35fdfb --- /dev/null +++ b/io/linereader/readerchunks0/chunk-148 @@ -0,0 +1 @@ + exec/s: 64745 rss: 513Mb L: 540/8192 MS: 5 InsertByte-CopyPart-CrossOver-ShuffleBytes-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-149 b/io/linereader/readerchunks0/chunk-149 new file mode 100644 index 0000000..284ca11 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-149 @@ -0,0 +1 @@ +#76251223 NEW cov: 831 ft: 4206 corp: 1330/422Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-15 b/io/linereader/readerchunks0/chunk-15 new file mode 100644 index 0000000..4ff8e7b --- /dev/null +++ b/io/linereader/readerchunks0/chunk-15 @@ -0,0 +1 @@ + rss: 426Mb diff --git a/io/linereader/readerchunks0/chunk-150 b/io/linereader/readerchunks0/chunk-150 new file mode 100644 index 0000000..5b28a1b --- /dev/null +++ b/io/linereader/readerchunks0/chunk-150 @@ -0,0 +1 @@ + lim: 20000 exec/s: 64729 rss: 513Mb L: 540/8192 MS: 1 CopyPart- diff --git a/io/linereader/readerchunks0/chunk-151 b/io/linereader/readerchunks0/chunk-151 new file mode 100644 index 0000000..e1ca761 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-151 @@ -0,0 +1 @@ +#77657429 NEW cov: 831 ft: 4207 corp: 1331/422Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-152 b/io/linereader/readerchunks0/chunk-152 new file mode 100644 index 0000000..d20b6e1 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-152 @@ -0,0 +1 @@ + exec/s: 64660 rss: 513Mb L: 247/8192 MS: 4 CMP-CopyPart-CrossOver-CrossOver- DE: "10"- diff --git a/io/linereader/readerchunks0/chunk-153 b/io/linereader/readerchunks0/chunk-153 new file mode 100644 index 0000000..d372404 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-153 @@ -0,0 +1 @@ +#78120632 NEW cov: 831 ft: 4208 corp: 1332/424Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-154 b/io/linereader/readerchunks0/chunk-154 new file mode 100644 index 0000000..21e4ba6 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-154 @@ -0,0 +1 @@ + lim: 20000 exec/s: 64669 rss: 513Mb L: 1838/8192 MS: 6 InsertRepeatedBytes-ChangeASCIIInt-EraseBytes-ChangeBinInt-ChangeByte-CrossOver- diff --git a/io/linereader/readerchunks0/chunk-155 b/io/linereader/readerchunks0/chunk-155 new file mode 100644 index 0000000..d751822 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-155 @@ -0,0 +1 @@ +#81205030 NEW cov: 831 ft: 4210 corp: 1333/431Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-156 b/io/linereader/readerchunks0/chunk-156 new file mode 100644 index 0000000..36c8bba --- /dev/null +++ b/io/linereader/readerchunks0/chunk-156 @@ -0,0 +1 @@ + lim: 20000 exec/s: 64499 rss: 513Mb L: 7379/8192 MS: 2 EraseBytes-CrossOver- diff --git a/io/linereader/readerchunks0/chunk-157 b/io/linereader/readerchunks0/chunk-157 new file mode 100644 index 0000000..87f959a --- /dev/null +++ b/io/linereader/readerchunks0/chunk-157 @@ -0,0 +1 @@ +#82611010 NEW cov: 831 ft: 4212 corp: 1334/439Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-158 b/io/linereader/readerchunks0/chunk-158 new file mode 100644 index 0000000..f669773 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-158 @@ -0,0 +1 @@ + lim: 20000 exec/s: 64288 rss: 531Mb L: 7734/8192 MS: 2 ChangeASCIIInt-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-159 b/io/linereader/readerchunks0/chunk-159 new file mode 100644 index 0000000..15beb21 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-159 @@ -0,0 +1 @@ +#88652723 NEW cov: 831 ft: 4215 corp: 1335/440Kb lim: 20000 exec/s: 62475 rss: 545Mb L: 1484/8192 MS: 6 EraseBytes-ShuffleBytes-ChangeASCIIInt-CrossOver- \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-16 b/io/linereader/readerchunks0/chunk-16 new file mode 100644 index 0000000..6b763e7 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-16 @@ -0,0 +1 @@ +#4194304 pulse cov: 804 ft: 4079 corp: 1265/361Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-160 b/io/linereader/readerchunks0/chunk-160 new file mode 100644 index 0000000..3d76a4d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-160 @@ -0,0 +1 @@ +ChangeByte-EraseBytes- diff --git a/io/linereader/readerchunks0/chunk-161 b/io/linereader/readerchunks0/chunk-161 new file mode 100644 index 0000000..a1ff2be --- /dev/null +++ b/io/linereader/readerchunks0/chunk-161 @@ -0,0 +1 @@ +#90578412 NEW cov: 831 ft: 4216 corp: 1336/440Kb lim: 20000 exec/s: 61997 rss: 545Mb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-162 b/io/linereader/readerchunks0/chunk-162 new file mode 100644 index 0000000..070a2bc --- /dev/null +++ b/io/linereader/readerchunks0/chunk-162 @@ -0,0 +1 @@ + L: 195/8192 MS: 3 ChangeASCIIInt-PersAutoDict-ChangeByte- DE: "nan"- diff --git a/io/linereader/readerchunks0/chunk-163 b/io/linereader/readerchunks0/chunk-163 new file mode 100644 index 0000000..1face1d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-163 @@ -0,0 +1 @@ +#104901159 NEW cov: 831 ft: 4217 corp: 1337/442Kb lim: 20000 exec/s: 60218 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-164 b/io/linereader/readerchunks0/chunk-164 new file mode 100644 index 0000000..9a52345 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-164 @@ -0,0 +1 @@ + rss: 545Mb L: 1262/8192 MS: 5 ShuffleBytes-ChangeBit-InsertRepeatedBytes-ShuffleBytes-CrossOver- diff --git a/io/linereader/readerchunks0/chunk-165 b/io/linereader/readerchunks0/chunk-165 new file mode 100644 index 0000000..ca47f56 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-165 @@ -0,0 +1 @@ +#110864481 NEW cov: 831 ft: 4219 corp: 1338/442Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-166 b/io/linereader/readerchunks0/chunk-166 new file mode 100644 index 0000000..dc8f867 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-166 @@ -0,0 +1 @@ + lim: 20000 exec/s: 59765 rss: 545Mb L: 276/8192 MS: 1 CrossOver- diff --git a/io/linereader/readerchunks0/chunk-167 b/io/linereader/readerchunks0/chunk-167 new file mode 100644 index 0000000..24ef5c1 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-167 @@ -0,0 +1 @@ +#134217728 pulse cov: 831 ft: 4219 corp: 1338/442Kb lim: 20000 exec/s: 59283 rss: 545Mb diff --git a/io/linereader/readerchunks0/chunk-168 b/io/linereader/readerchunks0/chunk-168 new file mode 100644 index 0000000..81f0d98 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-168 @@ -0,0 +1 @@ +#155165985 NEW cov: 831 ft: 4220 corp: 1339/442Kb lim: 20000 exec/s: 59201 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-169 b/io/linereader/readerchunks0/chunk-169 new file mode 100644 index 0000000..d96e7c8 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-169 @@ -0,0 +1 @@ + rss: 545Mb L: 33/8192 MS: 2 CopyPart-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-17 b/io/linereader/readerchunks0/chunk-17 new file mode 100644 index 0000000..f273a80 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-17 @@ -0,0 +1 @@ + lim: 20000 exec/s: 46091 rss: 426Mb diff --git a/io/linereader/readerchunks0/chunk-18 b/io/linereader/readerchunks0/chunk-18 new file mode 100644 index 0000000..9899e1b --- /dev/null +++ b/io/linereader/readerchunks0/chunk-18 @@ -0,0 +1 @@ +#6763002 NEW cov: 804 ft: 4083 corp: 1266/361Kb lim: 20000 exec/s: 49364 rss: 427Mb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-19 b/io/linereader/readerchunks0/chunk-19 new file mode 100644 index 0000000..c4601cd --- /dev/null +++ b/io/linereader/readerchunks0/chunk-19 @@ -0,0 +1 @@ + L: 253/8192 MS: 4 CMP-ChangeASCIIInt-EraseBytes-CopyPart- DE: "nan"- diff --git a/io/linereader/readerchunks0/chunk-2 b/io/linereader/readerchunks0/chunk-2 new file mode 100644 index 0000000..e41506d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-2 @@ -0,0 +1 @@ +INFO: Seed: 2758186962 diff --git a/io/linereader/readerchunks0/chunk-20 b/io/linereader/readerchunks0/chunk-20 new file mode 100644 index 0000000..e9434ee --- /dev/null +++ b/io/linereader/readerchunks0/chunk-20 @@ -0,0 +1 @@ +#6764382 NEW cov: 804 ft: 4084 corp: 1267/361Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-21 b/io/linereader/readerchunks0/chunk-21 new file mode 100644 index 0000000..9526a0f --- /dev/null +++ b/io/linereader/readerchunks0/chunk-21 @@ -0,0 +1 @@ + lim: 20000 exec/s: 49375 rss: 427Mb L: 302/8192 MS: 1 CopyPart- diff --git a/io/linereader/readerchunks0/chunk-22 b/io/linereader/readerchunks0/chunk-22 new file mode 100644 index 0000000..04e3b93 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-22 @@ -0,0 +1 @@ +#8388608 pulse cov: 804 ft: 4084 corp: 1267/361Kb lim: 20000 exec/s: 52758 rss: 437Mb diff --git a/io/linereader/readerchunks0/chunk-23 b/io/linereader/readerchunks0/chunk-23 new file mode 100644 index 0000000..2809ce9 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-23 @@ -0,0 +1 @@ +#13599446 NEW cov: 804 ft: 4085 corp: 1268/362Kb lim: 20000 exec/s: 58618 rss: 437Mb L: 209/8192 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-24 b/io/linereader/readerchunks0/chunk-24 new file mode 100644 index 0000000..2af74e4 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-24 @@ -0,0 +1 @@ +MS: 5 EraseBytes-EraseBytes-ShuffleBytes-CopyPart-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-25 b/io/linereader/readerchunks0/chunk-25 new file mode 100644 index 0000000..dff9055 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-25 @@ -0,0 +1 @@ +#13612484 NEW cov: 804 ft: 4087 corp: 1269/362Kb lim: 20000 exec/s: 58422 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-26 b/io/linereader/readerchunks0/chunk-26 new file mode 100644 index 0000000..7ee63c6 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-26 @@ -0,0 +1 @@ + rss: 437Mb L: 309/8192 MS: 4 ShuffleBytes-ChangeASCIIInt-CrossOver-InsertByte- diff --git a/io/linereader/readerchunks0/chunk-27 b/io/linereader/readerchunks0/chunk-27 new file mode 100644 index 0000000..679fd32 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-27 @@ -0,0 +1 @@ +#16777216 pulse cov: 804 ft: 4087 corp: 1269/362Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-28 b/io/linereader/readerchunks0/chunk-28 new file mode 100644 index 0000000..c316603 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-28 @@ -0,0 +1 @@ + lim: 20000 exec/s: 60349 rss: 439Mb diff --git a/io/linereader/readerchunks0/chunk-29 b/io/linereader/readerchunks0/chunk-29 new file mode 100644 index 0000000..3bf1e99 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-29 @@ -0,0 +1 @@ +#17322669 NEW cov: 804 ft: 4088 corp: 1270/362Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-3 b/io/linereader/readerchunks0/chunk-3 new file mode 100644 index 0000000..141e6cd --- /dev/null +++ b/io/linereader/readerchunks0/chunk-3 @@ -0,0 +1,2 @@ +INFO: Loaded 1 modules (2703 inline 8-bit counters): 2703 [0x65156c3e9dc0, 0x65156c3ea84f), +INFO: Loaded 1 PC tables (2703 PCs): 2703 [0x65156c3ea850,0x65156c3f5140), diff --git a/io/linereader/readerchunks0/chunk-30 b/io/linereader/readerchunks0/chunk-30 new file mode 100644 index 0000000..941d57e --- /dev/null +++ b/io/linereader/readerchunks0/chunk-30 @@ -0,0 +1 @@ + lim: 20000 exec/s: 60568 rss: 439Mb L: 322/8192 MS: 3 ShuffleBytes-ChangeBit-CrossOver- diff --git a/io/linereader/readerchunks0/chunk-31 b/io/linereader/readerchunks0/chunk-31 new file mode 100644 index 0000000..54f2b75 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-31 @@ -0,0 +1 @@ +#29219144 NEW cov: 804 ft: 4089 corp: 1271 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-32 b/io/linereader/readerchunks0/chunk-32 new file mode 100644 index 0000000..c364807 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-32 @@ -0,0 +1 @@ +/363Kb lim: 20000 exec/s: 62836 rss: 446Mb L: 328/8192 MS: 3 CrossOver-ChangeBit-CrossOver- diff --git a/io/linereader/readerchunks0/chunk-33 b/io/linereader/readerchunks0/chunk-33 new file mode 100644 index 0000000..bd82eb6 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-33 @@ -0,0 +1 @@ +#30621945 NEW cov: 804 ft: 4090 corp: 1272/363Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-34 b/io/linereader/readerchunks0/chunk-34 new file mode 100644 index 0000000..28e5898 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-34 @@ -0,0 +1 @@ + lim: 20000 exec/s: 62878 rss: 447Mb L: 409/8192 MS: 1 CopyPart- diff --git a/io/linereader/readerchunks0/chunk-35 b/io/linereader/readerchunks0/chunk-35 new file mode 100644 index 0000000..9276801 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-35 @@ -0,0 +1 @@ +#30626074 NEW cov: 804 ft: 4091 corp: 1273/363Kb lim: 20000 exec/s: 62887 rss: 447Mb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-36 b/io/linereader/readerchunks0/chunk-36 new file mode 100644 index 0000000..baa9620 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-36 @@ -0,0 +1 @@ + L: 410/8192 MS: 6 ShuffleBytes-ChangeByte-ChangeBit-CopyPart-InsertByte-ChangeBit- diff --git a/io/linereader/readerchunks0/chunk-37 b/io/linereader/readerchunks0/chunk-37 new file mode 100644 index 0000000..f4e40ac --- /dev/null +++ b/io/linereader/readerchunks0/chunk-37 @@ -0,0 +1 @@ +#33554432 pulse cov: 804 ft: 4091 corp: 1273/363Kb lim: 20000 exec/s: 63072 rss: 448Mb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-38 b/io/linereader/readerchunks0/chunk-38 new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-38 @@ -0,0 +1 @@ + diff --git a/io/linereader/readerchunks0/chunk-39 b/io/linereader/readerchunks0/chunk-39 new file mode 100644 index 0000000..01f809f --- /dev/null +++ b/io/linereader/readerchunks0/chunk-39 @@ -0,0 +1 @@ +#43538368 NEW cov: 809 ft: 4096 corp: 1274/364Kb lim: 20000 exec/s: 63190 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-4 b/io/linereader/readerchunks0/chunk-4 new file mode 100644 index 0000000..5013954 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-4 @@ -0,0 +1 @@ +INFO: 1627 files found in /tmp/fuzzcorp/libFuzzer/fuzz_toml_haswell-tgt_rvfruw8lvGRsA0i-6TUbRw/seeds/fuzz_toml_haswell diff --git a/io/linereader/readerchunks0/chunk-40 b/io/linereader/readerchunks0/chunk-40 new file mode 100644 index 0000000..f9d9c85 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-40 @@ -0,0 +1 @@ + rss: 453Mb L: 552/8192 MS: 3 ChangeBit-ChangeBinInt-CrossOver- diff --git a/io/linereader/readerchunks0/chunk-41 b/io/linereader/readerchunks0/chunk-41 new file mode 100644 index 0000000..a48c469 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-41 @@ -0,0 +1 @@ +#43670617 NEW cov: 813 ft: 4100 corp: 1275/364Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-42 b/io/linereader/readerchunks0/chunk-42 new file mode 100644 index 0000000..0534771 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-42 @@ -0,0 +1 @@ + lim: 20000 exec/s: 63199 rss: 453Mb L: 397/8192 MS: 5 ChangeByte-InsertRepeatedBytes-ShuffleBytes-EraseBytes-CMP- DE: "true"- diff --git a/io/linereader/readerchunks0/chunk-43 b/io/linereader/readerchunks0/chunk-43 new file mode 100644 index 0000000..ce48c1f --- /dev/null +++ b/io/linereader/readerchunks0/chunk-43 @@ -0,0 +1 @@ +#44177581 NEW cov: 815 ft: 4102 corp: 1276/365Kb lim: 20000 exec/s: 63201 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-44 b/io/linereader/readerchunks0/chunk-44 new file mode 100644 index 0000000..7026b99 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-44 @@ -0,0 +1 @@ + rss: 453Mb L: 553/8192 MS: 3 InsertByte-ShuffleBytes-ChangeByte- diff --git a/io/linereader/readerchunks0/chunk-45 b/io/linereader/readerchunks0/chunk-45 new file mode 100644 index 0000000..fbc3e98 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-45 @@ -0,0 +1 @@ +#44264744 NEW cov: 817 ft: 4104 corp: 1277/365Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-46 b/io/linereader/readerchunks0/chunk-46 new file mode 100644 index 0000000..697e8a4 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-46 @@ -0,0 +1 @@ + exec/s: 63145 rss: 453Mb L: 501/8192 MS: 6 ChangeByte-CrossOver-PersAutoDict-ChangeBinInt-ChangeBinInt-EraseBytes- DE: "nan"- diff --git a/io/linereader/readerchunks0/chunk-47 b/io/linereader/readerchunks0/chunk-47 new file mode 100644 index 0000000..ba28d9d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-47 @@ -0,0 +1 @@ +#44672761 NEW cov: 817 ft: 4111 corp: 1278/366Kb lim: 20000 exec/s: 63275 rss: 459Mb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-48 b/io/linereader/readerchunks0/chunk-48 new file mode 100644 index 0000000..b28e63a --- /dev/null +++ b/io/linereader/readerchunks0/chunk-48 @@ -0,0 +1 @@ + L: 397/8192 MS: 1 CopyPart- diff --git a/io/linereader/readerchunks0/chunk-49 b/io/linereader/readerchunks0/chunk-49 new file mode 100644 index 0000000..c316e8e --- /dev/null +++ b/io/linereader/readerchunks0/chunk-49 @@ -0,0 +1 @@ +#46472212 NEW cov: 817 ft: 4113 corp: 1279/366Kb lim: 20000 exec/s: 63573 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-5 b/io/linereader/readerchunks0/chunk-5 new file mode 100644 index 0000000..3b7fbcd --- /dev/null +++ b/io/linereader/readerchunks0/chunk-5 @@ -0,0 +1 @@ +INFO: seed corpus: files: 1627 min: 1b max: 14909b total: 633236b rss: 48Mb diff --git a/io/linereader/readerchunks0/chunk-50 b/io/linereader/readerchunks0/chunk-50 new file mode 100644 index 0000000..1cbdf36 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-50 @@ -0,0 +1 @@ + rss: 460Mb L: 706/8192 MS: 3 ChangeBinInt-EraseBytes-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-51 b/io/linereader/readerchunks0/chunk-51 new file mode 100644 index 0000000..0d25892 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-51 @@ -0,0 +1 @@ +#46839598 NEW cov: 817 ft: 4120 corp: 1280/367Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-52 b/io/linereader/readerchunks0/chunk-52 new file mode 100644 index 0000000..35963f6 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-52 @@ -0,0 +1 @@ + exec/s: 63640 rss: 460Mb L: 386/8192 MS: 5 CMP-PersAutoDict-ChangeByte-EraseBytes-CopyPart- DE: "\377\377\377\377\377\377\377\002"-"nan"- diff --git a/io/linereader/readerchunks0/chunk-53 b/io/linereader/readerchunks0/chunk-53 new file mode 100644 index 0000000..f52cd22 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-53 @@ -0,0 +1 @@ +#47466675 NEW cov: 817 ft: 4126 corp: 1281/367Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-54 b/io/linereader/readerchunks0/chunk-54 new file mode 100644 index 0000000..0c15baa --- /dev/null +++ b/io/linereader/readerchunks0/chunk-54 @@ -0,0 +1 @@ + exec/s: 63799 rss: 460Mb L: 254/8192 MS: 3 PersAutoDict-CopyPart-EraseBytes- DE: "true"- diff --git a/io/linereader/readerchunks0/chunk-55 b/io/linereader/readerchunks0/chunk-55 new file mode 100644 index 0000000..9013833 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-55 @@ -0,0 +1 @@ +#47507843 NEW cov: 817 ft: 4127 corp: 1282/367Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-56 b/io/linereader/readerchunks0/chunk-56 new file mode 100644 index 0000000..01b0893 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-56 @@ -0,0 +1 @@ + lim: 20000 exec/s: 63768 rss: 460Mb L: 500/8192 MS: 1 CopyPart- diff --git a/io/linereader/readerchunks0/chunk-57 b/io/linereader/readerchunks0/chunk-57 new file mode 100644 index 0000000..5232fe4 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-57 @@ -0,0 +1 @@ +#47595406 NEW cov: 817 ft: 4129 corp: 1283/368Kb lim: 20000 exec/s: 63800 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-58 b/io/linereader/readerchunks0/chunk-58 new file mode 100644 index 0000000..207b172 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-58 @@ -0,0 +1 @@ + rss: 460Mb L: 688/8192 MS: 7 CopyPart-CMP-EraseBytes-ChangeASCIIInt-CrossOver-ChangeBit-ShuffleBytes- DE: "08"- diff --git a/io/linereader/readerchunks0/chunk-59 b/io/linereader/readerchunks0/chunk-59 new file mode 100644 index 0000000..79e101b --- /dev/null +++ b/io/linereader/readerchunks0/chunk-59 @@ -0,0 +1 @@ +#47595587 NEW cov: 817 ft: 4131 corp: 1284/369Kb lim: 20000 exec/s: 63801 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-6 b/io/linereader/readerchunks0/chunk-6 new file mode 100644 index 0000000..1282ea2 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-6 @@ -0,0 +1 @@ +#1628 INITED cov: 804 ft: 4079 corp: 1265/361Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-60 b/io/linereader/readerchunks0/chunk-60 new file mode 100644 index 0000000..e2971ef --- /dev/null +++ b/io/linereader/readerchunks0/chunk-60 @@ -0,0 +1 @@ + rss: 460Mb L: 548/8192 MS: 6 CrossOver-ChangeBinInt-ChangeBinInt-InsertByte-EraseBytes-CMP- DE: "77"- diff --git a/io/linereader/readerchunks0/chunk-61 b/io/linereader/readerchunks0/chunk-61 new file mode 100644 index 0000000..7294d12 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-61 @@ -0,0 +1 @@ +#47600783 NEW cov: 817 ft: 4133 corp: 1285/369Kb lim: 20000 exec/s: 63808 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-62 b/io/linereader/readerchunks0/chunk-62 new file mode 100644 index 0000000..4af3e5d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-62 @@ -0,0 +1 @@ + rss: 460Mb L: 548/8192 MS: 2 CMP-ShuffleBytes- DE: "\022\000"- diff --git a/io/linereader/readerchunks0/chunk-63 b/io/linereader/readerchunks0/chunk-63 new file mode 100644 index 0000000..6388627 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-63 @@ -0,0 +1 @@ +#47883431 NEW cov: 817 ft: 4135 corp: 1286/370Kb lim: 20000 exec/s: 63759 rss: 463Mb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-64 b/io/linereader/readerchunks0/chunk-64 new file mode 100644 index 0000000..f10c1a9 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-64 @@ -0,0 +1 @@ + L: 593/8192 MS: 2 ChangeASCIIInt-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-65 b/io/linereader/readerchunks0/chunk-65 new file mode 100644 index 0000000..ea17e4d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-65 @@ -0,0 +1 @@ +#47992640 NEW cov: 817 ft: 4136 corp: 1287/371Kb lim: 20000 exec/s: 63735 rss: 463Mb L: 828/8192 MS: 2 InsertByte-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-66 b/io/linereader/readerchunks0/chunk-66 new file mode 100644 index 0000000..f909d7d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-66 @@ -0,0 +1 @@ +#48860737 NEW cov: 819 ft: 4138 corp: 1288/371Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-67 b/io/linereader/readerchunks0/chunk-67 new file mode 100644 index 0000000..c36905d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-67 @@ -0,0 +1 @@ + exec/s: 63620 rss: 472Mb L: 939/8192 MS: 6 InsertByte-ChangeBit-ChangeBinInt-InsertRepeatedBytes-ChangeBit-CrossOver- diff --git a/io/linereader/readerchunks0/chunk-68 b/io/linereader/readerchunks0/chunk-68 new file mode 100644 index 0000000..b113cda --- /dev/null +++ b/io/linereader/readerchunks0/chunk-68 @@ -0,0 +1 @@ +#48900596 NEW cov: 819 ft: 4139 corp: 1289/372Kb lim: 20000 exec/s: 63589 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-69 b/io/linereader/readerchunks0/chunk-69 new file mode 100644 index 0000000..b77ddbe --- /dev/null +++ b/io/linereader/readerchunks0/chunk-69 @@ -0,0 +1 @@ + rss: 472Mb L: 1012/8192 MS: 1 InsertRepeatedBytes- diff --git a/io/linereader/readerchunks0/chunk-7 b/io/linereader/readerchunks0/chunk-7 new file mode 100644 index 0000000..9a2d612 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-7 @@ -0,0 +1 @@ + exec/s: 0 rss: 74Mb diff --git a/io/linereader/readerchunks0/chunk-70 b/io/linereader/readerchunks0/chunk-70 new file mode 100644 index 0000000..3568f2c --- /dev/null +++ b/io/linereader/readerchunks0/chunk-70 @@ -0,0 +1 @@ +#49045093 NEW cov: 819 ft: 4141 corp: 1290/374Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-71 b/io/linereader/readerchunks0/chunk-71 new file mode 100644 index 0000000..5fa8458 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-71 @@ -0,0 +1 @@ + exec/s: 63612 rss: 475Mb L: 1627/8192 MS: 3 InsertByte-ChangeByte-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-72 b/io/linereader/readerchunks0/chunk-72 new file mode 100644 index 0000000..90e951f --- /dev/null +++ b/io/linereader/readerchunks0/chunk-72 @@ -0,0 +1 @@ +#49120676 NEW cov: 819 ft: 4142 corp: 1291/375Kb lim: 20000 exec/s: 63545 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-73 b/io/linereader/readerchunks0/chunk-73 new file mode 100644 index 0000000..893ca68 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-73 @@ -0,0 +1 @@ + rss: 475Mb L: 823/8192 MS: 4 PersAutoDict-ChangeByte-EraseBytes-ChangeBit- DE: "77"- diff --git a/io/linereader/readerchunks0/chunk-74 b/io/linereader/readerchunks0/chunk-74 new file mode 100644 index 0000000..7970b37 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-74 @@ -0,0 +1 @@ +#49628598 NEW cov: 821 ft: 4144 corp: 1292/376Kb lim: 20000 exec/s: 63463 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-75 b/io/linereader/readerchunks0/chunk-75 new file mode 100644 index 0000000..970214c --- /dev/null +++ b/io/linereader/readerchunks0/chunk-75 @@ -0,0 +1 @@ + rss: 479Mb L: 1627/8192 MS: 2 ShuffleBytes-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-76 b/io/linereader/readerchunks0/chunk-76 new file mode 100644 index 0000000..cc73e2b --- /dev/null +++ b/io/linereader/readerchunks0/chunk-76 @@ -0,0 +1 @@ +#49823788 NEW cov: 821 ft: 4148 corp: 1293/377Kb lim: 20000 exec/s: 63469 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-77 b/io/linereader/readerchunks0/chunk-77 new file mode 100644 index 0000000..d2dd51c --- /dev/null +++ b/io/linereader/readerchunks0/chunk-77 @@ -0,0 +1 @@ + rss: 479Mb L: 348/8192 MS: 2 ShuffleBytes-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-78 b/io/linereader/readerchunks0/chunk-78 new file mode 100644 index 0000000..d069d46 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-78 @@ -0,0 +1 @@ +#51543833 NEW cov: 822 ft: 4149 corp: 1294/378Kb lim: 20000 exec/s: 63243 rss: 481Mb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-79 b/io/linereader/readerchunks0/chunk-79 new file mode 100644 index 0000000..834dd1e --- /dev/null +++ b/io/linereader/readerchunks0/chunk-79 @@ -0,0 +1 @@ + L: 1040/8192 MS: 5 PersAutoDict-ChangeBit-ChangeByte-EraseBytes-ChangeByte- DE: "08"- diff --git a/io/linereader/readerchunks0/chunk-8 b/io/linereader/readerchunks0/chunk-8 new file mode 100644 index 0000000..340e3f3 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-8 @@ -0,0 +1 @@ +#131072 pulse cov: 804 ft: 4079 corp: 1265/361Kb lim: 9492 exec/s: 43690 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-80 b/io/linereader/readerchunks0/chunk-80 new file mode 100644 index 0000000..d926af1 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-80 @@ -0,0 +1 @@ +#51856072 NEW cov: 823 ft: 4150 corp: 1295/379Kb lim: 20000 exec/s: 63239 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-81 b/io/linereader/readerchunks0/chunk-81 new file mode 100644 index 0000000..84205c0 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-81 @@ -0,0 +1 @@ + rss: 481Mb L: 1657/8192 MS: 4 InsertRepeatedBytes-ShuffleBytes-CrossOver-ChangeByte- diff --git a/io/linereader/readerchunks0/chunk-82 b/io/linereader/readerchunks0/chunk-82 new file mode 100644 index 0000000..9c0828c --- /dev/null +++ b/io/linereader/readerchunks0/chunk-82 @@ -0,0 +1 @@ +#51870020 NEW cov: 823 ft: 4151 corp: 1296/381Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-83 b/io/linereader/readerchunks0/chunk-83 new file mode 100644 index 0000000..cab2faa --- /dev/null +++ b/io/linereader/readerchunks0/chunk-83 @@ -0,0 +1 @@ + exec/s: 63179 rss: 481Mb L: 1766/8192 MS: 4 ChangeBinInt-CopyPart-PersAutoDict-CopyPart- DE: "\022\000"- diff --git a/io/linereader/readerchunks0/chunk-84 b/io/linereader/readerchunks0/chunk-84 new file mode 100644 index 0000000..7379585 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-84 @@ -0,0 +1 @@ +#53129223 NEW cov: 823 ft: 4153 corp: 1297/382Kb lim: 20000 exec/s: 63098 rss: 484Mb L: 1040/8192 MS: 1 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-85 b/io/linereader/readerchunks0/chunk-85 new file mode 100644 index 0000000..af5fcaa --- /dev/null +++ b/io/linereader/readerchunks0/chunk-85 @@ -0,0 +1 @@ +CopyPart- diff --git a/io/linereader/readerchunks0/chunk-86 b/io/linereader/readerchunks0/chunk-86 new file mode 100644 index 0000000..f9425bf --- /dev/null +++ b/io/linereader/readerchunks0/chunk-86 @@ -0,0 +1 @@ +#53270555 NEW cov: 825 ft: 4155 corp: 1298/382Kb lim: 20000 exec/s: 63042 rss: 484Mb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-87 b/io/linereader/readerchunks0/chunk-87 new file mode 100644 index 0000000..7140fd8 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-87 @@ -0,0 +1 @@ + L: 196/8192 MS: 2 ChangeBinInt-EraseBytes- diff --git a/io/linereader/readerchunks0/chunk-88 b/io/linereader/readerchunks0/chunk-88 new file mode 100644 index 0000000..141e1df --- /dev/null +++ b/io/linereader/readerchunks0/chunk-88 @@ -0,0 +1 @@ +#53272012 NEW cov: 825 ft: 4158 corp: 1299/383Kb lim: 20000 exec/s: 63043 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-89 b/io/linereader/readerchunks0/chunk-89 new file mode 100644 index 0000000..04fb0d4 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-89 @@ -0,0 +1 @@ + rss: 484Mb L: 1040/8192 MS: 1 CrossOver- diff --git a/io/linereader/readerchunks0/chunk-9 b/io/linereader/readerchunks0/chunk-9 new file mode 100644 index 0000000..f048820 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-9 @@ -0,0 +1 @@ + rss: 181Mb diff --git a/io/linereader/readerchunks0/chunk-90 b/io/linereader/readerchunks0/chunk-90 new file mode 100644 index 0000000..98ac2f1 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-90 @@ -0,0 +1 @@ +#53379521 NEW cov: 825 ft: 4159 corp: 1300/385Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-91 b/io/linereader/readerchunks0/chunk-91 new file mode 100644 index 0000000..050768d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-91 @@ -0,0 +1 @@ + lim: 20000 exec/s: 63021 rss: 484Mb L: 1910/8192 MS: 3 InsertByte-ChangeASCIIInt-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-92 b/io/linereader/readerchunks0/chunk-92 new file mode 100644 index 0000000..5679ca1 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-92 @@ -0,0 +1 @@ +#53406041 NEW cov: 826 ft: 4160 corp: 1301/386Kb lim: 20000 \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-93 b/io/linereader/readerchunks0/chunk-93 new file mode 100644 index 0000000..59c8b47 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-93 @@ -0,0 +1 @@ + exec/s: 63053 rss: 484Mb L: 1042/8192 MS: 4 CMP-ChangeBit-CrossOver-CrossOver- DE: "\377\001"- diff --git a/io/linereader/readerchunks0/chunk-94 b/io/linereader/readerchunks0/chunk-94 new file mode 100644 index 0000000..506838c --- /dev/null +++ b/io/linereader/readerchunks0/chunk-94 @@ -0,0 +1 @@ +#53418848 NEW cov: 826 ft: 4162 corp: 1302/388Kb \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-95 b/io/linereader/readerchunks0/chunk-95 new file mode 100644 index 0000000..a7ed837 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-95 @@ -0,0 +1 @@ + lim: 20000 exec/s: 63068 rss: 484Mb L: 1672/8192 MS: 4 CopyPart-ChangeASCIIInt-ChangeASCIIInt-CopyPart- diff --git a/io/linereader/readerchunks0/chunk-96 b/io/linereader/readerchunks0/chunk-96 new file mode 100644 index 0000000..69a55e3 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-96 @@ -0,0 +1 @@ +#53650252 NEW cov: 827 ft: 4163 corp: 1303/389Kb lim: 20000 exec/s: 63043 rss: 492Mb L: 1052/8192 MS: 5 ChangeBinInt- \ No newline at end of file diff --git a/io/linereader/readerchunks0/chunk-97 b/io/linereader/readerchunks0/chunk-97 new file mode 100644 index 0000000..508f9ac --- /dev/null +++ b/io/linereader/readerchunks0/chunk-97 @@ -0,0 +1 @@ +ShuffleBytes-PersAutoDict-CMP-ChangeBit- DE: "\377\377\377\377\377\377\377\002"-"\377\023"- diff --git a/io/linereader/readerchunks0/chunk-98 b/io/linereader/readerchunks0/chunk-98 new file mode 100644 index 0000000..11e8d07 --- /dev/null +++ b/io/linereader/readerchunks0/chunk-98 @@ -0,0 +1 @@ +#53738204 NEW cov: 828 ft: 4164 corp: 1304/390Kb lim: 20000 exec/s: 63073 rss: 492Mb L: 940/8192 MS: 4 EraseBytes-CrossOver-CopyPart-EraseBytes- diff --git a/io/linereader/readerchunks0/chunk-99 b/io/linereader/readerchunks0/chunk-99 new file mode 100644 index 0000000..a88ea7d --- /dev/null +++ b/io/linereader/readerchunks0/chunk-99 @@ -0,0 +1 @@ +#53749955 NEW cov: 828 ft: 4165 corp: 1305/391Kb lim: 20000 exec/s: 63086 rss: 492Mb \ No newline at end of file diff --git a/io/readchunkdump/readchunkdump.go b/io/readchunkdump/readchunkdump.go new file mode 100644 index 0000000..f3f712e --- /dev/null +++ b/io/readchunkdump/readchunkdump.go @@ -0,0 +1,41 @@ +package readchunkdump + +import ( + "fmt" + "io" + "os" + "path" +) + +type T struct { + r io.Reader + chunksdir string + cnt int +} + +func New(r io.Reader, chunksdir string) *T { + t := &T{ + r: r, + chunksdir: chunksdir, + } + + return t +} + +func (t *T) Read(in []byte) (n int, err error) { + n, err = t.r.Read(in) + + werr := os.WriteFile( + path.Join(t.chunksdir, fmt.Sprintf("chunk-%d", t.cnt)), + in[:n], + 0o666, + ) + + if werr != nil { + panic(werr) + } + + t.cnt++ + + return +} diff --git a/io/readchunkdump/replayer.go b/io/readchunkdump/replayer.go new file mode 100644 index 0000000..7f4b177 --- /dev/null +++ b/io/readchunkdump/replayer.go @@ -0,0 +1,48 @@ +package readchunkdump + +import ( + "fmt" + "io" + "os" + "path" +) + +type Replayer struct { + chunksdir string + nbChunks int + idx int +} + +func NewReplayer(chunksdir string) (*Replayer, error) { + chunks, err := os.ReadDir(chunksdir) + if err != nil { + return nil, err + } + + return &Replayer{ + chunksdir: chunksdir, + nbChunks: len(chunks), + }, nil +} + +func (r *Replayer) Read(dst []byte) (n int, err error) { + if r.idx >= r.nbChunks { + err = io.EOF + return + } + + var data []byte + data, err = os.ReadFile( + path.Join(r.chunksdir, fmt.Sprintf("chunk-%d", r.idx)), + ) + n = len(data) + + if err != nil { + return + } + + copy(dst, data) + + r.idx++ + return +}