)]}'
{
  "commit": "d5574198e9ae5f042c258a910dbe2e09e52e4e00",
  "tree": "681ca3e9e1fd3dfec2b94ea22c414c628c35f11d",
  "parents": [
    "45b70db8754d28e4e54732af28714f58a3816915"
  ],
  "author": {
    "name": "Phoenix Meadowlark",
    "email": "meadowlark@google.com",
    "time": "Wed Nov 18 15:01:39 2020 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Nov 18 15:01:39 2020 -0800"
  },
  "message": "Centralize tf.math coverage and expand to all functions (#3826)\n\nAdds tests for the functions in the `tf.math` API, with dynamic and complex variants.\r\n\r\nTo avoid adding another 1332 tests of `bazel` overhead to the CI while still generating coverage tables, I created two versions of the test suites: one that CI will run that detects any new errors, and one that creates a test for each function and backend. The tests that this change adds to the CI are:\r\n\r\n```bazel\r\n//integrations/tensorflow/e2e/math:math_complex_tests_multiple__iree_llvmjit PASSED in 26.9s\r\n//integrations/tensorflow/e2e/math:math_complex_tests_multiple__iree_vmla PASSED in 15.3s\r\n//integrations/tensorflow/e2e/math:math_complex_tests_multiple__iree_vulkan PASSED in 72.1s\r\n//integrations/tensorflow/e2e/math:math_complex_tests_multiple__tf       PASSED in 38.1s\r\n//integrations/tensorflow/e2e/math:math_dynamic_dims_tests_multiple__iree_llvmjit PASSED in 7.9s\r\n//integrations/tensorflow/e2e/math:math_dynamic_dims_tests_multiple__iree_vmla PASSED in 13.9s\r\n//integrations/tensorflow/e2e/math:math_dynamic_dims_tests_multiple__iree_vulkan PASSED in 4.5s\r\n//integrations/tensorflow/e2e/math:math_dynamic_dims_tests_multiple__tf  PASSED in 38.0s\r\n//integrations/tensorflow/e2e/math:math_tests_multiple__iree_llvmjit     PASSED in 41.5s\r\n//integrations/tensorflow/e2e/math:math_tests_multiple__iree_vmla        PASSED in 19.7s\r\n//integrations/tensorflow/e2e/math:math_tests_multiple__iree_vulkan      PASSED in 106.6s\r\n//integrations/tensorflow/e2e/math:math_tests_multiple__tf               PASSED in 38.2s\r\n//integrations/tensorflow/e2e/math:math_tests_multiple__tflite           PASSED in 21.1s\r\n```\r\n\r\nThe following tests are deleted:\r\n\r\n- `bool_test.py`\r\n- `complex_test.py`\r\n- `finite_test.py`\r\n- `logical_ops_test.py`\r\n\r\n`math_test.py` and `math_dyn_test.py` are replaced by `quantization_test.py` and `quantization_dyn_test.py`, since a fake quant test was added to them after the PR was made.\r\n\r\nSupporting changes:\r\n\r\n- Allow `tf.Tensor`s to be passed to traces. (Numpy\u0027s unchangeable `float64` default is cumbersome).\r\n- Add `set_minus` to `bazel`.\r\n- Expand support for input generation (e.g. uniform bools).",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "49eb68adb5fd97af0aa88da7959785596ed8b8f7",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/bindings/python/pyiree/tf/support/tf_test_utils.py",
      "new_id": "e18b5ce1922e0209c89941b1727db6e754fe9a0b",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/bindings/python/pyiree/tf/support/tf_test_utils.py"
    },
    {
      "type": "modify",
      "old_id": "63cfa2fc4bed9f9ad9b824ad87a06a80a918f27b",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/bindings/python/pyiree/tf/support/tf_test_utils_test.py",
      "new_id": "60696880e4d9537471bc19e5cb9c1189acb1807a",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/bindings/python/pyiree/tf/support/tf_test_utils_test.py"
    },
    {
      "type": "modify",
      "old_id": "591df43259d6eedaefff77a660558a185e9972b7",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/bindings/python/pyiree/tf/support/tf_utils.py",
      "new_id": "aa9474458a5e4bbfe6596b2d1642ff12ef166c9e",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/bindings/python/pyiree/tf/support/tf_utils.py"
    },
    {
      "type": "modify",
      "old_id": "9dfc5d4a08a4710ba7dede4061ab68dedc6c6b9e",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/BUILD",
      "new_id": "2cdaaf28bc876465b276a574d3f4363c6e5ff3be",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/BUILD"
    },
    {
      "type": "modify",
      "old_id": "4b457b5f16a82dd7dd68cb90b95eb90b33abcd2b",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/README.md",
      "new_id": "e8064967ff199a61a38a37c6eadd42419f4d11ab",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/README.md"
    },
    {
      "type": "delete",
      "old_id": "df09ecb3741c1ebcc0eade9b7127d4ba533dca48",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/bool_test.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e60f5321e6401f07c292dc3fa621c7474d36c4b0",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/complex_test.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "11ca8d6235a1b938161c5649a8f7385c31a3120d",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/conv_test.py",
      "new_id": "ca0076e71b27d464de81b5dedf01fab482553728",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/conv_test.py"
    },
    {
      "type": "delete",
      "old_id": "761cae4a11f449451dbae237c2a898a1b34a7321",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/finite_test.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "58be0f6f4c79bc4dc0da8d3384817144febc3d54",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/iree_e2e_test_suite.bzl",
      "new_id": "661cc30d13b2d8ec2112fd4aa1452fbf826c7022",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/iree_e2e_test_suite.bzl"
    },
    {
      "type": "modify",
      "old_id": "148c8081d60d535ae11a497f96734fa20586c1ed",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/keras/layers/BUILD",
      "new_id": "75dbeda18e98c73ab6e710af2443f67e337fa322",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/keras/layers/BUILD"
    },
    {
      "type": "modify",
      "old_id": "0ab5f32c86771ba041339386fe768abd6ad2a923",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/keras/layers/layers_test.py",
      "new_id": "4755450b60520c779a3821aa7ed27d28f1dbc3e7",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/keras/layers/layers_test.py"
    },
    {
      "type": "delete",
      "old_id": "cb25db2a8761b11ec4b081246f7435483c57e9e6",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/logical_ops_test.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "242a9c953b9e499af312a993477bb0abf0b46cd2",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/math/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7a1096fd360c1e2e1c0610f3dc95dc23502e63b4",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/math/math_test.py"
    },
    {
      "type": "delete",
      "old_id": "cca09184cdc274956bcbc66f802293841a68bb8f",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/math_dyn_test.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "add9ea4f843d57d230e7764d4fa8ee32c630c982",
      "old_mode": 33188,
      "old_path": "integrations/tensorflow/e2e/math_test.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d1c44ef7a110d721a1421ee070a71ccd357e5663",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/quantization_dyn_test.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ccf8f8f30e2a129cd639e3c589165b7e23a5847",
      "new_mode": 33188,
      "new_path": "integrations/tensorflow/e2e/quantization_test.py"
    },
    {
      "type": "modify",
      "old_id": "fed8c12fd620db18d1dead7d7ef95b549804067e",
      "old_mode": 33261,
      "old_path": "scripts/update_e2e_coverage.py",
      "new_id": "3b5509c929d9976176fa4d35d58cd6f2fd7f5515",
      "new_mode": 33261,
      "new_path": "scripts/update_e2e_coverage.py"
    }
  ]
}
