tests: cleanup and ci hardening (#2397)
* tests: refactor and cleanup
* refactor: more consistent
* tests: vendor six
* tests: more xfails, nicer system
* tests: simplify to info
* tests: suggestions from @YannickJadoul and @bstaletic
* tests: restore some pypy tests that now pass
* tests: rename info to env
* tests: strict False/True
* tests: drop explicit strict=True again
* tests: reduce minimum PyTest to 3.1
diff --git a/tests/test_virtual_functions.py b/tests/test_virtual_functions.py
index 0f2d85f..b7bd5ba 100644
--- a/tests/test_virtual_functions.py
+++ b/tests/test_virtual_functions.py
@@ -1,6 +1,8 @@
# -*- coding: utf-8 -*-
import pytest
+import env # noqa: F401
+
from pybind11_tests import virtual_functions as m
from pybind11_tests import ConstructorStats
@@ -160,7 +162,7 @@
# PyPy: Reference count > 1 causes call with noncopyable instance
# to fail in ncv1.print_nc()
-@pytest.unsupported_on_pypy
+@pytest.mark.xfail("env.PYPY")
@pytest.mark.skipif(not hasattr(m, "NCVirt"), reason="NCVirt test broken on ICPC")
def test_move_support():
class NCVirtExt(m.NCVirt):