)]}'
{
  "commit": "25e493ff7242e9e9f91a20f7deec90d7e6cc04cd",
  "tree": "f9c8f1a5fd16bb2d19b91507364ce0f08eaab317",
  "parents": [
    "69a010060b2d3214ac81b32b7bfd0cafcf6e5e0e"
  ],
  "author": {
    "name": "Phoenix Meadowlark",
    "email": "meadowlark@google.com",
    "time": "Fri Jul 17 14:05:08 2020 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jul 17 14:05:08 2020 -0700"
  },
  "message": "Simplify module compilation and rename `SavedModelTestCase` (#2562)\n\n- `SavedModelTestCase` is renamed to `CompiledModuleTestCase`, since we have moved away from using `SavedModel`s as inputs to our e2e tests.\r\n- Now `tf_test_utils.compile_module` and `CompiledModule.create` both take a `tf.Module` subclass as their input. Previously we allowed either a \"`tf.Module` subclass\" or a \"function which returns a `tf.Module` subclass instance\" to be passed under the name `ctor`. This also allows us to assume that `module_class` has a `__name__` attribute, which we can use when saving compilation/benchmarking artifacts.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f0327721747429b0e40db4a1428a45a163778537",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/bindings/python/pyiree/tf/support/tf_test_utils.py",
      "new_id": "9cc1c93400c98e781c0b0fba9c88eb101bc7f55d",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/bindings/python/pyiree/tf/support/tf_test_utils.py"
    },
    {
      "type": "modify",
      "old_id": "275262942c73ef7d539e66e3f1713422f3a64586",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/bindings/python/pyiree/tf/support/tf_utils.py",
      "new_id": "4ef66d180185f06dd6bb0111cb6bfc8ebfb11161",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/bindings/python/pyiree/tf/support/tf_utils.py"
    },
    {
      "type": "modify",
      "old_id": "f9f8d8c2cd0a9b888e9c032781eeb10f919ad957",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/batch_norm_test.py",
      "new_id": "75de16d0e1110e9160d02c2d81a03111ae8cbcd0",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/batch_norm_test.py"
    },
    {
      "type": "modify",
      "old_id": "cde2fd61a5a96dd78c4b739b58b1c6c8b4a56882",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/broadcasting_test.py",
      "new_id": "74880bdb8813acb48ab3802c116fec0cb9f155b8",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/broadcasting_test.py"
    },
    {
      "type": "modify",
      "old_id": "a9f975923ed886b2f8b000eb8991d3167dfde206",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/concat_test.py",
      "new_id": "b7a348c0facce5fdd7edac3db075e403c884b355",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/concat_test.py"
    },
    {
      "type": "modify",
      "old_id": "0223e8c7df087dc7a4a2aa8d8cffdbb26413ffb6",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/control_flow_test.py",
      "new_id": "d8bebc1b2693b6721e7a21f3ac9f220780321584",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/control_flow_test.py"
    },
    {
      "type": "modify",
      "old_id": "f72b11dd0aed4940421d5a68bccc46f47f43bad2",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/conv_test.py",
      "new_id": "61c46cf5e3b5e99eb2a271f73edd357fcba2056a",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/conv_test.py"
    },
    {
      "type": "modify",
      "old_id": "cdf4d1ead801ea171fefec6d1db7d75504db9aeb",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/depth_conv_test.py",
      "new_id": "1e8a002caa0fa9889fda006bbb873fba7f654ce3",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/depth_conv_test.py"
    },
    {
      "type": "modify",
      "old_id": "04de6034e36f7fc9d3bd0128c6afbe31f5df26bc",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/dynamic_mlp_relu_test.py",
      "new_id": "64c51e9b2854830822ca2c6cf0e01be84e1b1e4d",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/dynamic_mlp_relu_test.py"
    },
    {
      "type": "modify",
      "old_id": "66f3c06851d337e398b36f6d53f7b54b426edda4",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/dynamic_mlp_test.py",
      "new_id": "72d7f1f45dd5a75e2dbb03624e1b2c02480c8c02",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/dynamic_mlp_test.py"
    },
    {
      "type": "modify",
      "old_id": "903b34c3ea26204a82061657a44f3c0d87da605e",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/explicit_backend_test.py",
      "new_id": "bdcdd79dea651457921c657018877ebd0a609eb4",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/explicit_backend_test.py"
    },
    {
      "type": "modify",
      "old_id": "8ef96a9e9229532a02d35918f0fff70f6bbf57f4",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/fill_test.py",
      "new_id": "8d912a4e1798c08ac94cb1d42f3e7bc582ea2d22",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/fill_test.py"
    },
    {
      "type": "modify",
      "old_id": "8d2a0ba21bddc17333db61de54785ce95840644f",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/gather_test.py",
      "new_id": "67f5acfba37c9fea2b8304d2412f536bfe388f96",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/gather_test.py"
    },
    {
      "type": "modify",
      "old_id": "0d34d97374ceb703e89160bfdbeb8ce232d7e076",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/keras/lstm_static_test.py",
      "new_id": "fb7a58c45aedb82735153a5b2dc75a68d3b62fed",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/keras/lstm_static_test.py"
    },
    {
      "type": "modify",
      "old_id": "671c31b67fad02d206c0281dba1ea896fdd5f3d3",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/keras/lstm_test.py",
      "new_id": "9409d043c31b526b1313f4138d5791aa26c77f7f",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/keras/lstm_test.py"
    },
    {
      "type": "modify",
      "old_id": "667595604f64c7122ac8c2aaf95b731ab83683cf",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/keras/train/model_train_test.py",
      "new_id": "e30bd5790ca26369f3a3aaa27731fafe5674ca11",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/keras/train/model_train_test.py"
    },
    {
      "type": "modify",
      "old_id": "1804739c5bfed1fd3f2c8ee8d973547399700d25",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/keras/vision_model_test.py",
      "new_id": "4f3917e9918194cbf6e43e9d2d96ebdad0a0045c",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/keras/vision_model_test.py"
    },
    {
      "type": "modify",
      "old_id": "d326db551cfb480573e1cb16528cad9c655116f5",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/linspace_test.py",
      "new_id": "aa49f5b187765e9a7b006f497abaa9b972161d29",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/linspace_test.py"
    },
    {
      "type": "modify",
      "old_id": "4886b7a7419e46299d8066cc8e8c472cc46b5c10",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/mandelbrot_test.py",
      "new_id": "216b1b95f2e95d47a48d8cd22e12cac9e8e435f3",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/mandelbrot_test.py"
    },
    {
      "type": "modify",
      "old_id": "b27d1d182ac094ea6e367371ceac75de71aa35d8",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/math_test.py",
      "new_id": "a33ac7c3f18660664880873266294f5a35a55578",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/math_test.py"
    },
    {
      "type": "modify",
      "old_id": "b29a198ed6d9750a6a7adbe3f2ef4adcaf780cdf",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/matrix_ops_test.py",
      "new_id": "d04ce3acb1a09c5e2f3f391a2c885c3a21cb2b61",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/matrix_ops_test.py"
    },
    {
      "type": "modify",
      "old_id": "1d703c019b6b9e690a79cba90eb214a88ac4fe94",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/resource_ops_test.py",
      "new_id": "8daa6cfa00065a2ed13cce6e6a5dcdda436724e8",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/resource_ops_test.py"
    },
    {
      "type": "modify",
      "old_id": "ea48711b22018700101dcb445f5101e27f0edbc7",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/ring_buffer_test.py",
      "new_id": "3af150297199b8bc70211814a93ae41716f0d953",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/ring_buffer_test.py"
    },
    {
      "type": "modify",
      "old_id": "cdd327796f84b7f84e293b280bf9e1da6d5e8422",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/scatter_update_test.py",
      "new_id": "ab5ab910edf3529fab9de31c5790517aeaa81d08",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/scatter_update_test.py"
    },
    {
      "type": "modify",
      "old_id": "0c5941d598740784c0392445f4ee38af0b2a66d4",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/simple_arithmetic_test.py",
      "new_id": "d3ea327db2cb266b0bf61ee679c0ca74c054cce4",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/simple_arithmetic_test.py"
    },
    {
      "type": "modify",
      "old_id": "45eba4f576909bf11c2b069eb8634ca699fbb75a",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/simple_stateful_test.py",
      "new_id": "24dd23e3abe4568c360044e57ad32fb585a77cbb",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/simple_stateful_test.py"
    },
    {
      "type": "modify",
      "old_id": "b663fc8053b4b41b34a14101eee053bde36d5f00",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/sliding_window_test.py",
      "new_id": "f206d86242fdeca33c80e77b51bebdbdd886d67e",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/sliding_window_test.py"
    },
    {
      "type": "modify",
      "old_id": "ac590ff47d8f7088e00a7e43e68d9f5c92f9127d",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/strings_test.py",
      "new_id": "ce0787e076d3e39de148ab026d72403ac07f057f",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/strings_test.py"
    },
    {
      "type": "modify",
      "old_id": "f8ea811f4b339125068e911a7d80805563fabf86",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/tensorlist_test.py",
      "new_id": "421760cbb8dd23e88dc37b1efcc0898b8bbe4da3",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/tensorlist_test.py"
    }
  ]
}
