From 1ec88deea93047a9d1a366e032b2a54aa3cd362b Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 2 Nov 2021 08:11:40 +0200 Subject: Bugfix: Dealing correctly with files without newline characters, also add more tests --- integrationtests/dcat.txt | 500 ------------------------------- integrationtests/dcat1a.txt | 500 +++++++++++++++++++++++++++++++ integrationtests/dcat1b.txt | 4 + integrationtests/dcat1c.txt | 10 + integrationtests/dcat1d.txt | 1 + integrationtests/dcat_test.go | 55 ++-- internal/clients/handlers/basehandler.go | 10 +- internal/color/paint.go | 18 +- internal/io/dlog/dlog.go | 4 +- internal/io/dlog/loggers/file.go | 15 +- internal/io/dlog/loggers/fout.go | 10 + internal/io/dlog/loggers/logger.go | 2 + internal/io/dlog/loggers/none.go | 18 +- internal/io/dlog/loggers/stdout.go | 20 +- internal/io/fs/readfile.go | 13 +- internal/protocol/protocol.go | 2 +- internal/server/handlers/basehandler.go | 2 +- internal/server/server.go | 2 +- internal/version/version.go | 2 +- 19 files changed, 627 insertions(+), 561 deletions(-) delete mode 100644 integrationtests/dcat.txt create mode 100644 integrationtests/dcat1a.txt create mode 100644 integrationtests/dcat1b.txt create mode 100644 integrationtests/dcat1c.txt create mode 100644 integrationtests/dcat1d.txt diff --git a/integrationtests/dcat.txt b/integrationtests/dcat.txt deleted file mode 100644 index 9e80424..0000000 --- a/integrationtests/dcat.txt +++ /dev/null @@ -1,500 +0,0 @@ -1 Sat 2 Oct 13:46:45 EEST 2021 -2 Sat 2 Oct 13:46:45 EEST 2021 -3 Sat 2 Oct 13:46:45 EEST 2021 -4 Sat 2 Oct 13:46:45 EEST 2021 -5 Sat 2 Oct 13:46:45 EEST 2021 -6 Sat 2 Oct 13:46:45 EEST 2021 -7 Sat 2 Oct 13:46:45 EEST 2021 -8 Sat 2 Oct 13:46:45 EEST 2021 -9 Sat 2 Oct 13:46:45 EEST 2021 -10 Sat 2 Oct 13:46:45 EEST 2021 -11 Sat 2 Oct 13:46:45 EEST 2021 -12 Sat 2 Oct 13:46:45 EEST 2021 -13 Sat 2 Oct 13:46:45 EEST 2021 -14 Sat 2 Oct 13:46:45 EEST 2021 -15 Sat 2 Oct 13:46:45 EEST 2021 -16 Sat 2 Oct 13:46:45 EEST 2021 -17 Sat 2 Oct 13:46:45 EEST 2021 -18 Sat 2 Oct 13:46:45 EEST 2021 -19 Sat 2 Oct 13:46:45 EEST 2021 -20 Sat 2 Oct 13:46:45 EEST 2021 -21 Sat 2 Oct 13:46:45 EEST 2021 -22 Sat 2 Oct 13:46:45 EEST 2021 -23 Sat 2 Oct 13:46:45 EEST 2021 -24 Sat 2 Oct 13:46:45 EEST 2021 -25 Sat 2 Oct 13:46:45 EEST 2021 -26 Sat 2 Oct 13:46:45 EEST 2021 -27 Sat 2 Oct 13:46:45 EEST 2021 -28 Sat 2 Oct 13:46:45 EEST 2021 -29 Sat 2 Oct 13:46:45 EEST 2021 -30 Sat 2 Oct 13:46:45 EEST 2021 -31 Sat 2 Oct 13:46:45 EEST 2021 -32 Sat 2 Oct 13:46:45 EEST 2021 -33 Sat 2 Oct 13:46:45 EEST 2021 -34 Sat 2 Oct 13:46:45 EEST 2021 -35 Sat 2 Oct 13:46:45 EEST 2021 -36 Sat 2 Oct 13:46:45 EEST 2021 -37 Sat 2 Oct 13:46:45 EEST 2021 -38 Sat 2 Oct 13:46:45 EEST 2021 -39 Sat 2 Oct 13:46:45 EEST 2021 -40 Sat 2 Oct 13:46:45 EEST 2021 -41 Sat 2 Oct 13:46:45 EEST 2021 -42 Sat 2 Oct 13:46:45 EEST 2021 -43 Sat 2 Oct 13:46:45 EEST 2021 -44 Sat 2 Oct 13:46:45 EEST 2021 -45 Sat 2 Oct 13:46:45 EEST 2021 -46 Sat 2 Oct 13:46:45 EEST 2021 -47 Sat 2 Oct 13:46:45 EEST 2021 -48 Sat 2 Oct 13:46:45 EEST 2021 -49 Sat 2 Oct 13:46:45 EEST 2021 -50 Sat 2 Oct 13:46:45 EEST 2021 -51 Sat 2 Oct 13:46:45 EEST 2021 -52 Sat 2 Oct 13:46:45 EEST 2021 -53 Sat 2 Oct 13:46:45 EEST 2021 -54 Sat 2 Oct 13:46:45 EEST 2021 -55 Sat 2 Oct 13:46:45 EEST 2021 -56 Sat 2 Oct 13:46:45 EEST 2021 -57 Sat 2 Oct 13:46:45 EEST 2021 -58 Sat 2 Oct 13:46:45 EEST 2021 -59 Sat 2 Oct 13:46:45 EEST 2021 -60 Sat 2 Oct 13:46:45 EEST 2021 -61 Sat 2 Oct 13:46:45 EEST 2021 -62 Sat 2 Oct 13:46:45 EEST 2021 -63 Sat 2 Oct 13:46:45 EEST 2021 -64 Sat 2 Oct 13:46:45 EEST 2021 -65 Sat 2 Oct 13:46:45 EEST 2021 -66 Sat 2 Oct 13:46:45 EEST 2021 -67 Sat 2 Oct 13:46:45 EEST 2021 -68 Sat 2 Oct 13:46:45 EEST 2021 -69 Sat 2 Oct 13:46:45 EEST 2021 -70 Sat 2 Oct 13:46:45 EEST 2021 -71 Sat 2 Oct 13:46:45 EEST 2021 -72 Sat 2 Oct 13:46:45 EEST 2021 -73 Sat 2 Oct 13:46:45 EEST 2021 -74 Sat 2 Oct 13:46:45 EEST 2021 -75 Sat 2 Oct 13:46:45 EEST 2021 -76 Sat 2 Oct 13:46:45 EEST 2021 -77 Sat 2 Oct 13:46:45 EEST 2021 -78 Sat 2 Oct 13:46:45 EEST 2021 -79 Sat 2 Oct 13:46:45 EEST 2021 -80 Sat 2 Oct 13:46:45 EEST 2021 -81 Sat 2 Oct 13:46:45 EEST 2021 -82 Sat 2 Oct 13:46:45 EEST 2021 -83 Sat 2 Oct 13:46:45 EEST 2021 -84 Sat 2 Oct 13:46:45 EEST 2021 -85 Sat 2 Oct 13:46:45 EEST 2021 -86 Sat 2 Oct 13:46:45 EEST 2021 -87 Sat 2 Oct 13:46:45 EEST 2021 -88 Sat 2 Oct 13:46:45 EEST 2021 -89 Sat 2 Oct 13:46:45 EEST 2021 -90 Sat 2 Oct 13:46:45 EEST 2021 -91 Sat 2 Oct 13:46:45 EEST 2021 -92 Sat 2 Oct 13:46:45 EEST 2021 -93 Sat 2 Oct 13:46:45 EEST 2021 -94 Sat 2 Oct 13:46:45 EEST 2021 -95 Sat 2 Oct 13:46:45 EEST 2021 -96 Sat 2 Oct 13:46:45 EEST 2021 -97 Sat 2 Oct 13:46:45 EEST 2021 -98 Sat 2 Oct 13:46:45 EEST 2021 -99 Sat 2 Oct 13:46:45 EEST 2021 -100 Sat 2 Oct 13:46:45 EEST 2021 -101 Sat 2 Oct 13:46:45 EEST 2021 -102 Sat 2 Oct 13:46:45 EEST 2021 -103 Sat 2 Oct 13:46:45 EEST 2021 -104 Sat 2 Oct 13:46:45 EEST 2021 -105 Sat 2 Oct 13:46:45 EEST 2021 -106 Sat 2 Oct 13:46:45 EEST 2021 -107 Sat 2 Oct 13:46:45 EEST 2021 -108 Sat 2 Oct 13:46:45 EEST 2021 -109 Sat 2 Oct 13:46:45 EEST 2021 -110 Sat 2 Oct 13:46:45 EEST 2021 -111 Sat 2 Oct 13:46:45 EEST 2021 -112 Sat 2 Oct 13:46:45 EEST 2021 -113 Sat 2 Oct 13:46:45 EEST 2021 -114 Sat 2 Oct 13:46:45 EEST 2021 -115 Sat 2 Oct 13:46:45 EEST 2021 -116 Sat 2 Oct 13:46:45 EEST 2021 -117 Sat 2 Oct 13:46:45 EEST 2021 -118 Sat 2 Oct 13:46:45 EEST 2021 -119 Sat 2 Oct 13:46:45 EEST 2021 -120 Sat 2 Oct 13:46:45 EEST 2021 -121 Sat 2 Oct 13:46:45 EEST 2021 -122 Sat 2 Oct 13:46:45 EEST 2021 -123 Sat 2 Oct 13:46:45 EEST 2021 -124 Sat 2 Oct 13:46:45 EEST 2021 -125 Sat 2 Oct 13:46:45 EEST 2021 -126 Sat 2 Oct 13:46:45 EEST 2021 -127 Sat 2 Oct 13:46:45 EEST 2021 -128 Sat 2 Oct 13:46:45 EEST 2021 -129 Sat 2 Oct 13:46:45 EEST 2021 -130 Sat 2 Oct 13:46:45 EEST 2021 -131 Sat 2 Oct 13:46:45 EEST 2021 -132 Sat 2 Oct 13:46:45 EEST 2021 -133 Sat 2 Oct 13:46:45 EEST 2021 -134 Sat 2 Oct 13:46:45 EEST 2021 -135 Sat 2 Oct 13:46:45 EEST 2021 -136 Sat 2 Oct 13:46:45 EEST 2021 -137 Sat 2 Oct 13:46:45 EEST 2021 -138 Sat 2 Oct 13:46:45 EEST 2021 -139 Sat 2 Oct 13:46:45 EEST 2021 -140 Sat 2 Oct 13:46:45 EEST 2021 -141 Sat 2 Oct 13:46:45 EEST 2021 -142 Sat 2 Oct 13:46:45 EEST 2021 -143 Sat 2 Oct 13:46:45 EEST 2021 -144 Sat 2 Oct 13:46:45 EEST 2021 -145 Sat 2 Oct 13:46:45 EEST 2021 -146 Sat 2 Oct 13:46:45 EEST 2021 -147 Sat 2 Oct 13:46:45 EEST 2021 -148 Sat 2 Oct 13:46:45 EEST 2021 -149 Sat 2 Oct 13:46:45 EEST 2021 -150 Sat 2 Oct 13:46:45 EEST 2021 -151 Sat 2 Oct 13:46:45 EEST 2021 -152 Sat 2 Oct 13:46:45 EEST 2021 -153 Sat 2 Oct 13:46:45 EEST 2021 -154 Sat 2 Oct 13:46:45 EEST 2021 -155 Sat 2 Oct 13:46:45 EEST 2021 -156 Sat 2 Oct 13:46:45 EEST 2021 -157 Sat 2 Oct 13:46:45 EEST 2021 -158 Sat 2 Oct 13:46:45 EEST 2021 -159 Sat 2 Oct 13:46:45 EEST 2021 -160 Sat 2 Oct 13:46:45 EEST 2021 -161 Sat 2 Oct 13:46:45 EEST 2021 -162 Sat 2 Oct 13:46:45 EEST 2021 -163 Sat 2 Oct 13:46:45 EEST 2021 -164 Sat 2 Oct 13:46:45 EEST 2021 -165 Sat 2 Oct 13:46:45 EEST 2021 -166 Sat 2 Oct 13:46:45 EEST 2021 -167 Sat 2 Oct 13:46:45 EEST 2021 -168 Sat 2 Oct 13:46:45 EEST 2021 -169 Sat 2 Oct 13:46:45 EEST 2021 -170 Sat 2 Oct 13:46:45 EEST 2021 -171 Sat 2 Oct 13:46:45 EEST 2021 -172 Sat 2 Oct 13:46:45 EEST 2021 -173 Sat 2 Oct 13:46:45 EEST 2021 -174 Sat 2 Oct 13:46:45 EEST 2021 -175 Sat 2 Oct 13:46:45 EEST 2021 -176 Sat 2 Oct 13:46:45 EEST 2021 -177 Sat 2 Oct 13:46:45 EEST 2021 -178 Sat 2 Oct 13:46:45 EEST 2021 -179 Sat 2 Oct 13:46:45 EEST 2021 -180 Sat 2 Oct 13:46:45 EEST 2021 -181 Sat 2 Oct 13:46:45 EEST 2021 -182 Sat 2 Oct 13:46:45 EEST 2021 -183 Sat 2 Oct 13:46:45 EEST 2021 -184 Sat 2 Oct 13:46:45 EEST 2021 -185 Sat 2 Oct 13:46:45 EEST 2021 -186 Sat 2 Oct 13:46:45 EEST 2021 -187 Sat 2 Oct 13:46:45 EEST 2021 -188 Sat 2 Oct 13:46:45 EEST 2021 -189 Sat 2 Oct 13:46:45 EEST 2021 -190 Sat 2 Oct 13:46:45 EEST 2021 -191 Sat 2 Oct 13:46:45 EEST 2021 -192 Sat 2 Oct 13:46:45 EEST 2021 -193 Sat 2 Oct 13:46:45 EEST 2021 -194 Sat 2 Oct 13:46:45 EEST 2021 -195 Sat 2 Oct 13:46:45 EEST 2021 -196 Sat 2 Oct 13:46:45 EEST 2021 -197 Sat 2 Oct 13:46:45 EEST 2021 -198 Sat 2 Oct 13:46:45 EEST 2021 -199 Sat 2 Oct 13:46:45 EEST 2021 -200 Sat 2 Oct 13:46:45 EEST 2021 -201 Sat 2 Oct 13:46:45 EEST 2021 -202 Sat 2 Oct 13:46:45 EEST 2021 -203 Sat 2 Oct 13:46:45 EEST 2021 -204 Sat 2 Oct 13:46:45 EEST 2021 -205 Sat 2 Oct 13:46:45 EEST 2021 -206 Sat 2 Oct 13:46:45 EEST 2021 -207 Sat 2 Oct 13:46:45 EEST 2021 -208 Sat 2 Oct 13:46:45 EEST 2021 -209 Sat 2 Oct 13:46:45 EEST 2021 -210 Sat 2 Oct 13:46:45 EEST 2021 -211 Sat 2 Oct 13:46:45 EEST 2021 -212 Sat 2 Oct 13:46:45 EEST 2021 -213 Sat 2 Oct 13:46:45 EEST 2021 -214 Sat 2 Oct 13:46:45 EEST 2021 -215 Sat 2 Oct 13:46:45 EEST 2021 -216 Sat 2 Oct 13:46:45 EEST 2021 -217 Sat 2 Oct 13:46:45 EEST 2021 -218 Sat 2 Oct 13:46:45 EEST 2021 -219 Sat 2 Oct 13:46:45 EEST 2021 -220 Sat 2 Oct 13:46:45 EEST 2021 -221 Sat 2 Oct 13:46:45 EEST 2021 -222 Sat 2 Oct 13:46:45 EEST 2021 -223 Sat 2 Oct 13:46:45 EEST 2021 -224 Sat 2 Oct 13:46:45 EEST 2021 -225 Sat 2 Oct 13:46:45 EEST 2021 -226 Sat 2 Oct 13:46:45 EEST 2021 -227 Sat 2 Oct 13:46:45 EEST 2021 -228 Sat 2 Oct 13:46:45 EEST 2021 -229 Sat 2 Oct 13:46:45 EEST 2021 -230 Sat 2 Oct 13:46:45 EEST 2021 -231 Sat 2 Oct 13:46:45 EEST 2021 -232 Sat 2 Oct 13:46:45 EEST 2021 -233 Sat 2 Oct 13:46:45 EEST 2021 -234 Sat 2 Oct 13:46:45 EEST 2021 -235 Sat 2 Oct 13:46:45 EEST 2021 -236 Sat 2 Oct 13:46:45 EEST 2021 -237 Sat 2 Oct 13:46:45 EEST 2021 -238 Sat 2 Oct 13:46:45 EEST 2021 -239 Sat 2 Oct 13:46:45 EEST 2021 -240 Sat 2 Oct 13:46:45 EEST 2021 -241 Sat 2 Oct 13:46:45 EEST 2021 -242 Sat 2 Oct 13:46:45 EEST 2021 -243 Sat 2 Oct 13:46:45 EEST 2021 -244 Sat 2 Oct 13:46:45 EEST 2021 -245 Sat 2 Oct 13:46:45 EEST 2021 -246 Sat 2 Oct 13:46:45 EEST 2021 -247 Sat 2 Oct 13:46:45 EEST 2021 -248 Sat 2 Oct 13:46:45 EEST 2021 -249 Sat 2 Oct 13:46:45 EEST 2021 -250 Sat 2 Oct 13:46:45 EEST 2021 -251 Sat 2 Oct 13:46:45 EEST 2021 -252 Sat 2 Oct 13:46:45 EEST 2021 -253 Sat 2 Oct 13:46:45 EEST 2021 -254 Sat 2 Oct 13:46:45 EEST 2021 -255 Sat 2 Oct 13:46:45 EEST 2021 -256 Sat 2 Oct 13:46:45 EEST 2021 -257 Sat 2 Oct 13:46:45 EEST 2021 -258 Sat 2 Oct 13:46:45 EEST 2021 -259 Sat 2 Oct 13:46:45 EEST 2021 -260 Sat 2 Oct 13:46:45 EEST 2021 -261 Sat 2 Oct 13:46:45 EEST 2021 -262 Sat 2 Oct 13:46:45 EEST 2021 -263 Sat 2 Oct 13:46:45 EEST 2021 -264 Sat 2 Oct 13:46:45 EEST 2021 -265 Sat 2 Oct 13:46:45 EEST 2021 -266 Sat 2 Oct 13:46:45 EEST 2021 -267 Sat 2 Oct 13:46:45 EEST 2021 -268 Sat 2 Oct 13:46:45 EEST 2021 -269 Sat 2 Oct 13:46:45 EEST 2021 -270 Sat 2 Oct 13:46:45 EEST 2021 -271 Sat 2 Oct 13:46:45 EEST 2021 -272 Sat 2 Oct 13:46:45 EEST 2021 -273 Sat 2 Oct 13:46:45 EEST 2021 -274 Sat 2 Oct 13:46:45 EEST 2021 -275 Sat 2 Oct 13:46:45 EEST 2021 -276 Sat 2 Oct 13:46:45 EEST 2021 -277 Sat 2 Oct 13:46:45 EEST 2021 -278 Sat 2 Oct 13:46:45 EEST 2021 -279 Sat 2 Oct 13:46:45 EEST 2021 -280 Sat 2 Oct 13:46:45 EEST 2021 -281 Sat 2 Oct 13:46:45 EEST 2021 -282 Sat 2 Oct 13:46:45 EEST 2021 -283 Sat 2 Oct 13:46:45 EEST 2021 -284 Sat 2 Oct 13:46:45 EEST 2021 -285 Sat 2 Oct 13:46:45 EEST 2021 -286 Sat 2 Oct 13:46:45 EEST 2021 -287 Sat 2 Oct 13:46:45 EEST 2021 -288 Sat 2 Oct 13:46:45 EEST 2021 -289 Sat 2 Oct 13:46:45 EEST 2021 -290 Sat 2 Oct 13:46:45 EEST 2021 -291 Sat 2 Oct 13:46:45 EEST 2021 -292 Sat 2 Oct 13:46:45 EEST 2021 -293 Sat 2 Oct 13:46:45 EEST 2021 -294 Sat 2 Oct 13:46:45 EEST 2021 -295 Sat 2 Oct 13:46:45 EEST 2021 -296 Sat 2 Oct 13:46:45 EEST 2021 -297 Sat 2 Oct 13:46:45 EEST 2021 -298 Sat 2 Oct 13:46:45 EEST 2021 -299 Sat 2 Oct 13:46:45 EEST 2021 -300 Sat 2 Oct 13:46:45 EEST 2021 -301 Sat 2 Oct 13:46:45 EEST 2021 -302 Sat 2 Oct 13:46:45 EEST 2021 -303 Sat 2 Oct 13:46:45 EEST 2021 -304 Sat 2 Oct 13:46:45 EEST 2021 -305 Sat 2 Oct 13:46:45 EEST 2021 -306 Sat 2 Oct 13:46:45 EEST 2021 -307 Sat 2 Oct 13:46:45 EEST 2021 -308 Sat 2 Oct 13:46:45 EEST 2021 -309 Sat 2 Oct 13:46:45 EEST 2021 -310 Sat 2 Oct 13:46:45 EEST 2021 -311 Sat 2 Oct 13:46:45 EEST 2021 -312 Sat 2 Oct 13:46:45 EEST 2021 -313 Sat 2 Oct 13:46:45 EEST 2021 -314 Sat 2 Oct 13:46:45 EEST 2021 -315 Sat 2 Oct 13:46:45 EEST 2021 -316 Sat 2 Oct 13:46:45 EEST 2021 -317 Sat 2 Oct 13:46:45 EEST 2021 -318 Sat 2 Oct 13:46:45 EEST 2021 -319 Sat 2 Oct 13:46:45 EEST 2021 -320 Sat 2 Oct 13:46:45 EEST 2021 -321 Sat 2 Oct 13:46:45 EEST 2021 -322 Sat 2 Oct 13:46:45 EEST 2021 -323 Sat 2 Oct 13:46:45 EEST 2021 -324 Sat 2 Oct 13:46:45 EEST 2021 -325 Sat 2 Oct 13:46:45 EEST 2021 -326 Sat 2 Oct 13:46:45 EEST 2021 -327 Sat 2 Oct 13:46:45 EEST 2021 -328 Sat 2 Oct 13:46:45 EEST 2021 -329 Sat 2 Oct 13:46:45 EEST 2021 -330 Sat 2 Oct 13:46:46 EEST 2021 -331 Sat 2 Oct 13:46:46 EEST 2021 -332 Sat 2 Oct 13:46:46 EEST 2021 -333 Sat 2 Oct 13:46:46 EEST 2021 -334 Sat 2 Oct 13:46:46 EEST 2021 -335 Sat 2 Oct 13:46:46 EEST 2021 -336 Sat 2 Oct 13:46:46 EEST 2021 -337 Sat 2 Oct 13:46:46 EEST 2021 -338 Sat 2 Oct 13:46:46 EEST 2021 -339 Sat 2 Oct 13:46:46 EEST 2021 -340 Sat 2 Oct 13:46:46 EEST 2021 -341 Sat 2 Oct 13:46:46 EEST 2021 -342 Sat 2 Oct 13:46:46 EEST 2021 -343 Sat 2 Oct 13:46:46 EEST 2021 -344 Sat 2 Oct 13:46:46 EEST 2021 -345 Sat 2 Oct 13:46:46 EEST 2021 -346 Sat 2 Oct 13:46:46 EEST 2021 -347 Sat 2 Oct 13:46:46 EEST 2021 -348 Sat 2 Oct 13:46:46 EEST 2021 -349 Sat 2 Oct 13:46:46 EEST 2021 -350 Sat 2 Oct 13:46:46 EEST 2021 -351 Sat 2 Oct 13:46:46 EEST 2021 -352 Sat 2 Oct 13:46:46 EEST 2021 -353 Sat 2 Oct 13:46:46 EEST 2021 -354 Sat 2 Oct 13:46:46 EEST 2021 -355 Sat 2 Oct 13:46:46 EEST 2021 -356 Sat 2 Oct 13:46:46 EEST 2021 -357 Sat 2 Oct 13:46:46 EEST 2021 -358 Sat 2 Oct 13:46:46 EEST 2021 -359 Sat 2 Oct 13:46:46 EEST 2021 -360 Sat 2 Oct 13:46:46 EEST 2021 -361 Sat 2 Oct 13:46:46 EEST 2021 -362 Sat 2 Oct 13:46:46 EEST 2021 -363 Sat 2 Oct 13:46:46 EEST 2021 -364 Sat 2 Oct 13:46:46 EEST 2021 -365 Sat 2 Oct 13:46:46 EEST 2021 -366 Sat 2 Oct 13:46:46 EEST 2021 -367 Sat 2 Oct 13:46:46 EEST 2021 -368 Sat 2 Oct 13:46:46 EEST 2021 -369 Sat 2 Oct 13:46:46 EEST 2021 -370 Sat 2 Oct 13:46:46 EEST 2021 -371 Sat 2 Oct 13:46:46 EEST 2021 -372 Sat 2 Oct 13:46:46 EEST 2021 -373 Sat 2 Oct 13:46:46 EEST 2021 -374 Sat 2 Oct 13:46:46 EEST 2021 -375 Sat 2 Oct 13:46:46 EEST 2021 -376 Sat 2 Oct 13:46:46 EEST 2021 -377 Sat 2 Oct 13:46:46 EEST 2021 -378 Sat 2 Oct 13:46:46 EEST 2021 -379 Sat 2 Oct 13:46:46 EEST 2021 -380 Sat 2 Oct 13:46:46 EEST 2021 -381 Sat 2 Oct 13:46:46 EEST 2021 -382 Sat 2 Oct 13:46:46 EEST 2021 -383 Sat 2 Oct 13:46:46 EEST 2021 -384 Sat 2 Oct 13:46:46 EEST 2021 -385 Sat 2 Oct 13:46:46 EEST 2021 -386 Sat 2 Oct 13:46:46 EEST 2021 -387 Sat 2 Oct 13:46:46 EEST 2021 -388 Sat 2 Oct 13:46:46 EEST 2021 -389 Sat 2 Oct 13:46:46 EEST 2021 -390 Sat 2 Oct 13:46:46 EEST 2021 -391 Sat 2 Oct 13:46:46 EEST 2021 -392 Sat 2 Oct 13:46:46 EEST 2021 -393 Sat 2 Oct 13:46:46 EEST 2021 -394 Sat 2 Oct 13:46:46 EEST 2021 -395 Sat 2 Oct 13:46:46 EEST 2021 -396 Sat 2 Oct 13:46:46 EEST 2021 -397 Sat 2 Oct 13:46:46 EEST 2021 -398 Sat 2 Oct 13:46:46 EEST 2021 -399 Sat 2 Oct 13:46:46 EEST 2021 -400 Sat 2 Oct 13:46:46 EEST 2021 -401 Sat 2 Oct 13:46:46 EEST 2021 -402 Sat 2 Oct 13:46:46 EEST 2021 -403 Sat 2 Oct 13:46:46 EEST 2021 -404 Sat 2 Oct 13:46:46 EEST 2021 -405 Sat 2 Oct 13:46:46 EEST 2021 -406 Sat 2 Oct 13:46:46 EEST 2021 -407 Sat 2 Oct 13:46:46 EEST 2021 -408 Sat 2 Oct 13:46:46 EEST 2021 -409 Sat 2 Oct 13:46:46 EEST 2021 -410 Sat 2 Oct 13:46:46 EEST 2021 -411 Sat 2 Oct 13:46:46 EEST 2021 -412 Sat 2 Oct 13:46:46 EEST 2021 -413 Sat 2 Oct 13:46:46 EEST 2021 -414 Sat 2 Oct 13:46:46 EEST 2021 -415 Sat 2 Oct 13:46:46 EEST 2021 -416 Sat 2 Oct 13:46:46 EEST 2021 -417 Sat 2 Oct 13:46:46 EEST 2021 -418 Sat 2 Oct 13:46:46 EEST 2021 -419 Sat 2 Oct 13:46:46 EEST 2021 -420 Sat 2 Oct 13:46:46 EEST 2021 -421 Sat 2 Oct 13:46:46 EEST 2021 -422 Sat 2 Oct 13:46:46 EEST 2021 -423 Sat 2 Oct 13:46:46 EEST 2021 -424 Sat 2 Oct 13:46:46 EEST 2021 -425 Sat 2 Oct 13:46:46 EEST 2021 -426 Sat 2 Oct 13:46:46 EEST 2021 -427 Sat 2 Oct 13:46:46 EEST 2021 -428 Sat 2 Oct 13:46:46 EEST 2021 -429 Sat 2 Oct 13:46:46 EEST 2021 -430 Sat 2 Oct 13:46:46 EEST 2021 -431 Sat 2 Oct 13:46:46 EEST 2021 -432 Sat 2 Oct 13:46:46 EEST 2021 -433 Sat 2 Oct 13:46:46 EEST 2021 -434 Sat 2 Oct 13:46:46 EEST 2021 -435 Sat 2 Oct 13:46:46 EEST 2021 -436 Sat 2 Oct 13:46:46 EEST 2021 -437 Sat 2 Oct 13:46:46 EEST 2021 -438 Sat 2 Oct 13:46:46 EEST 2021 -439 Sat 2 Oct 13:46:46 EEST 2021 -440 Sat 2 Oct 13:46:46 EEST 2021 -441 Sat 2 Oct 13:46:46 EEST 2021 -442 Sat 2 Oct 13:46:46 EEST 2021 -443 Sat 2 Oct 13:46:46 EEST 2021 -444 Sat 2 Oct 13:46:46 EEST 2021 -445 Sat 2 Oct 13:46:46 EEST 2021 -446 Sat 2 Oct 13:46:46 EEST 2021 -447 Sat 2 Oct 13:46:46 EEST 2021 -448 Sat 2 Oct 13:46:46 EEST 2021 -449 Sat 2 Oct 13:46:46 EEST 2021 -450 Sat 2 Oct 13:46:46 EEST 2021 -451 Sat 2 Oct 13:46:46 EEST 2021 -452 Sat 2 Oct 13:46:46 EEST 2021 -453 Sat 2 Oct 13:46:46 EEST 2021 -454 Sat 2 Oct 13:46:46 EEST 2021 -455 Sat 2 Oct 13:46:46 EEST 2021 -456 Sat 2 Oct 13:46:46 EEST 2021 -457 Sat 2 Oct 13:46:46 EEST 2021 -458 Sat 2 Oct 13:46:46 EEST 2021 -459 Sat 2 Oct 13:46:46 EEST 2021 -460 Sat 2 Oct 13:46:46 EEST 2021 -461 Sat 2 Oct 13:46:46 EEST 2021 -462 Sat 2 Oct 13:46:46 EEST 2021 -463 Sat 2 Oct 13:46:46 EEST 2021 -464 Sat 2 Oct 13:46:46 EEST 2021 -465 Sat 2 Oct 13:46:46 EEST 2021 -466 Sat 2 Oct 13:46:46 EEST 2021 -467 Sat 2 Oct 13:46:46 EEST 2021 -468 Sat 2 Oct 13:46:46 EEST 2021 -469 Sat 2 Oct 13:46:46 EEST 2021 -470 Sat 2 Oct 13:46:46 EEST 2021 -471 Sat 2 Oct 13:46:46 EEST 2021 -472 Sat 2 Oct 13:46:46 EEST 2021 -473 Sat 2 Oct 13:46:46 EEST 2021 -474 Sat 2 Oct 13:46:46 EEST 2021 -475 Sat 2 Oct 13:46:46 EEST 2021 -476 Sat 2 Oct 13:46:46 EEST 2021 -477 Sat 2 Oct 13:46:46 EEST 2021 -478 Sat 2 Oct 13:46:46 EEST 2021 -479 Sat 2 Oct 13:46:46 EEST 2021 -480 Sat 2 Oct 13:46:46 EEST 2021 -481 Sat 2 Oct 13:46:46 EEST 2021 -482 Sat 2 Oct 13:46:46 EEST 2021 -483 Sat 2 Oct 13:46:46 EEST 2021 -484 Sat 2 Oct 13:46:46 EEST 2021 -485 Sat 2 Oct 13:46:46 EEST 2021 -486 Sat 2 Oct 13:46:46 EEST 2021 -487 Sat 2 Oct 13:46:46 EEST 2021 -488 Sat 2 Oct 13:46:46 EEST 2021 -489 Sat 2 Oct 13:46:46 EEST 2021 -490 Sat 2 Oct 13:46:46 EEST 2021 -491 Sat 2 Oct 13:46:46 EEST 2021 -492 Sat 2 Oct 13:46:46 EEST 2021 -493 Sat 2 Oct 13:46:46 EEST 2021 -494 Sat 2 Oct 13:46:46 EEST 2021 -495 Sat 2 Oct 13:46:46 EEST 2021 -496 Sat 2 Oct 13:46:46 EEST 2021 -497 Sat 2 Oct 13:46:46 EEST 2021 -498 Sat 2 Oct 13:46:46 EEST 2021 -499 Sat 2 Oct 13:46:46 EEST 2021 -500 Sat 2 Oct 13:46:46 EEST 2021 diff --git a/integrationtests/dcat1a.txt b/integrationtests/dcat1a.txt new file mode 100644 index 0000000..9e80424 --- /dev/null +++ b/integrationtests/dcat1a.txt @@ -0,0 +1,500 @@ +1 Sat 2 Oct 13:46:45 EEST 2021 +2 Sat 2 Oct 13:46:45 EEST 2021 +3 Sat 2 Oct 13:46:45 EEST 2021 +4 Sat 2 Oct 13:46:45 EEST 2021 +5 Sat 2 Oct 13:46:45 EEST 2021 +6 Sat 2 Oct 13:46:45 EEST 2021 +7 Sat 2 Oct 13:46:45 EEST 2021 +8 Sat 2 Oct 13:46:45 EEST 2021 +9 Sat 2 Oct 13:46:45 EEST 2021 +10 Sat 2 Oct 13:46:45 EEST 2021 +11 Sat 2 Oct 13:46:45 EEST 2021 +12 Sat 2 Oct 13:46:45 EEST 2021 +13 Sat 2 Oct 13:46:45 EEST 2021 +14 Sat 2 Oct 13:46:45 EEST 2021 +15 Sat 2 Oct 13:46:45 EEST 2021 +16 Sat 2 Oct 13:46:45 EEST 2021 +17 Sat 2 Oct 13:46:45 EEST 2021 +18 Sat 2 Oct 13:46:45 EEST 2021 +19 Sat 2 Oct 13:46:45 EEST 2021 +20 Sat 2 Oct 13:46:45 EEST 2021 +21 Sat 2 Oct 13:46:45 EEST 2021 +22 Sat 2 Oct 13:46:45 EEST 2021 +23 Sat 2 Oct 13:46:45 EEST 2021 +24 Sat 2 Oct 13:46:45 EEST 2021 +25 Sat 2 Oct 13:46:45 EEST 2021 +26 Sat 2 Oct 13:46:45 EEST 2021 +27 Sat 2 Oct 13:46:45 EEST 2021 +28 Sat 2 Oct 13:46:45 EEST 2021 +29 Sat 2 Oct 13:46:45 EEST 2021 +30 Sat 2 Oct 13:46:45 EEST 2021 +31 Sat 2 Oct 13:46:45 EEST 2021 +32 Sat 2 Oct 13:46:45 EEST 2021 +33 Sat 2 Oct 13:46:45 EEST 2021 +34 Sat 2 Oct 13:46:45 EEST 2021 +35 Sat 2 Oct 13:46:45 EEST 2021 +36 Sat 2 Oct 13:46:45 EEST 2021 +37 Sat 2 Oct 13:46:45 EEST 2021 +38 Sat 2 Oct 13:46:45 EEST 2021 +39 Sat 2 Oct 13:46:45 EEST 2021 +40 Sat 2 Oct 13:46:45 EEST 2021 +41 Sat 2 Oct 13:46:45 EEST 2021 +42 Sat 2 Oct 13:46:45 EEST 2021 +43 Sat 2 Oct 13:46:45 EEST 2021 +44 Sat 2 Oct 13:46:45 EEST 2021 +45 Sat 2 Oct 13:46:45 EEST 2021 +46 Sat 2 Oct 13:46:45 EEST 2021 +47 Sat 2 Oct 13:46:45 EEST 2021 +48 Sat 2 Oct 13:46:45 EEST 2021 +49 Sat 2 Oct 13:46:45 EEST 2021 +50 Sat 2 Oct 13:46:45 EEST 2021 +51 Sat 2 Oct 13:46:45 EEST 2021 +52 Sat 2 Oct 13:46:45 EEST 2021 +53 Sat 2 Oct 13:46:45 EEST 2021 +54 Sat 2 Oct 13:46:45 EEST 2021 +55 Sat 2 Oct 13:46:45 EEST 2021 +56 Sat 2 Oct 13:46:45 EEST 2021 +57 Sat 2 Oct 13:46:45 EEST 2021 +58 Sat 2 Oct 13:46:45 EEST 2021 +59 Sat 2 Oct 13:46:45 EEST 2021 +60 Sat 2 Oct 13:46:45 EEST 2021 +61 Sat 2 Oct 13:46:45 EEST 2021 +62 Sat 2 Oct 13:46:45 EEST 2021 +63 Sat 2 Oct 13:46:45 EEST 2021 +64 Sat 2 Oct 13:46:45 EEST 2021 +65 Sat 2 Oct 13:46:45 EEST 2021 +66 Sat 2 Oct 13:46:45 EEST 2021 +67 Sat 2 Oct 13:46:45 EEST 2021 +68 Sat 2 Oct 13:46:45 EEST 2021 +69 Sat 2 Oct 13:46:45 EEST 2021 +70 Sat 2 Oct 13:46:45 EEST 2021 +71 Sat 2 Oct 13:46:45 EEST 2021 +72 Sat 2 Oct 13:46:45 EEST 2021 +73 Sat 2 Oct 13:46:45 EEST 2021 +74 Sat 2 Oct 13:46:45 EEST 2021 +75 Sat 2 Oct 13:46:45 EEST 2021 +76 Sat 2 Oct 13:46:45 EEST 2021 +77 Sat 2 Oct 13:46:45 EEST 2021 +78 Sat 2 Oct 13:46:45 EEST 2021 +79 Sat 2 Oct 13:46:45 EEST 2021 +80 Sat 2 Oct 13:46:45 EEST 2021 +81 Sat 2 Oct 13:46:45 EEST 2021 +82 Sat 2 Oct 13:46:45 EEST 2021 +83 Sat 2 Oct 13:46:45 EEST 2021 +84 Sat 2 Oct 13:46:45 EEST 2021 +85 Sat 2 Oct 13:46:45 EEST 2021 +86 Sat 2 Oct 13:46:45 EEST 2021 +87 Sat 2 Oct 13:46:45 EEST 2021 +88 Sat 2 Oct 13:46:45 EEST 2021 +89 Sat 2 Oct 13:46:45 EEST 2021 +90 Sat 2 Oct 13:46:45 EEST 2021 +91 Sat 2 Oct 13:46:45 EEST 2021 +92 Sat 2 Oct 13:46:45 EEST 2021 +93 Sat 2 Oct 13:46:45 EEST 2021 +94 Sat 2 Oct 13:46:45 EEST 2021 +95 Sat 2 Oct 13:46:45 EEST 2021 +96 Sat 2 Oct 13:46:45 EEST 2021 +97 Sat 2 Oct 13:46:45 EEST 2021 +98 Sat 2 Oct 13:46:45 EEST 2021 +99 Sat 2 Oct 13:46:45 EEST 2021 +100 Sat 2 Oct 13:46:45 EEST 2021 +101 Sat 2 Oct 13:46:45 EEST 2021 +102 Sat 2 Oct 13:46:45 EEST 2021 +103 Sat 2 Oct 13:46:45 EEST 2021 +104 Sat 2 Oct 13:46:45 EEST 2021 +105 Sat 2 Oct 13:46:45 EEST 2021 +106 Sat 2 Oct 13:46:45 EEST 2021 +107 Sat 2 Oct 13:46:45 EEST 2021 +108 Sat 2 Oct 13:46:45 EEST 2021 +109 Sat 2 Oct 13:46:45 EEST 2021 +110 Sat 2 Oct 13:46:45 EEST 2021 +111 Sat 2 Oct 13:46:45 EEST 2021 +112 Sat 2 Oct 13:46:45 EEST 2021 +113 Sat 2 Oct 13:46:45 EEST 2021 +114 Sat 2 Oct 13:46:45 EEST 2021 +115 Sat 2 Oct 13:46:45 EEST 2021 +116 Sat 2 Oct 13:46:45 EEST 2021 +117 Sat 2 Oct 13:46:45 EEST 2021 +118 Sat 2 Oct 13:46:45 EEST 2021 +119 Sat 2 Oct 13:46:45 EEST 2021 +120 Sat 2 Oct 13:46:45 EEST 2021 +121 Sat 2 Oct 13:46:45 EEST 2021 +122 Sat 2 Oct 13:46:45 EEST 2021 +123 Sat 2 Oct 13:46:45 EEST 2021 +124 Sat 2 Oct 13:46:45 EEST 2021 +125 Sat 2 Oct 13:46:45 EEST 2021 +126 Sat 2 Oct 13:46:45 EEST 2021 +127 Sat 2 Oct 13:46:45 EEST 2021 +128 Sat 2 Oct 13:46:45 EEST 2021 +129 Sat 2 Oct 13:46:45 EEST 2021 +130 Sat 2 Oct 13:46:45 EEST 2021 +131 Sat 2 Oct 13:46:45 EEST 2021 +132 Sat 2 Oct 13:46:45 EEST 2021 +133 Sat 2 Oct 13:46:45 EEST 2021 +134 Sat 2 Oct 13:46:45 EEST 2021 +135 Sat 2 Oct 13:46:45 EEST 2021 +136 Sat 2 Oct 13:46:45 EEST 2021 +137 Sat 2 Oct 13:46:45 EEST 2021 +138 Sat 2 Oct 13:46:45 EEST 2021 +139 Sat 2 Oct 13:46:45 EEST 2021 +140 Sat 2 Oct 13:46:45 EEST 2021 +141 Sat 2 Oct 13:46:45 EEST 2021 +142 Sat 2 Oct 13:46:45 EEST 2021 +143 Sat 2 Oct 13:46:45 EEST 2021 +144 Sat 2 Oct 13:46:45 EEST 2021 +145 Sat 2 Oct 13:46:45 EEST 2021 +146 Sat 2 Oct 13:46:45 EEST 2021 +147 Sat 2 Oct 13:46:45 EEST 2021 +148 Sat 2 Oct 13:46:45 EEST 2021 +149 Sat 2 Oct 13:46:45 EEST 2021 +150 Sat 2 Oct 13:46:45 EEST 2021 +151 Sat 2 Oct 13:46:45 EEST 2021 +152 Sat 2 Oct 13:46:45 EEST 2021 +153 Sat 2 Oct 13:46:45 EEST 2021 +154 Sat 2 Oct 13:46:45 EEST 2021 +155 Sat 2 Oct 13:46:45 EEST 2021 +156 Sat 2 Oct 13:46:45 EEST 2021 +157 Sat 2 Oct 13:46:45 EEST 2021 +158 Sat 2 Oct 13:46:45 EEST 2021 +159 Sat 2 Oct 13:46:45 EEST 2021 +160 Sat 2 Oct 13:46:45 EEST 2021 +161 Sat 2 Oct 13:46:45 EEST 2021 +162 Sat 2 Oct 13:46:45 EEST 2021 +163 Sat 2 Oct 13:46:45 EEST 2021 +164 Sat 2 Oct 13:46:45 EEST 2021 +165 Sat 2 Oct 13:46:45 EEST 2021 +166 Sat 2 Oct 13:46:45 EEST 2021 +167 Sat 2 Oct 13:46:45 EEST 2021 +168 Sat 2 Oct 13:46:45 EEST 2021 +169 Sat 2 Oct 13:46:45 EEST 2021 +170 Sat 2 Oct 13:46:45 EEST 2021 +171 Sat 2 Oct 13:46:45 EEST 2021 +172 Sat 2 Oct 13:46:45 EEST 2021 +173 Sat 2 Oct 13:46:45 EEST 2021 +174 Sat 2 Oct 13:46:45 EEST 2021 +175 Sat 2 Oct 13:46:45 EEST 2021 +176 Sat 2 Oct 13:46:45 EEST 2021 +177 Sat 2 Oct 13:46:45 EEST 2021 +178 Sat 2 Oct 13:46:45 EEST 2021 +179 Sat 2 Oct 13:46:45 EEST 2021 +180 Sat 2 Oct 13:46:45 EEST 2021 +181 Sat 2 Oct 13:46:45 EEST 2021 +182 Sat 2 Oct 13:46:45 EEST 2021 +183 Sat 2 Oct 13:46:45 EEST 2021 +184 Sat 2 Oct 13:46:45 EEST 2021 +185 Sat 2 Oct 13:46:45 EEST 2021 +186 Sat 2 Oct 13:46:45 EEST 2021 +187 Sat 2 Oct 13:46:45 EEST 2021 +188 Sat 2 Oct 13:46:45 EEST 2021 +189 Sat 2 Oct 13:46:45 EEST 2021 +190 Sat 2 Oct 13:46:45 EEST 2021 +191 Sat 2 Oct 13:46:45 EEST 2021 +192 Sat 2 Oct 13:46:45 EEST 2021 +193 Sat 2 Oct 13:46:45 EEST 2021 +194 Sat 2 Oct 13:46:45 EEST 2021 +195 Sat 2 Oct 13:46:45 EEST 2021 +196 Sat 2 Oct 13:46:45 EEST 2021 +197 Sat 2 Oct 13:46:45 EEST 2021 +198 Sat 2 Oct 13:46:45 EEST 2021 +199 Sat 2 Oct 13:46:45 EEST 2021 +200 Sat 2 Oct 13:46:45 EEST 2021 +201 Sat 2 Oct 13:46:45 EEST 2021 +202 Sat 2 Oct 13:46:45 EEST 2021 +203 Sat 2 Oct 13:46:45 EEST 2021 +204 Sat 2 Oct 13:46:45 EEST 2021 +205 Sat 2 Oct 13:46:45 EEST 2021 +206 Sat 2 Oct 13:46:45 EEST 2021 +207 Sat 2 Oct 13:46:45 EEST 2021 +208 Sat 2 Oct 13:46:45 EEST 2021 +209 Sat 2 Oct 13:46:45 EEST 2021 +210 Sat 2 Oct 13:46:45 EEST 2021 +211 Sat 2 Oct 13:46:45 EEST 2021 +212 Sat 2 Oct 13:46:45 EEST 2021 +213 Sat 2 Oct 13:46:45 EEST 2021 +214 Sat 2 Oct 13:46:45 EEST 2021 +215 Sat 2 Oct 13:46:45 EEST 2021 +216 Sat 2 Oct 13:46:45 EEST 2021 +217 Sat 2 Oct 13:46:45 EEST 2021 +218 Sat 2 Oct 13:46:45 EEST 2021 +219 Sat 2 Oct 13:46:45 EEST 2021 +220 Sat 2 Oct 13:46:45 EEST 2021 +221 Sat 2 Oct 13:46:45 EEST 2021 +222 Sat 2 Oct 13:46:45 EEST 2021 +223 Sat 2 Oct 13:46:45 EEST 2021 +224 Sat 2 Oct 13:46:45 EEST 2021 +225 Sat 2 Oct 13:46:45 EEST 2021 +226 Sat 2 Oct 13:46:45 EEST 2021 +227 Sat 2 Oct 13:46:45 EEST 2021 +228 Sat 2 Oct 13:46:45 EEST 2021 +229 Sat 2 Oct 13:46:45 EEST 2021 +230 Sat 2 Oct 13:46:45 EEST 2021 +231 Sat 2 Oct 13:46:45 EEST 2021 +232 Sat 2 Oct 13:46:45 EEST 2021 +233 Sat 2 Oct 13:46:45 EEST 2021 +234 Sat 2 Oct 13:46:45 EEST 2021 +235 Sat 2 Oct 13:46:45 EEST 2021 +236 Sat 2 Oct 13:46:45 EEST 2021 +237 Sat 2 Oct 13:46:45 EEST 2021 +238 Sat 2 Oct 13:46:45 EEST 2021 +239 Sat 2 Oct 13:46:45 EEST 2021 +240 Sat 2 Oct 13:46:45 EEST 2021 +241 Sat 2 Oct 13:46:45 EEST 2021 +242 Sat 2 Oct 13:46:45 EEST 2021 +243 Sat 2 Oct 13:46:45 EEST 2021 +244 Sat 2 Oct 13:46:45 EEST 2021 +245 Sat 2 Oct 13:46:45 EEST 2021 +246 Sat 2 Oct 13:46:45 EEST 2021 +247 Sat 2 Oct 13:46:45 EEST 2021 +248 Sat 2 Oct 13:46:45 EEST 2021 +249 Sat 2 Oct 13:46:45 EEST 2021 +250 Sat 2 Oct 13:46:45 EEST 2021 +251 Sat 2 Oct 13:46:45 EEST 2021 +252 Sat 2 Oct 13:46:45 EEST 2021 +253 Sat 2 Oct 13:46:45 EEST 2021 +254 Sat 2 Oct 13:46:45 EEST 2021 +255 Sat 2 Oct 13:46:45 EEST 2021 +256 Sat 2 Oct 13:46:45 EEST 2021 +257 Sat 2 Oct 13:46:45 EEST 2021 +258 Sat 2 Oct 13:46:45 EEST 2021 +259 Sat 2 Oct 13:46:45 EEST 2021 +260 Sat 2 Oct 13:46:45 EEST 2021 +261 Sat 2 Oct 13:46:45 EEST 2021 +262 Sat 2 Oct 13:46:45 EEST 2021 +263 Sat 2 Oct 13:46:45 EEST 2021 +264 Sat 2 Oct 13:46:45 EEST 2021 +265 Sat 2 Oct 13:46:45 EEST 2021 +266 Sat 2 Oct 13:46:45 EEST 2021 +267 Sat 2 Oct 13:46:45 EEST 2021 +268 Sat 2 Oct 13:46:45 EEST 2021 +269 Sat 2 Oct 13:46:45 EEST 2021 +270 Sat 2 Oct 13:46:45 EEST 2021 +271 Sat 2 Oct 13:46:45 EEST 2021 +272 Sat 2 Oct 13:46:45 EEST 2021 +273 Sat 2 Oct 13:46:45 EEST 2021 +274 Sat 2 Oct 13:46:45 EEST 2021 +275 Sat 2 Oct 13:46:45 EEST 2021 +276 Sat 2 Oct 13:46:45 EEST 2021 +277 Sat 2 Oct 13:46:45 EEST 2021 +278 Sat 2 Oct 13:46:45 EEST 2021 +279 Sat 2 Oct 13:46:45 EEST 2021 +280 Sat 2 Oct 13:46:45 EEST 2021 +281 Sat 2 Oct 13:46:45 EEST 2021 +282 Sat 2 Oct 13:46:45 EEST 2021 +283 Sat 2 Oct 13:46:45 EEST 2021 +284 Sat 2 Oct 13:46:45 EEST 2021 +285 Sat 2 Oct 13:46:45 EEST 2021 +286 Sat 2 Oct 13:46:45 EEST 2021 +287 Sat 2 Oct 13:46:45 EEST 2021 +288 Sat 2 Oct 13:46:45 EEST 2021 +289 Sat 2 Oct 13:46:45 EEST 2021 +290 Sat 2 Oct 13:46:45 EEST 2021 +291 Sat 2 Oct 13:46:45 EEST 2021 +292 Sat 2 Oct 13:46:45 EEST 2021 +293 Sat 2 Oct 13:46:45 EEST 2021 +294 Sat 2 Oct 13:46:45 EEST 2021 +295 Sat 2 Oct 13:46:45 EEST 2021 +296 Sat 2 Oct 13:46:45 EEST 2021 +297 Sat 2 Oct 13:46:45 EEST 2021 +298 Sat 2 Oct 13:46:45 EEST 2021 +299 Sat 2 Oct 13:46:45 EEST 2021 +300 Sat 2 Oct 13:46:45 EEST 2021 +301 Sat 2 Oct 13:46:45 EEST 2021 +302 Sat 2 Oct 13:46:45 EEST 2021 +303 Sat 2 Oct 13:46:45 EEST 2021 +304 Sat 2 Oct 13:46:45 EEST 2021 +305 Sat 2 Oct 13:46:45 EEST 2021 +306 Sat 2 Oct 13:46:45 EEST 2021 +307 Sat 2 Oct 13:46:45 EEST 2021 +308 Sat 2 Oct 13:46:45 EEST 2021 +309 Sat 2 Oct 13:46:45 EEST 2021 +310 Sat 2 Oct 13:46:45 EEST 2021 +311 Sat 2 Oct 13:46:45 EEST 2021 +312 Sat 2 Oct 13:46:45 EEST 2021 +313 Sat 2 Oct 13:46:45 EEST 2021 +314 Sat 2 Oct 13:46:45 EEST 2021 +315 Sat 2 Oct 13:46:45 EEST 2021 +316 Sat 2 Oct 13:46:45 EEST 2021 +317 Sat 2 Oct 13:46:45 EEST 2021 +318 Sat 2 Oct 13:46:45 EEST 2021 +319 Sat 2 Oct 13:46:45 EEST 2021 +320 Sat 2 Oct 13:46:45 EEST 2021 +321 Sat 2 Oct 13:46:45 EEST 2021 +322 Sat 2 Oct 13:46:45 EEST 2021 +323 Sat 2 Oct 13:46:45 EEST 2021 +324 Sat 2 Oct 13:46:45 EEST 2021 +325 Sat 2 Oct 13:46:45 EEST 2021 +326 Sat 2 Oct 13:46:45 EEST 2021 +327 Sat 2 Oct 13:46:45 EEST 2021 +328 Sat 2 Oct 13:46:45 EEST 2021 +329 Sat 2 Oct 13:46:45 EEST 2021 +330 Sat 2 Oct 13:46:46 EEST 2021 +331 Sat 2 Oct 13:46:46 EEST 2021 +332 Sat 2 Oct 13:46:46 EEST 2021 +333 Sat 2 Oct 13:46:46 EEST 2021 +334 Sat 2 Oct 13:46:46 EEST 2021 +335 Sat 2 Oct 13:46:46 EEST 2021 +336 Sat 2 Oct 13:46:46 EEST 2021 +337 Sat 2 Oct 13:46:46 EEST 2021 +338 Sat 2 Oct 13:46:46 EEST 2021 +339 Sat 2 Oct 13:46:46 EEST 2021 +340 Sat 2 Oct 13:46:46 EEST 2021 +341 Sat 2 Oct 13:46:46 EEST 2021 +342 Sat 2 Oct 13:46:46 EEST 2021 +343 Sat 2 Oct 13:46:46 EEST 2021 +344 Sat 2 Oct 13:46:46 EEST 2021 +345 Sat 2 Oct 13:46:46 EEST 2021 +346 Sat 2 Oct 13:46:46 EEST 2021 +347 Sat 2 Oct 13:46:46 EEST 2021 +348 Sat 2 Oct 13:46:46 EEST 2021 +349 Sat 2 Oct 13:46:46 EEST 2021 +350 Sat 2 Oct 13:46:46 EEST 2021 +351 Sat 2 Oct 13:46:46 EEST 2021 +352 Sat 2 Oct 13:46:46 EEST 2021 +353 Sat 2 Oct 13:46:46 EEST 2021 +354 Sat 2 Oct 13:46:46 EEST 2021 +355 Sat 2 Oct 13:46:46 EEST 2021 +356 Sat 2 Oct 13:46:46 EEST 2021 +357 Sat 2 Oct 13:46:46 EEST 2021 +358 Sat 2 Oct 13:46:46 EEST 2021 +359 Sat 2 Oct 13:46:46 EEST 2021 +360 Sat 2 Oct 13:46:46 EEST 2021 +361 Sat 2 Oct 13:46:46 EEST 2021 +362 Sat 2 Oct 13:46:46 EEST 2021 +363 Sat 2 Oct 13:46:46 EEST 2021 +364 Sat 2 Oct 13:46:46 EEST 2021 +365 Sat 2 Oct 13:46:46 EEST 2021 +366 Sat 2 Oct 13:46:46 EEST 2021 +367 Sat 2 Oct 13:46:46 EEST 2021 +368 Sat 2 Oct 13:46:46 EEST 2021 +369 Sat 2 Oct 13:46:46 EEST 2021 +370 Sat 2 Oct 13:46:46 EEST 2021 +371 Sat 2 Oct 13:46:46 EEST 2021 +372 Sat 2 Oct 13:46:46 EEST 2021 +373 Sat 2 Oct 13:46:46 EEST 2021 +374 Sat 2 Oct 13:46:46 EEST 2021 +375 Sat 2 Oct 13:46:46 EEST 2021 +376 Sat 2 Oct 13:46:46 EEST 2021 +377 Sat 2 Oct 13:46:46 EEST 2021 +378 Sat 2 Oct 13:46:46 EEST 2021 +379 Sat 2 Oct 13:46:46 EEST 2021 +380 Sat 2 Oct 13:46:46 EEST 2021 +381 Sat 2 Oct 13:46:46 EEST 2021 +382 Sat 2 Oct 13:46:46 EEST 2021 +383 Sat 2 Oct 13:46:46 EEST 2021 +384 Sat 2 Oct 13:46:46 EEST 2021 +385 Sat 2 Oct 13:46:46 EEST 2021 +386 Sat 2 Oct 13:46:46 EEST 2021 +387 Sat 2 Oct 13:46:46 EEST 2021 +388 Sat 2 Oct 13:46:46 EEST 2021 +389 Sat 2 Oct 13:46:46 EEST 2021 +390 Sat 2 Oct 13:46:46 EEST 2021 +391 Sat 2 Oct 13:46:46 EEST 2021 +392 Sat 2 Oct 13:46:46 EEST 2021 +393 Sat 2 Oct 13:46:46 EEST 2021 +394 Sat 2 Oct 13:46:46 EEST 2021 +395 Sat 2 Oct 13:46:46 EEST 2021 +396 Sat 2 Oct 13:46:46 EEST 2021 +397 Sat 2 Oct 13:46:46 EEST 2021 +398 Sat 2 Oct 13:46:46 EEST 2021 +399 Sat 2 Oct 13:46:46 EEST 2021 +400 Sat 2 Oct 13:46:46 EEST 2021 +401 Sat 2 Oct 13:46:46 EEST 2021 +402 Sat 2 Oct 13:46:46 EEST 2021 +403 Sat 2 Oct 13:46:46 EEST 2021 +404 Sat 2 Oct 13:46:46 EEST 2021 +405 Sat 2 Oct 13:46:46 EEST 2021 +406 Sat 2 Oct 13:46:46 EEST 2021 +407 Sat 2 Oct 13:46:46 EEST 2021 +408 Sat 2 Oct 13:46:46 EEST 2021 +409 Sat 2 Oct 13:46:46 EEST 2021 +410 Sat 2 Oct 13:46:46 EEST 2021 +411 Sat 2 Oct 13:46:46 EEST 2021 +412 Sat 2 Oct 13:46:46 EEST 2021 +413 Sat 2 Oct 13:46:46 EEST 2021 +414 Sat 2 Oct 13:46:46 EEST 2021 +415 Sat 2 Oct 13:46:46 EEST 2021 +416 Sat 2 Oct 13:46:46 EEST 2021 +417 Sat 2 Oct 13:46:46 EEST 2021 +418 Sat 2 Oct 13:46:46 EEST 2021 +419 Sat 2 Oct 13:46:46 EEST 2021 +420 Sat 2 Oct 13:46:46 EEST 2021 +421 Sat 2 Oct 13:46:46 EEST 2021 +422 Sat 2 Oct 13:46:46 EEST 2021 +423 Sat 2 Oct 13:46:46 EEST 2021 +424 Sat 2 Oct 13:46:46 EEST 2021 +425 Sat 2 Oct 13:46:46 EEST 2021 +426 Sat 2 Oct 13:46:46 EEST 2021 +427 Sat 2 Oct 13:46:46 EEST 2021 +428 Sat 2 Oct 13:46:46 EEST 2021 +429 Sat 2 Oct 13:46:46 EEST 2021 +430 Sat 2 Oct 13:46:46 EEST 2021 +431 Sat 2 Oct 13:46:46 EEST 2021 +432 Sat 2 Oct 13:46:46 EEST 2021 +433 Sat 2 Oct 13:46:46 EEST 2021 +434 Sat 2 Oct 13:46:46 EEST 2021 +435 Sat 2 Oct 13:46:46 EEST 2021 +436 Sat 2 Oct 13:46:46 EEST 2021 +437 Sat 2 Oct 13:46:46 EEST 2021 +438 Sat 2 Oct 13:46:46 EEST 2021 +439 Sat 2 Oct 13:46:46 EEST 2021 +440 Sat 2 Oct 13:46:46 EEST 2021 +441 Sat 2 Oct 13:46:46 EEST 2021 +442 Sat 2 Oct 13:46:46 EEST 2021 +443 Sat 2 Oct 13:46:46 EEST 2021 +444 Sat 2 Oct 13:46:46 EEST 2021 +445 Sat 2 Oct 13:46:46 EEST 2021 +446 Sat 2 Oct 13:46:46 EEST 2021 +447 Sat 2 Oct 13:46:46 EEST 2021 +448 Sat 2 Oct 13:46:46 EEST 2021 +449 Sat 2 Oct 13:46:46 EEST 2021 +450 Sat 2 Oct 13:46:46 EEST 2021 +451 Sat 2 Oct 13:46:46 EEST 2021 +452 Sat 2 Oct 13:46:46 EEST 2021 +453 Sat 2 Oct 13:46:46 EEST 2021 +454 Sat 2 Oct 13:46:46 EEST 2021 +455 Sat 2 Oct 13:46:46 EEST 2021 +456 Sat 2 Oct 13:46:46 EEST 2021 +457 Sat 2 Oct 13:46:46 EEST 2021 +458 Sat 2 Oct 13:46:46 EEST 2021 +459 Sat 2 Oct 13:46:46 EEST 2021 +460 Sat 2 Oct 13:46:46 EEST 2021 +461 Sat 2 Oct 13:46:46 EEST 2021 +462 Sat 2 Oct 13:46:46 EEST 2021 +463 Sat 2 Oct 13:46:46 EEST 2021 +464 Sat 2 Oct 13:46:46 EEST 2021 +465 Sat 2 Oct 13:46:46 EEST 2021 +466 Sat 2 Oct 13:46:46 EEST 2021 +467 Sat 2 Oct 13:46:46 EEST 2021 +468 Sat 2 Oct 13:46:46 EEST 2021 +469 Sat 2 Oct 13:46:46 EEST 2021 +470 Sat 2 Oct 13:46:46 EEST 2021 +471 Sat 2 Oct 13:46:46 EEST 2021 +472 Sat 2 Oct 13:46:46 EEST 2021 +473 Sat 2 Oct 13:46:46 EEST 2021 +474 Sat 2 Oct 13:46:46 EEST 2021 +475 Sat 2 Oct 13:46:46 EEST 2021 +476 Sat 2 Oct 13:46:46 EEST 2021 +477 Sat 2 Oct 13:46:46 EEST 2021 +478 Sat 2 Oct 13:46:46 EEST 2021 +479 Sat 2 Oct 13:46:46 EEST 2021 +480 Sat 2 Oct 13:46:46 EEST 2021 +481 Sat 2 Oct 13:46:46 EEST 2021 +482 Sat 2 Oct 13:46:46 EEST 2021 +483 Sat 2 Oct 13:46:46 EEST 2021 +484 Sat 2 Oct 13:46:46 EEST 2021 +485 Sat 2 Oct 13:46:46 EEST 2021 +486 Sat 2 Oct 13:46:46 EEST 2021 +487 Sat 2 Oct 13:46:46 EEST 2021 +488 Sat 2 Oct 13:46:46 EEST 2021 +489 Sat 2 Oct 13:46:46 EEST 2021 +490 Sat 2 Oct 13:46:46 EEST 2021 +491 Sat 2 Oct 13:46:46 EEST 2021 +492 Sat 2 Oct 13:46:46 EEST 2021 +493 Sat 2 Oct 13:46:46 EEST 2021 +494 Sat 2 Oct 13:46:46 EEST 2021 +495 Sat 2 Oct 13:46:46 EEST 2021 +496 Sat 2 Oct 13:46:46 EEST 2021 +497 Sat 2 Oct 13:46:46 EEST 2021 +498 Sat 2 Oct 13:46:46 EEST 2021 +499 Sat 2 Oct 13:46:46 EEST 2021 +500 Sat 2 Oct 13:46:46 EEST 2021 diff --git a/integrationtests/dcat1b.txt b/integrationtests/dcat1b.txt new file mode 100644 index 0000000..658ee3b --- /dev/null +++ b/integrationtests/dcat1b.txt @@ -0,0 +1,4 @@ +2 empty lines: + + +line without newline diff --git a/integrationtests/dcat1c.txt b/integrationtests/dcat1c.txt new file mode 100644 index 0000000..f952bf8 --- /dev/null +++ b/integrationtests/dcat1c.txt @@ -0,0 +1,10 @@ +1 Sat 2 Oct 13:46:45 EEST 2021 +2 Sat 2 Oct 13:46:45 EEST 2021 +3 Sat 2 Oct 13:46:45 EEST 2021 +4 Sat 2 Oct 13:46:45 EEST 2021 +5 Sat 2 Oct 13:46:45 EEST 2021 +6 Sat 2 Oct 13:46:45 EEST 2021 +7 Sat 2 Oct 13:46:45 EEST 2021 +8 Sat 2 Oct 13:46:45 EEST 2021 +9 Sat 2 Oct 13:46:45 EEST 2021 +10 Sat 2 Oct 13:46:45 EEST 2021 diff --git a/integrationtests/dcat1d.txt b/integrationtests/dcat1d.txt new file mode 100644 index 0000000..074c277 --- /dev/null +++ b/integrationtests/dcat1d.txt @@ -0,0 +1 @@ +single line without newline \ No newline at end of file diff --git a/integrationtests/dcat_test.go b/integrationtests/dcat_test.go index 124cb62..bef5db2 100644 --- a/integrationtests/dcat_test.go +++ b/integrationtests/dcat_test.go @@ -8,57 +8,64 @@ import ( "github.com/mimecast/dtail/internal/config" ) -func TestDCat(t *testing.T) { +func TestDCat1(t *testing.T) { if !config.Env("DTAIL_INTEGRATION_TEST_RUN_MODE") { t.Log("Skipping") return } - testdataFile := "dcat.txt" - stdoutFile := "dcat.out" - _, err := runCommand(context.TODO(), t, stdoutFile, - "../dcat", "--plain", "--cfg", "none", testdataFile) + inFiles := []string{"dcat1a.txt", "dcat1b.txt", "dcat1c.txt", "dcat1d.txt"} + for _, inFile := range inFiles { + if err := testDCat1(t, inFile); err != nil { + t.Error(err) + return + } + } +} +func testDCat1(t *testing.T, inFile string) error { + outFile := "dcat1.out" + + _, err := runCommand(context.TODO(), t, outFile, + "../dcat", "--plain", "--cfg", "none", inFile) if err != nil { - t.Error(err) - return + return err } - - if err := compareFiles(t, stdoutFile, testdataFile); err != nil { - t.Error(err) - return + if err := compareFiles(t, outFile, inFile); err != nil { + return err } - os.Remove(stdoutFile) + os.Remove(outFile) + return nil } func TestDCat2(t *testing.T) { if !config.Env("DTAIL_INTEGRATION_TEST_RUN_MODE") { return } - testdataFile := "dcat2.txt" + inFile := "dcat2.txt" expectedFile := "dcat2.txt.expected" - stdoutFile := "dcat2.out" + outFile := "dcat2.out" args := []string{"--plain", "--logLevel", "error", "--cfg", "none"} // Cat file 100 times in one session. for i := 0; i < 100; i++ { - args = append(args, testdataFile) + args = append(args, inFile) } - _, err := runCommand(context.TODO(), t, stdoutFile, "../dcat", args...) + _, err := runCommand(context.TODO(), t, outFile, "../dcat", args...) if err != nil { t.Error(err) return } - if err := compareFilesContents(t, stdoutFile, expectedFile); err != nil { + if err := compareFilesContents(t, outFile, expectedFile); err != nil { t.Error(err) return } - os.Remove(stdoutFile) + os.Remove(outFile) } func TestDCatColors(t *testing.T) { @@ -66,22 +73,22 @@ func TestDCatColors(t *testing.T) { return } - testdataFile := "dcatcolors.txt" - stdoutFile := "dcatcolors.out" + inFile := "dcatcolors.txt" + outFile := "dcatcolors.out" expectedFile := "dcatcolors.expected" - _, err := runCommand(context.TODO(), t, stdoutFile, - "../dcat", "--logLevel", "error", "--cfg", "none", testdataFile) + _, err := runCommand(context.TODO(), t, outFile, + "../dcat", "--logLevel", "error", "--cfg", "none", inFile) if err != nil { t.Error(err) return } - if err := compareFiles(t, stdoutFile, expectedFile); err != nil { + if err := compareFiles(t, outFile, expectedFile); err != nil { t.Error(err) return } - os.Remove(stdoutFile) + os.Remove(outFile) } diff --git a/internal/clients/handlers/basehandler.go b/internal/clients/handlers/basehandler.go index b520c25..3ffea82 100644 --- a/internal/clients/handlers/basehandler.go +++ b/internal/clients/handlers/basehandler.go @@ -60,14 +60,7 @@ func (h *baseHandler) SendMessage(command string) error { func (h *baseHandler) Write(p []byte) (n int, err error) { for _, b := range p { switch b { - /* - // NEXT: Next DTail version make it so that '\n' gets ignored. For now - // leave it for compatibility with older DTail server + ability to display - // the protocol mismatch warn message. - case '\n' { - continue - */ - case '\n', protocol.MessageDelimiter: + case protocol.MessageDelimiter: message := h.receiveBuf.String() h.handleMessage(message) h.receiveBuf.Reset() @@ -75,7 +68,6 @@ func (h *baseHandler) Write(p []byte) (n int, err error) { h.receiveBuf.WriteByte(b) } } - return len(p), nil } diff --git a/internal/color/paint.go b/internal/color/paint.go index 7735d87..4c9d2bc 100644 --- a/internal/color/paint.go +++ b/internal/color/paint.go @@ -39,9 +39,13 @@ func PaintStrAttr(text string, attr Attribute) string { func Paint(sb *strings.Builder, text string, fg FgColor, bg BgColor) { sb.WriteString(string(fg)) sb.WriteString(string(bg)) - sb.WriteString(text) + trimmed := strings.TrimSuffix(text, "\n") + sb.WriteString(trimmed) sb.WriteString(string(BgDefault)) sb.WriteString(string(FgDefault)) + if trimmed != text { + sb.WriteByte('\n') + } } // Reset background and foreground colors. @@ -62,10 +66,14 @@ func PaintWithAttr(sb *strings.Builder, text string, fg FgColor, bg BgColor, sb.WriteString(string(fg)) sb.WriteString(string(bg)) sb.WriteString(string(attr)) - sb.WriteString(text) + trimmed := strings.TrimSuffix(text, "\n") + sb.WriteString(trimmed) sb.WriteString(string(AttrReset)) sb.WriteString(string(BgDefault)) sb.WriteString(string(FgDefault)) + if trimmed != text { + sb.WriteByte('\n') + } } // PaintWithAttrs is similar to PaintWithAttr, but it takes multiple attributes. @@ -77,10 +85,14 @@ func PaintWithAttrs(sb *strings.Builder, text string, fg FgColor, bg BgColor, for _, attr := range attrs { sb.WriteString(string(attr)) } - sb.WriteString(text) + trimmed := strings.TrimSuffix(text, "\n") + sb.WriteString(trimmed) sb.WriteString(string(AttrReset)) sb.WriteString(string(BgDefault)) sb.WriteString(string(FgDefault)) + if trimmed != text { + sb.WriteByte('\n') + } } // ResetWithAttr resets background, foreground and attributes. diff --git a/internal/io/dlog/dlog.go b/internal/io/dlog/dlog.go index ff2cef4..5713c1a 100644 --- a/internal/io/dlog/dlog.go +++ b/internal/io/dlog/dlog.go @@ -210,10 +210,10 @@ func (d *DLog) Devel(args ...interface{}) string { // Raw message logging. func (d *DLog) Raw(message string) string { if !config.Client.TermColorsEnable || !d.logger.SupportsColors() { - d.logger.Log(time.Now(), message) + d.logger.Raw(time.Now(), message) return message } - d.logger.LogWithColors(time.Now(), message, brush.Colorfy(message)) + d.logger.RawWithColors(time.Now(), message, brush.Colorfy(message)) return message } diff --git a/internal/io/dlog/loggers/file.go b/internal/io/dlog/loggers/file.go index 94824fe..9dce251 100644 --- a/internal/io/dlog/loggers/file.go +++ b/internal/io/dlog/loggers/file.go @@ -17,6 +17,7 @@ type fileWriter struct{} type fileMessageBuf struct { now time.Time message string + nl bool } type file struct { @@ -86,10 +87,18 @@ func (f *file) Start(ctx context.Context, wg *sync.WaitGroup) { } func (f *file) Log(now time.Time, message string) { - f.bufferCh <- &fileMessageBuf{now, message} + f.bufferCh <- &fileMessageBuf{now, message, true} } func (f *file) LogWithColors(now time.Time, message, coloredMessage string) { + f.RawWithColors(now, message, coloredMessage) +} + +func (f *file) Raw(now time.Time, message string) { + f.bufferCh <- &fileMessageBuf{now, message, false} +} + +func (f *file) RawWithColors(now time.Time, message, coloredMessage string) { panic("Colors not supported in file logger") } @@ -116,7 +125,9 @@ func (f *file) write(m *fileMessageBuf) { } writer.WriteString(m.message) - writer.WriteByte('\n') + if m.nl { + writer.WriteByte('\n') + } } func (f *file) getWriter(name string) *bufio.Writer { diff --git a/internal/io/dlog/loggers/fout.go b/internal/io/dlog/loggers/fout.go index 60c318d..6888d40 100644 --- a/internal/io/dlog/loggers/fout.go +++ b/internal/io/dlog/loggers/fout.go @@ -38,6 +38,16 @@ func (f *fout) LogWithColors(now time.Time, message, coloredMessage string) { f.file.Log(now, message) } +func (f *fout) Raw(now time.Time, message string) { + f.stdout.Raw(now, message) + f.file.Raw(now, message) +} + +func (f *fout) RawWithColors(now time.Time, message, coloredMessage string) { + f.stdout.RawWithColors(now, "", coloredMessage) + f.file.Raw(now, message) +} + func (f *fout) Flush() { f.stdout.Flush(); f.file.Flush() } func (f *fout) Pause() { f.stdout.Pause(); f.file.Pause() } func (f *fout) Resume() { f.stdout.Resume(); f.file.Resume() } diff --git a/internal/io/dlog/loggers/logger.go b/internal/io/dlog/loggers/logger.go index d4e85de..195108b 100644 --- a/internal/io/dlog/loggers/logger.go +++ b/internal/io/dlog/loggers/logger.go @@ -10,6 +10,8 @@ import ( type Logger interface { Log(now time.Time, message string) LogWithColors(now time.Time, message, messageWithColors string) + Raw(now time.Time, message string) + RawWithColors(now time.Time, message, messageWithColors string) Start(ctx context.Context, wg *sync.WaitGroup) Flush() Pause() diff --git a/internal/io/dlog/loggers/none.go b/internal/io/dlog/loggers/none.go index 270027f..973ae3c 100644 --- a/internal/io/dlog/loggers/none.go +++ b/internal/io/dlog/loggers/none.go @@ -9,13 +9,13 @@ import ( // don't log anything type none struct{} -func (none) Start(ctx context.Context, wg *sync.WaitGroup) { wg.Done() } -func (none) Log(now time.Time, message string) {} - +func (none) Start(ctx context.Context, wg *sync.WaitGroup) { wg.Done() } +func (none) Log(now time.Time, message string) {} func (none) LogWithColors(now time.Time, message, coloredMessage string) {} - -func (none) Flush() {} -func (none) Pause() {} -func (none) Resume() {} -func (none) Rotate() {} -func (none) SupportsColors() bool { return false } +func (none) Raw(now time.Time, message string) {} +func (none) RawWithColors(now time.Time, message, coloredMessage string) {} +func (none) Flush() {} +func (none) Pause() {} +func (none) Resume() {} +func (none) Rotate() {} +func (none) SupportsColors() bool { return false } diff --git a/internal/io/dlog/loggers/stdout.go b/internal/io/dlog/loggers/stdout.go index 05485c6..0369ed7 100644 --- a/internal/io/dlog/loggers/stdout.go +++ b/internal/io/dlog/loggers/stdout.go @@ -25,14 +25,22 @@ func (s *stdout) Start(ctx context.Context, wg *sync.WaitGroup) { } func (s *stdout) Log(now time.Time, message string) { - s.log(message) + s.log(message, true) } func (s *stdout) LogWithColors(now time.Time, message, coloredMessage string) { - s.log(coloredMessage) + s.log(coloredMessage, true) } -func (s *stdout) log(message string) { +func (s *stdout) Raw(now time.Time, message string) { + s.log(message, false) +} + +func (s *stdout) RawWithColors(now time.Time, message, coloredMessage string) { + s.log(coloredMessage, false) +} + +func (s *stdout) log(message string, nl bool) { s.mutex.Lock() defer s.mutex.Unlock() @@ -43,7 +51,11 @@ func (s *stdout) log(message string) { default: } - fmt.Println(message) + if nl { + fmt.Println(message) + return + } + fmt.Print(message) } func (s *stdout) Pause() { s.pauseCh <- struct{}{} } diff --git a/internal/io/fs/readfile.go b/internal/io/fs/readfile.go index 18c20c0..e499853 100644 --- a/internal/io/fs/readfile.go +++ b/internal/io/fs/readfile.go @@ -167,7 +167,6 @@ func (f readFile) read(ctx context.Context, fd *os.File, reader *bufio.Reader, rawLines chan *bytes.Buffer, truncate <-chan struct{}) error { var offset uint64 - lineLengthThreshold := 1024 * 1024 // 1mb warnedAboutLongLine := false message := pool.BytesBuffer.Get().(*bytes.Buffer) @@ -190,31 +189,38 @@ func (f readFile) read(ctx context.Context, fd *os.File, reader *bufio.Reader, } if !f.seekEOF { dlog.Common.Info(f.FilePath(), "End of file reached") + if len(message.Bytes()) > 0 { + select { + case rawLines <- message: + case <-ctx.Done(): + } + } return nil } time.Sleep(time.Millisecond * 100) continue } + offset++ + message.WriteByte(b) switch b { case '\n': select { case rawLines <- message: message = pool.BytesBuffer.Get().(*bytes.Buffer) - //fmt.Printf("%d %d %p\n", message.Len(), message.Cap(), message) warnedAboutLongLine = false case <-ctx.Done(): return nil } default: + // TODO: Add integration test with input file having a very long line. if message.Len() >= lineLengthThreshold { if !warnedAboutLongLine { f.serverMessages <- dlog.Common.Warn(f.filePath, "Long log line, splitting into multiple lines") warnedAboutLongLine = true } - message.WriteString("\n") select { case rawLines <- message: message = pool.BytesBuffer.Get().(*bytes.Buffer) @@ -222,7 +228,6 @@ func (f readFile) read(ctx context.Context, fd *os.File, reader *bufio.Reader, return nil } } - message.WriteByte(b) } } } diff --git a/internal/protocol/protocol.go b/internal/protocol/protocol.go index d29706c..2a95a00 100644 --- a/internal/protocol/protocol.go +++ b/internal/protocol/protocol.go @@ -2,7 +2,7 @@ package protocol const ( // ProtocolCompat -ibility version - ProtocolCompat string = "4" + ProtocolCompat string = "5" // MessageDelimiter delimits separate messages. MessageDelimiter byte = '¬' // FieldDelimiter delimits messagefields. diff --git a/internal/server/handlers/basehandler.go b/internal/server/handlers/basehandler.go index 897ff81..f068944 100644 --- a/internal/server/handlers/basehandler.go +++ b/internal/server/handlers/basehandler.go @@ -44,7 +44,7 @@ type baseHandler struct { once sync.Once mutex sync.Mutex quiet bool - plain bool + plain bool serverless bool } diff --git a/internal/server/server.go b/internal/server/server.go index 0cb5e27..fffa560 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -36,7 +36,7 @@ type Server struct { // New returns a new server. func New() *Server { - dlog.Server.Info("Creating server", version.String()) + dlog.Server.Info("Starting server", version.String()) s := Server{ sshServerConfig: &gossh.ServerConfig{}, diff --git a/internal/version/version.go b/internal/version/version.go index 60e44c2..e2388f5 100644 --- a/internal/version/version.go +++ b/internal/version/version.go @@ -13,7 +13,7 @@ const ( // Name of DTail. Name string = "DTail" // Version of DTail. - Version string = "4.0.0-RC4" + Version string = "4.0.0-RC5" // Additional information for DTail Additional string = "Have a lot of fun!" ) -- cgit v1.2.3