{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":29548255,"defaultBranch":"master","name":"pycotap","ownerLogin":"remko","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-01-20T19:39:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/12300?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1682762167.0","currentOid":""},"activityList":{"items":[{"before":"3689295b48a526882bcf78f5e6b96336be65a177","after":"413951ead54b4c7d965747b0f483a24d9fea8302","ref":"refs/heads/master","pushedAt":"2023-04-29T15:55:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"Ignore .venv dir","shortMessageHtmlLink":"Ignore .venv dir"}},{"before":"79d3a2dc7d1f65da9a7c6422af773ef05584977b","after":"3689295b48a526882bcf78f5e6b96336be65a177","ref":"refs/heads/master","pushedAt":"2023-04-29T09:56:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"8883e5b46dd33bc0bf03acfe94648a0c9c5a36f6","after":"79d3a2dc7d1f65da9a7c6422af773ef05584977b","ref":"refs/heads/master","pushedAt":"2023-04-29T06:23:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"github: Add coverage build","shortMessageHtmlLink":"github: Add coverage build"}},{"before":"ecb28bd87e558f2a854584f55b86d778339fe2c8","after":"8883e5b46dd33bc0bf03acfe94648a0c9c5a36f6","ref":"refs/heads/master","pushedAt":"2023-04-29T06:20:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"github: Add coverage build","shortMessageHtmlLink":"github: Add coverage build"}},{"before":"917f94e08f1ea5c5b56601f7168a29747557b6ea","after":"ecb28bd87e558f2a854584f55b86d778339fe2c8","ref":"refs/heads/master","pushedAt":"2023-04-29T06:18:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"github: Add coverage build","shortMessageHtmlLink":"github: Add coverage build"}},{"before":"32b86196ea42c0fe76666f79ceb66dd3b6ba833d","after":"917f94e08f1ea5c5b56601f7168a29747557b6ea","ref":"refs/heads/master","pushedAt":"2023-04-29T06:18:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"github: Add coverage build","shortMessageHtmlLink":"github: Add coverage build"}},{"before":"f30fa092c9dab2c59eb6e0b9e70a459d2beb8591","after":"32b86196ea42c0fe76666f79ceb66dd3b6ba833d","ref":"refs/heads/master","pushedAt":"2023-04-29T06:17:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"github: Add coverage build","shortMessageHtmlLink":"github: Add coverage build"}},{"before":"a843019ac2f74969a8c77a89072588de4b258b5e","after":"f30fa092c9dab2c59eb6e0b9e70a459d2beb8591","ref":"refs/heads/master","pushedAt":"2023-04-29T06:12:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"github: Add coverage build","shortMessageHtmlLink":"github: Add coverage build"}},{"before":"b6ca946aa6884d975466298bc34966b492ab5462","after":"a843019ac2f74969a8c77a89072588de4b258b5e","ref":"refs/heads/master","pushedAt":"2023-04-29T05:49:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"github: Add coverage build","shortMessageHtmlLink":"github: Add coverage build"}},{"before":"30441caba84e69fe93993e2fd5661065b364558b","after":"b6ca946aa6884d975466298bc34966b492ab5462","ref":"refs/heads/master","pushedAt":"2023-04-28T10:25:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"c8128e43f29fd38eea2bd494d8805530b860b965","after":"30441caba84e69fe93993e2fd5661065b364558b","ref":"refs/heads/master","pushedAt":"2023-04-28T10:21:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"README: Add badges","shortMessageHtmlLink":"README: Add badges"}},{"before":"1c8573d69d07edc7259c4b496bfe94fef0efb885","after":"c8128e43f29fd38eea2bd494d8805530b860b965","ref":"refs/heads/master","pushedAt":"2023-04-28T10:18:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"github: Add runner","shortMessageHtmlLink":"github: Add runner"}},{"before":"73cd228bf2ccdb46870e5d900b885331ce695bbb","after":"1c8573d69d07edc7259c4b496bfe94fef0efb885","ref":"refs/heads/master","pushedAt":"2023-04-28T10:17:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"Move YAPF into pyproject","shortMessageHtmlLink":"Move YAPF into pyproject"}},{"before":"dffb395f41140add66222c4e341fff357c96a50a","after":"73cd228bf2ccdb46870e5d900b885331ce695bbb","ref":"refs/heads/master","pushedAt":"2023-04-28T10:10:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"Move YAPF into pyproject","shortMessageHtmlLink":"Move YAPF into pyproject"}},{"before":"b96f139dffe23dd51b262a05248e3fd8b4a12018","after":"dffb395f41140add66222c4e341fff357c96a50a","ref":"refs/heads/master","pushedAt":"2023-04-28T10:08:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"Fix unit tests","shortMessageHtmlLink":"Fix unit tests"}},{"before":"70ea70aca3d585aedd172dbf54566b8f612a72c2","after":"b96f139dffe23dd51b262a05248e3fd8b4a12018","ref":"refs/heads/master","pushedAt":"2023-04-28T09:54:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"Add custom YAPF style","shortMessageHtmlLink":"Add custom YAPF style"}},{"before":"51585d72b8148f355c28fd6f25a3cfd64048ee91","after":"70ea70aca3d585aedd172dbf54566b8f612a72c2","ref":"refs/heads/master","pushedAt":"2023-04-28T09:51:27.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"edf17c4f2914ef0ae077d2617146bb542db252e1","after":"51585d72b8148f355c28fd6f25a3cfd64048ee91","ref":"refs/heads/master","pushedAt":"2023-04-28T09:44:58.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"Seek before truncating\n\nFeels safer, and avoids a point in time where there could be a pointer\nto uninitialized memory (in case some analysis cares)","shortMessageHtmlLink":"Seek before truncating"}},{"before":"84b2ac190ca83bb9020e7d00ed45a33beb1d5fcd","after":"edf17c4f2914ef0ae077d2617146bb542db252e1","ref":"refs/heads/master","pushedAt":"2023-04-28T09:41:46.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"remko","name":"Remko Tronçon","path":"/remko","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12300?s=80&v=4"},"commit":{"message":"Reset log stream position after truncating\n\nAt the end of each test, any output that has been buffered in the\nStringIO instance(s) that have been set on sys.stdout and sys.stderr is\nwritten to the real output stream (typically the original sys.stdout).\nThe StringIO is then truncated, ready for the next test.\n\nHowever, [the truncate() documentation][0] reminds us that, just as in\nthe underlying POSIX truncate() call:\n\n> The current stream position isn’t changed.\n\nSo if the first test has written 3 characters to the mock stdout, after\nwe truncate the stream, the current stream position remains at 3, not 0.\nThen, when the next test writes to the stream, bytes 0-2 are filled with\nNUL. You can see this clearly with the following test program:\n\n #!/usr/bin/python3\n import io\n\n x = io.StringIO()\n x.write(\"abc\")\n print(\"file size after truncate:\", x.truncate(0))\n print(\"stream position after truncate:\", x.tell())\n print(\"value after truncate: %r\" % x.getvalue())\n x.write(\"y\")\n print(\"stream position after write:\", x.tell())\n print(\"buffer after write: %r\" % x.getvalue())\n\nCall seek(0) to reset the stream position after truncating it.\n\nFixes #9 (for real).\n\n[0]: https://docs.python.org/3/library/io.html#io.IOBase.truncate","shortMessageHtmlLink":"Reset log stream position after truncating"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADIuFiFgA","startCursor":null,"endCursor":null}},"title":"Activity · remko/pycotap"}