I'm sure I personally have failed programming tests by doing too much (or not enough) "enterprise" programming in particular stuff that requires things like parsing a CSV file. Do you use a third party library, roll your own, just use string.split(",")? All three are good responses, personally unless the sample data has embedded quotes I've just added comments saying that I'd use a particular library[1] for this normally but I've used string.split as a quick and dirty hack.
At work we've stopped doing take away tests in part for just this reason. We do have a small pair programming test (fix some SOLID code smells in a small 10 line program) and we also don't expect folks to fix all of the problems within that code.
As a pair programming exercise you can almost walk someone through the first problem with the code (there are two big problems[2] plus four minor issues that you could find) and also you can guide the scale of the response they have to the issues (For example I might prompt them and say if you use mocking frameworks in your current job lets use that and you can talk me through how to use it)
We've had pretty good success with this and does seem to avoid some of talks a good talk but can't do developers.
[1] Getting the library onto the interviewers machine might be a really big issue their firewall might block access / maybe I can't send binaries to you due to your AV
[2] Since it's only 10 lines of code the issues are the sort of thing in the "real" world you might ignore but repeated across a code base would be a problem.
What if that shop builds race cars and trophy trucks? Are you okay with the part being replaced being of higher quality and finish than the original? What about some advanced alloy that would not have been financially do-able for a manufacturer to use?
When hiring someone with "fabrication skills" into a machine shop, you certainly don't expect them to order a part during the interview when you just asked them to make a part on the lathe. Which position are you interviewing for, machinist or administrator/purchasing?
I'm going to hazard a guess that you don't have any manufacturing experience due to shibboleths: you said "fabrication" but you meant turning, not sheet-metal bending. Did I guess right?
This is a common interview tactic: trying to figure out if someone belongs to a group known to have particular skills by their choice of words or similar.
Turning parts on a lathe (and machining/milling) fit in my definition of "fabrication skills". (Mechanical engineer and a few hundred hours in the machine shop, but not a full-time machinist by any means.)
Mechanic: gets out the yellow pages and calls a real mechanic.
Me: ok I'll hire that guy you just called
They're not hiring someone to search. They're hiring someone to code. You proved you could search but not that you could code