title: pytest_assertrepr_compare only fails
body: <p>I'm new at pytest and was taking a look on how to customize assertions. This example from pytest's website just fails, even if I compare Foo(1) == Foo(1). Any idea why?</p>
  
  <p><a href="http://docs.pytest.org/en/latest/assert.html#defining-your-own-assertion-comparison" rel="nofollow noreferrer">http://docs.pytest.org/en/latest/assert.html#defining-your-own-assertion-comparison</a></p>
  
  <p>Configuration:</p>
  
  <pre><code># content of conftest.py
  from test_foocompare import Foo
  def pytest_assertrepr_compare(op, left, right):
      if isinstance(left, Foo) and isinstance(right, Foo) and op == "==":
          return ['Comparing Foo instances:',
                  '   vals: %s != %s' % (left.val, right.val)]
  </code></pre>
  
  <p>Test:</p>
  
  <pre><code># content of test_foocompare.py
  class Foo:
      def __init__(self, val):
          self.val = val
  
      def __eq__(self, other):
          return self.val == other.val
  
  def test_compare():
      f1 = Foo(1)
      f2 = Foo(1)
      assert f1 == f2
  </code></pre>
  
  <p>Results:</p>
  
  <pre><code>$ pytest -q test_foocompare.py
  F
  ======= FAILURES ========
  _______ test_compare ________
  
      def test_compare():
          f1 = Foo(1)
          f2 = Foo(1)
  &gt;       assert f1 == f2
  E       assert Comparing Foo instances:
  E            vals: 1 != 1
  </code></pre>