> 1) we successfully use this approach dozens times across OpenCV

Really? I was only able to find one, here: https://github.com/Itseez/opencv/blob/2.4/modules/imgproc/test/test_cvtyuv.cpp#L608. (And I think it's wrong, too.)

> 2) TEST_P() macro defines a new class derived from the specified one, so there are no conflicts.

Not sure what this has to do with it. Yes, it defines a new class for the test. But `INSTANTIATE_TEST_CASE_P` doesn't work with tests, it works with test cases. And in your case, the test case is `testing::TestWithParam<Size>`, that is, every test case that has a `Size` as the parameter.