Debug unexpectedly changed path
This commit is contained in:
parent
0f9e50b8c5
commit
bc50f2a3f1
6
error.c
6
error.c
@ -2719,8 +2719,10 @@ syntax_error_with_path(VALUE exc, VALUE path, VALUE *mesg, rb_encoding *enc)
|
||||
rb_ivar_set(exc, id_i_path, path);
|
||||
}
|
||||
else {
|
||||
if (rb_attr_get(exc, id_i_path) != path) {
|
||||
rb_raise(rb_eArgError, "SyntaxError#path changed");
|
||||
VALUE old_path = rb_attr_get(exc, id_i_path);
|
||||
if (old_path != path) {
|
||||
rb_raise(rb_eArgError, "SyntaxError#path changed: %+"PRIsVALUE"->%+"PRIsVALUE,
|
||||
old_path, path);
|
||||
}
|
||||
VALUE s = *mesg = rb_attr_get(exc, idMesg);
|
||||
if (RSTRING_LEN(s) > 0 && *(RSTRING_END(s)-1) != '\n')
|
||||
|
@ -640,11 +640,16 @@ class TestRubyLiteral < Test::Unit::TestCase
|
||||
end
|
||||
begin
|
||||
r2 = eval(s)
|
||||
rescue NameError, SyntaxError
|
||||
rescue SyntaxError => e
|
||||
r2 = :err
|
||||
rescue NameError
|
||||
r2 = :err
|
||||
end
|
||||
r2 = :err if Range === r2
|
||||
assert_equal(r1, r2, "Float(#{s.inspect}) != eval(#{s.inspect})")
|
||||
s = s.inspect
|
||||
mesg = "Float(#{s}) != eval(#{s})"
|
||||
mesg << ":" << e.message if e
|
||||
assert_equal(r1, r2, mesg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user