Why does pytest cached_eval cause incorrect skipif/xfail behavior across modules?