)]}'
{"test/functional/tests.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"2fbf1ebf1313044c803e485ae950dddb81199b90","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @classmethod"},{"line_number":99,"context_line":"    def setUpClass(cls):"},{"line_number":100,"context_line":"        cls.env.setUp()"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def setUp(self):"},{"line_number":103,"context_line":"        if tf.in_process:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_8782e7ff","line":100,"updated":"2019-03-19 21:35:18.000000000","message":"This is where the old code gets into trouble -- we expect the test env to create a bunch of containers and objects that all the tests can then reference, and we expect the Test*UTF8 ones to have Utils.create_name set up such that they get utf8 names. But call order is something like\n\n setUpClass    \u003c-- This is where we\u0027re calling env.setUp()\n  setUp        \u003c-- And we swap out the name function here\n   test_asdf\n  tearDown     \u003c-- ... then we put it back ...\n  setUp        \u003c-- ... and swap it back out, over and over\n   test_qwer\n  tearDown\n  ...\n tearDownClass\n\nso the env only uses ASCII. I noticed this while growing suspicious about some py3 DLO func tests that passed way too easily; watching for PUT traffic with something like\n\n tcpdump -i lo -X \u0027tcp[((tcp[12:1] \u0026 0xf0) \u003e\u003e 2):4] \u003d 0x50555420\u0027\n\nthen running just test/functional/test_dlo.py:TestDloUTF8 confirmed it.","commit_id":"8593267810e04fd1e8a132b133cd03c8876bf861"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"b5fa43c924be7f25fd854f8c4b09b71ce9d7109d","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @classmethod"},{"line_number":99,"context_line":"    def setUpClass(cls):"},{"line_number":100,"context_line":"        cls.env.setUp()"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def setUp(self):"},{"line_number":103,"context_line":"        if tf.in_process:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_e9db6c1e","line":100,"in_reply_to":"5fc1f717_8782e7ff","updated":"2019-03-20 16:01:15.000000000","message":"thanks that makes sense, swapping the create function out over and over isn\u0027t \"so terrible\" - but doing it over and over *after* we\u0027re already created all the objects is worse than useless.","commit_id":"8593267810e04fd1e8a132b133cd03c8876bf861"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"7bce800a82897a655aac3d6cace233bc816273c6","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    @classmethod"},{"line_number":137,"context_line":"    def tearDownClass(cls):"},{"line_number":138,"context_line":"        Utils.create_name \u003d Utils.create_ascii_name"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"class TestAccountEnv(BaseEnv):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_b50872d9","line":138,"updated":"2019-03-19 19:00:58.000000000","message":"it\u0027s not obvious to me why this is better, monkey patching the function is cheap...","commit_id":"8593267810e04fd1e8a132b133cd03c8876bf861"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"2fbf1ebf1313044c803e485ae950dddb81199b90","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    @classmethod"},{"line_number":137,"context_line":"    def tearDownClass(cls):"},{"line_number":138,"context_line":"        Utils.create_name \u003d Utils.create_ascii_name"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"class TestAccountEnv(BaseEnv):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_67aa5bd3","line":138,"in_reply_to":"5fc1f717_b50872d9","updated":"2019-03-19 21:35:18.000000000","message":"IDK; pre-existing behaviour.","commit_id":"8593267810e04fd1e8a132b133cd03c8876bf861"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"7bce800a82897a655aac3d6cace233bc816273c6","unresolved":false,"context_lines":[{"line_number":356,"context_line":"            self.assert_status(200)"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"            marker \u003d (containers[-1] if format_type is None"},{"line_number":359,"context_line":"                      else containers[-1][\u0027name\u0027])"},{"line_number":360,"context_line":"            containers \u003d self.env.account.containers("},{"line_number":361,"context_line":"                parms\u003d{\u0027format\u0027: format_type, \u0027marker\u0027: marker})"},{"line_number":362,"context_line":"            self.assertEqual(len(containers), 0)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_755d2ae8","line":359,"updated":"2019-03-19 19:00:58.000000000","message":"lol, how was that working before?!","commit_id":"8593267810e04fd1e8a132b133cd03c8876bf861"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"2fbf1ebf1313044c803e485ae950dddb81199b90","unresolved":false,"context_lines":[{"line_number":356,"context_line":"            self.assert_status(200)"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"            marker \u003d (containers[-1] if format_type is None"},{"line_number":359,"context_line":"                      else containers[-1][\u0027name\u0027])"},{"line_number":360,"context_line":"            containers \u003d self.env.account.containers("},{"line_number":361,"context_line":"                parms\u003d{\u0027format\u0027: format_type, \u0027marker\u0027: marker})"},{"line_number":362,"context_line":"            self.assertEqual(len(containers), 0)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_07b7d73c","line":359,"in_reply_to":"5fc1f717_755d2ae8","updated":"2019-03-19 21:35:18.000000000","message":"I\u0027m gonna go with \"poorly\" :P\n\nI *think* it was serializing the dict (either as JSON or a Python repr), and \u0027{\u0027 just happens to be pretty late in the ASCII table...","commit_id":"8593267810e04fd1e8a132b133cd03c8876bf861"}]}
