tree 293cc155d3cd59cd3caba2f1f029bcc7cd4d2044
parent e26e4948c99d7ee23275445be8586384b37d2aaf
author Phoenix Meadowlark <meadowlark@google.com> 1602709274 -0700
committer GitHub <noreply@github.com> 1602709274 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfh2caCRBK7hj4Ov3rIwAAdHIIAEQO1480alRZDrNvoahHtYiP
 AV7t8XhqCoKj75T724rerNlvLhTTMnXE8LSpR5Sn7D2LyvE9y7GKS4Nax3oyicVf
 tl71OqGZ45zQua+d1B15qPflV7AicOYbY+pUyxUkIzem9kjD2whiTqWuLtS0T95U
 Ztag4T3eFBmizGVZjCZBSFv6aTK3AQuEpCiwzmiCLz0RnOZgne/+AhM130WykaYL
 uPU6aubasKf2TR40hpNe6FD/VX1Q4ndNmzsCJ/2mron3qNyCnJUWQ/YxONQHo/QC
 r9sjIgvykysIcIlf/53n+x0HE2XtIWgC9RcZLIJvg7FRc147vGZy/p7BpqAS2J4=
 =1YFA
 -----END PGP SIGNATURE-----
 

Add `iree_e2e_product_test_suite` to enable new test suites (#3454)

- Replaces `iree_vision_test_suite`, `iree_slim_vision_test_suite` and `iree_train_test_suite`
   with `iree_e2e_product_test_suite`.
- Adds `'failing'` tags to failing tests to make them easy to filter for, e.g. via 
  `bazel query integrations/tensorflow/e2e/... | xargs bazel test --test_tag_filters='+failing'`.
- Generated test targets follow a `suite_name__key__value__key__value` format to make 
   parsing them easier 
  (e.g. `:imagenet_external_tests__model__InceptionV3__target_backends__iree_vmla`)
  - The only exception to this is in test targets generated by `iree_e2e_test_suite`, 
     which omit `src__` from `:e2e_tests__src__source_name__...` for brevity. 