Message 156256 - Python tracker
It does look like there's anomalous behavior here of some sort, but I'd expect --test=-- to result in test="--", myself, rather than an error. My intuition is that '--' would need to be preceded by a space to function as the 'end of options' marker. Because of that, I've never tried the above scenario with a unix command, so maybe my intuition is wrong :) Just for reference (the code paths may be different), there is another open issue about -- parsing, issue 13922.