I'm looking for help with terminology to explain that a unit test failed because the test script itself has errors. The statement "this unit test failed because..." usually implies that the test script is correct and it's the function under test that is incorrect. I'm looking for the other way around.
Context: I'm grading a bunch of assignments in Python 3.x where students had to define some classes and subclasses while also providing the unit testing in Pytest. I would like to give succinct but correct feedback.
Working as an SDET I often need to distinguish between bad/broken tests and bad product code. We normally do this by talking about what needs to be fixed for the test to pass (while still being a useful and valid test).
Regardless of the source of the failure you're still talking about a failure in code. In both cases (if you've taken the time to identify and isolate the cause) you can say "Caused by bug on line n of file.py", or "bug within function f of file.py". It is then implied by the file we're talking about whether we're dealing with a failure caused by bad product code or bad test code.
You can reinforce this implication by supplying an explanation for why that code is the source of the problem. Some contrived examples would look like:

Test n failed because of a bug on line 5 of test.py. assert False will always fail, and doesn't meaningfully test anything in class.py.


Test n failed because of a bug on line 20 of class.py. sub(a, b) should return a - b instead of a + b
What is the proper way to say that a unit test failed but only because the test script is broken?