)]}'
{"test/functional/__init__.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9fda0e59049bcbc40e7d22e400731fd1a567ad47","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    try:"},{"line_number":166,"context_line":"        section \u003d \u0027pipeline:main\u0027"},{"line_number":167,"context_line":"        orig_pipeline \u003d conf.get(section, \u0027pipeline\u0027)"},{"line_number":168,"context_line":"        new_pipeline \u003d re.sub(\"proxy-logging\","},{"line_number":169,"context_line":"                              \"keymaster encryption proxy-logging\","},{"line_number":170,"context_line":"                              orig_pipeline)"},{"line_number":171,"context_line":"        conf.set(section, \u0027pipeline\u0027, new_pipeline)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_016b19ba","line":168,"updated":"2016-07-26 16:18:15.000000000","message":"there are two proxy-logging filters in the pipeline, I suspect you are matching and replacing the first.\n\ntry: \n\n  new_pipeline \u003d re.sub(\"proxy-logging proxy-server\",\n                              \"keymaster encryption proxy-logging proxy-server\",\n                              orig_pipeline)","commit_id":"fdcb7570ed93c84ef8c70adfc81a150942774d3e"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ef00e025ffd6c3c0daaf1055a8412d148937c588","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    try:"},{"line_number":166,"context_line":"        section \u003d \u0027pipeline:main\u0027"},{"line_number":167,"context_line":"        orig_pipeline \u003d conf.get(section, \u0027pipeline\u0027)"},{"line_number":168,"context_line":"        new_pipeline \u003d re.sub("},{"line_number":169,"context_line":"            \"proxy-logging proxy-server\","},{"line_number":170,"context_line":"            \"keymaster encryption proxy-logging proxy-server\","},{"line_number":171,"context_line":"            orig_pipeline)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_639e3964","line":168,"updated":"2016-07-27 10:54:01.000000000","message":"not sure you need to use regex, this could be done with a string replace. If you are going to use regex then you could add a \u0027$\u0027 to guarantee that you are matching the end of the pipeline, but that is a bit OTT given that proxy-server has to be at the end.","commit_id":"4cad0e9b66d8df47e9f424a963b5ffb56ba3e43b"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ef00e025ffd6c3c0daaf1055a8412d148937c588","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    override proxy-server.conf contents for in-process functional test runs"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    :param proxy_conf_src: Source proxy conf for defaults to use"},{"line_number":185,"context_line":"    :param testdir: Test directory for resulting test proxy conf"},{"line_number":186,"context_line":"    :param override_conf: function taking ConfigParser that modifies the conf"},{"line_number":187,"context_line":"    :returns: Path to the test proxy conf file to use"},{"line_number":188,"context_line":"    :raises InProcessException: raised if conf contents are invalid"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_63fbd947","line":185,"updated":"2016-07-27 10:54:01.000000000","message":"_testdir is a global - shouldn\u0027t need to pass it as an arg?","commit_id":"4cad0e9b66d8df47e9f424a963b5ffb56ba3e43b"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ef00e025ffd6c3c0daaf1055a8412d148937c588","unresolved":false,"context_lines":[{"line_number":186,"context_line":"    :param override_conf: function taking ConfigParser that modifies the conf"},{"line_number":187,"context_line":"    :returns: Path to the test proxy conf file to use"},{"line_number":188,"context_line":"    :raises InProcessException: raised if conf contents are invalid"},{"line_number":189,"context_line":"    \"\"\""},{"line_number":190,"context_line":"    conf \u003d ConfigParser()"},{"line_number":191,"context_line":"    conf.read(proxy_conf_src)"},{"line_number":192,"context_line":"    _debug(\u0027testdir is %s\u0027 % testdir)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_cdff5464","line":189,"updated":"2016-07-27 10:54:01.000000000","message":"It may be useful to future us to have a comment here as to why we would generate a modified conf file rather than modifying the global config dict e.g. that adding a pipeline value to the global config does not work","commit_id":"4cad0e9b66d8df47e9f424a963b5ffb56ba3e43b"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ef00e025ffd6c3c0daaf1055a8412d148937c588","unresolved":false,"context_lines":[{"line_number":326,"context_line":"    return obj_sockets"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"def _setup_encryption(proxy_conf):"},{"line_number":330,"context_line":"    _debug(\u0027Setting configuration for encryption\u0027)"},{"line_number":331,"context_line":"    return _in_process_setup_proxy_conf("},{"line_number":332,"context_line":"        proxy_conf, _testdir, _override_conf_encryption)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_e06b3fef","line":329,"updated":"2016-07-27 10:54:01.000000000","message":"add **kwargs:\n\n  def _setup_encryption(proxy_conf, **kwargs):","commit_id":"4cad0e9b66d8df47e9f424a963b5ffb56ba3e43b"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ef00e025ffd6c3c0daaf1055a8412d148937c588","unresolved":false,"context_lines":[{"line_number":328,"context_line":""},{"line_number":329,"context_line":"def _setup_encryption(proxy_conf):"},{"line_number":330,"context_line":"    _debug(\u0027Setting configuration for encryption\u0027)"},{"line_number":331,"context_line":"    return _in_process_setup_proxy_conf("},{"line_number":332,"context_line":"        proxy_conf, _testdir, _override_conf_encryption)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_3eb2984c","line":331,"updated":"2016-07-27 10:54:01.000000000","message":"I\u0027m not convinced that plumbing via the _in_process_setup_proxy_conf helps that much vs. the additional complexity. I understand that you are thinking of future similar patterns, but the helper doesn\u0027t do that much (parse then write the conf file) and is specific to proxy-server.conf. I think I\u0027d prefer to just see the modifications happen right here, and introduce helpers as and when the next use cases come along. Just my opinion though.\n\nIf you are going to stick with this then _setup_encryption could be replaced with a functools.partial (see line 336), but people sometimes complain that is too obscure.","commit_id":"4cad0e9b66d8df47e9f424a963b5ffb56ba3e43b"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ef00e025ffd6c3c0daaf1055a8412d148937c588","unresolved":false,"context_lines":[{"line_number":331,"context_line":"    return _in_process_setup_proxy_conf("},{"line_number":332,"context_line":"        proxy_conf, _testdir, _override_conf_encryption)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"test_conf_funcs \u003d {"},{"line_number":336,"context_line":"    \u0027encryption\u0027: _setup_encryption"},{"line_number":337,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_a065c71e","line":334,"updated":"2016-07-27 10:54:01.000000000","message":"Add a comment to say what this is and what the expected signature of the mapped functions should be. I suggest including **kwargs in the expected signature for future proofing, in case we ever want to pass other args to new functions without breaking the old.","commit_id":"4cad0e9b66d8df47e9f424a963b5ffb56ba3e43b"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ef00e025ffd6c3c0daaf1055a8412d148937c588","unresolved":false,"context_lines":[{"line_number":333,"context_line":""},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"test_conf_funcs \u003d {"},{"line_number":336,"context_line":"    \u0027encryption\u0027: _setup_encryption"},{"line_number":337,"context_line":"}"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_de59bcfe","line":336,"updated":"2016-07-27 10:54:01.000000000","message":"or\n\n  \u0027encryption\u0027: functools.partial(_in_process_setup_proxy_conf, _override_conf_encryption)\n\n(I probably have the args messed up but that\u0027s the idea)\n\nThat said, I\u0027d still vote for simply inlining the \"helper\" code.","commit_id":"4cad0e9b66d8df47e9f424a963b5ffb56ba3e43b"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ef00e025ffd6c3c0daaf1055a8412d148937c588","unresolved":false,"context_lines":[{"line_number":513,"context_line":"    def get_logger(name, *args, **kwargs):"},{"line_number":514,"context_line":"        return logger"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"    # If an env var explicitly selects a test config to use,"},{"line_number":517,"context_line":"    # call the associated method for that test config."},{"line_number":518,"context_line":"    test_conf_label \u003d os.environ.get("},{"line_number":519,"context_line":"        \u0027SWIFT_TEST_IN_PROCESS_TEST_CONF\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_60546fc9","line":516,"updated":"2016-07-27 10:54:01.000000000","message":"I think I\u0027d prefer to see this done around line 359 i.e. adjacent to where proxy_conf is first set, so that all the conf setup happens in one place. Also means that the new env var is made obvious at the start of the function, to anyone reading the code.","commit_id":"4cad0e9b66d8df47e9f424a963b5ffb56ba3e43b"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ef00e025ffd6c3c0daaf1055a8412d148937c588","unresolved":false,"context_lines":[{"line_number":516,"context_line":"    # If an env var explicitly selects a test config to use,"},{"line_number":517,"context_line":"    # call the associated method for that test config."},{"line_number":518,"context_line":"    test_conf_label \u003d os.environ.get("},{"line_number":519,"context_line":"        \u0027SWIFT_TEST_IN_PROCESS_TEST_CONF\u0027)"},{"line_number":520,"context_line":"    if test_conf_label is not None:"},{"line_number":521,"context_line":"        try:"},{"line_number":522,"context_line":"            test_conf_func \u003d test_conf_funcs[test_conf_label]"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_efa687a9","line":519,"updated":"2016-07-27 10:54:01.000000000","message":"Having \u0027TEST\u0027 in the var name twice seems OTT :) How about SWIFT_TEST_IN_PROCESS_CONF_LOADER ?\n\nI\u0027d avoid including proxy in the var name because this trick could in future be expanded to allow other confs to be modified.","commit_id":"4cad0e9b66d8df47e9f424a963b5ffb56ba3e43b"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"22e34040b2e1bdd4a154d236a99c1476aa62b042","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    return test_conf_file"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"def _apply_encryption_ovr(conf):"},{"line_number":164,"context_line":"    try:"},{"line_number":165,"context_line":"        section \u003d \u0027pipeline:main\u0027"},{"line_number":166,"context_line":"        pipeline \u003d conf.get(section, \u0027pipeline\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_791de572","line":163,"updated":"2016-07-28 11:24:46.000000000","message":"I still don\u0027t see why this needs to be broken out into a separate function. And distant in file from _load_encryption.\n\nNo docstring here?","commit_id":"d7944a28d87d27a750f177ffa2a901bac59e3a9c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"22e34040b2e1bdd4a154d236a99c1476aa62b042","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        root_secret \u003d os.urandom(32).encode(\"base64\")"},{"line_number":172,"context_line":"        conf.set(\u0027filter:keymaster\u0027, \u0027encryption_root_secret\u0027, root_secret)"},{"line_number":173,"context_line":"    except NoSectionError:"},{"line_number":174,"context_line":"        msg \u003d \u0027Proxy conf file is missing section %s\u0027 % section"},{"line_number":175,"context_line":"        raise InProcessException(msg)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_0aa449a4","line":174,"updated":"2016-07-28 11:24:46.000000000","message":"The problem could be with the filter:keymaster section missing. How about:\n\n    except NoSectionError as err:\n        msg \u003d \u0027Error Problem with proxy conf file: %s\u0027 % err\n        raise InProcessException(msg)\n\nIf the content of this function were inlined to _load_encryption you could include the proxy conf file path in the message too :P","commit_id":"d7944a28d87d27a750f177ffa2a901bac59e3a9c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"22e34040b2e1bdd4a154d236a99c1476aa62b042","unresolved":false,"context_lines":[{"line_number":306,"context_line":"    \"\"\""},{"line_number":307,"context_line":"    Load encryption configuration and override proxy-server.conf contents."},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    :param proxy_conf: Source proxy conf for defaults to use"},{"line_number":310,"context_line":"    :returns: Path to the test proxy conf file to use"},{"line_number":311,"context_line":"    :raises InProcessException: raised if conf contents are invalid"},{"line_number":312,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_799a0516","line":309,"updated":"2016-07-28 11:24:46.000000000","message":"nit: let\u0027s state that its a file path. could even make the arg proxy_conf_file.\n\n(imho the _in_process_setup var would also be better named proxy_conf_file but that\u0027s nothing to do with this patch)","commit_id":"d7944a28d87d27a750f177ffa2a901bac59e3a9c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"22e34040b2e1bdd4a154d236a99c1476aa62b042","unresolved":false,"context_lines":[{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    :param proxy_conf: Source proxy conf for defaults to use"},{"line_number":310,"context_line":"    :returns: Path to the test proxy conf file to use"},{"line_number":311,"context_line":"    :raises InProcessException: raised if conf contents are invalid"},{"line_number":312,"context_line":"    \"\"\""},{"line_number":313,"context_line":"    _debug(\u0027Setting configuration for encryption\u0027)"},{"line_number":314,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_bf257dac","line":311,"updated":"2016-07-28 11:24:46.000000000","message":"nit: conf-\u003eproxy_conf","commit_id":"d7944a28d87d27a750f177ffa2a901bac59e3a9c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"22e34040b2e1bdd4a154d236a99c1476aa62b042","unresolved":false,"context_lines":[{"line_number":315,"context_line":"    # The global conf dict cannot be used to modify the pipeline."},{"line_number":316,"context_line":"    # The pipeline loader requires the pipeline to be set in the local_conf."},{"line_number":317,"context_line":"    # If pipeline is set in the global conf dict, then it prevents the value"},{"line_number":318,"context_line":"    # in proxy-server.conf being added to local_conf."},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    conf \u003d ConfigParser()"},{"line_number":321,"context_line":"    conf.read(proxy_conf)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_25017eaf","line":318,"updated":"2016-07-28 11:24:46.000000000","message":"Strictly I think it is that if pipeline is set in the global conf dict (which in turn populates the DEFAULTS options) then it prevents pipeline being loaded into the local conf during wsgi load_app. Therefore we must modify the [pipeline:main] section.","commit_id":"d7944a28d87d27a750f177ffa2a901bac59e3a9c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"22e34040b2e1bdd4a154d236a99c1476aa62b042","unresolved":false,"context_lines":[{"line_number":334,"context_line":"# The expected signature for these methods is:"},{"line_number":335,"context_line":"# conf_filename_to_use loader(input_conf_filename, **kwargs)"},{"line_number":336,"context_line":"conf_loaders \u003d {"},{"line_number":337,"context_line":"    \u0027encryption\u0027: _load_encryption"},{"line_number":338,"context_line":"}"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_8a12f9b2","line":337,"updated":"2016-07-28 11:24:46.000000000","message":"For \"fun\" I tried adding\n\n  \u0027foo\u0027: lambda f, **kwargs: f\n\nthen SWIFT_TEST_IN_PROCESS_CONF_LOADER\u003dfoo runs the default conf :)\n\nAnd BTW using __name__ as suggested at line 380 will result in \u003clambda\u003e :)","commit_id":"d7944a28d87d27a750f177ffa2a901bac59e3a9c"},{"author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"change_message_id":"15b70262d0e148f36613ee3384aece5009c26d6d","unresolved":false,"context_lines":[{"line_number":334,"context_line":"# The expected signature for these methods is:"},{"line_number":335,"context_line":"# conf_filename_to_use loader(input_conf_filename, **kwargs)"},{"line_number":336,"context_line":"conf_loaders \u003d {"},{"line_number":337,"context_line":"    \u0027encryption\u0027: _load_encryption"},{"line_number":338,"context_line":"}"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_e4859a59","line":337,"in_reply_to":"bacf61ea_8a12f9b2","updated":"2016-07-28 15:27:54.000000000","message":"good to know!  thanks for the test.","commit_id":"d7944a28d87d27a750f177ffa2a901bac59e3a9c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"22e34040b2e1bdd4a154d236a99c1476aa62b042","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        try:"},{"line_number":378,"context_line":"            conf_loader \u003d conf_loaders[conf_loader_label]"},{"line_number":379,"context_line":"            _debug(\u0027Calling method %s mapped to conf loader %s\u0027 %"},{"line_number":380,"context_line":"                   (conf_loader, conf_loader_label))"},{"line_number":381,"context_line":"        except KeyError as missing_key:"},{"line_number":382,"context_line":"            raise InProcessException(\u0027No function mapped for conf loader %s\u0027 %"},{"line_number":383,"context_line":"                                     missing_key)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_ff6a5519","line":380,"updated":"2016-07-28 11:24:46.000000000","message":"using conf_loader.__name__ will give a prettier output","commit_id":"d7944a28d87d27a750f177ffa2a901bac59e3a9c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"92db3bd5fbf9853fd22659bda45c86eccd76d0ec","unresolved":false,"context_lines":[{"line_number":309,"context_line":"    try:"},{"line_number":310,"context_line":"        section \u003d \u0027pipeline:main\u0027"},{"line_number":311,"context_line":"        pipeline \u003d conf.get(section, \u0027pipeline\u0027)"},{"line_number":312,"context_line":"        pipeline.replace("},{"line_number":313,"context_line":"            \"proxy-logging proxy-server\","},{"line_number":314,"context_line":"            \"keymaster encryption proxy-logging proxy-server\")"},{"line_number":315,"context_line":"        conf.set(section, \u0027pipeline\u0027, pipeline)"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_05a6de0f","line":312,"updated":"2016-07-28 19:06:40.000000000","message":"needs to be pipeline\u003dpipeline.replace","commit_id":"a6ec57d8ae3ed1f33fd3088f2d5f6b82f0f2f39f"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"2e2da09f3524400fbefae94d0b409263e18fc217","unresolved":false,"context_lines":[{"line_number":372,"context_line":"    # \u0027SWIFT_TEST_IN_PROCESS_CONF_LOADER\u0027, if one exists"},{"line_number":373,"context_line":"    conf_loader_label \u003d os.environ.get("},{"line_number":374,"context_line":"        \u0027SWIFT_TEST_IN_PROCESS_CONF_LOADER\u0027)"},{"line_number":375,"context_line":"    if conf_loader_label is not None:"},{"line_number":376,"context_line":"        try:"},{"line_number":377,"context_line":"            conf_loader \u003d conf_loaders[conf_loader_label]"},{"line_number":378,"context_line":"            _debug(\u0027Calling method %s mapped to conf loader %s\u0027 %"}],"source_content_type":"text/x-python","patch_set":7,"id":"bacf61ea_39c4663e","line":375,"updated":"2016-08-01 18:51:02.000000000","message":"just None? what about empty string? might be better to drop the \"is not None\" overall","commit_id":"66520146cfea2db77cbc4a1eaf5648a5122654ec"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"2e2da09f3524400fbefae94d0b409263e18fc217","unresolved":false,"context_lines":[{"line_number":466,"context_line":"    # If an env var explicitly specifies the proxy-server object_post_as_copy"},{"line_number":467,"context_line":"    # option then use its value, otherwise leave default config unchanged."},{"line_number":468,"context_line":"    object_post_as_copy \u003d os.environ.get("},{"line_number":469,"context_line":"        \u0027SWIFT_TEST_IN_PROCESS_OBJECT_POST_AS_COPY\u0027)"},{"line_number":470,"context_line":"    if object_post_as_copy is not None:"},{"line_number":471,"context_line":"        object_post_as_copy \u003d config_true_value(object_post_as_copy)"},{"line_number":472,"context_line":"        config[\u0027object_post_as_copy\u0027] \u003d str(object_post_as_copy)"}],"source_content_type":"text/x-python","patch_set":7,"id":"bacf61ea_9c0bc023","line":469,"updated":"2016-08-01 18:51:02.000000000","message":"Cool! So with this change, we could to a follow-up to make fast post work the same way. This could be a really useful way to add a bunch of different tests to the gate.","commit_id":"66520146cfea2db77cbc4a1eaf5648a5122654ec"}],"tox.ini":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ef00e025ffd6c3c0daaf1055a8412d148937c588","unresolved":false,"context_lines":[{"line_number":53,"context_line":"setenv \u003d SWIFT_TEST_IN_PROCESS\u003d1"},{"line_number":54,"context_line":"         SWIFT_TEST_IN_PROCESS_OBJECT_POST_AS_COPY\u003dFalse"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"[testenv:func-in-process-encryption-test-conf]"},{"line_number":57,"context_line":"commands \u003d ./.functests {posargs}"},{"line_number":58,"context_line":"setenv \u003d SWIFT_TEST_IN_PROCESS\u003d1"},{"line_number":59,"context_line":"         SWIFT_TEST_IN_PROCESS_TEST_CONF\u003dencryption"}],"source_content_type":"text/x-properties","patch_set":4,"id":"dada55a8_0ff15b95","line":56,"updated":"2016-07-27 10:54:01.000000000","message":"nit: imho func-in-process-encryption would be sufficient","commit_id":"4cad0e9b66d8df47e9f424a963b5ffb56ba3e43b"}]}
