From: nobu@... Date: 2014-10-27T04:00:05+00:00 Subject: [ruby-core:65916] [ruby-trunk - Bug #10430] Proc instead of String as error message doesn't work. Issue #10430 has been updated by Nobuyoshi Nakada. Description updated It worked for me. ~~~ [29/47] TestNormalize#test_normalize_to_NFKC_from_NFC_with_nfkc = 0.01 s 1) Failure: TestNormalize#test_normalize_to_NFKC_from_NFC_with_nfkc [/Users/nobu/src/ruby/trunk/src/test/test_unicode_normalize.rb:38]: ["0051"] expected but was ["0051", "0051"] on line 1232 (nfkc). <"Q"> expected but was <"QQ">. ~~~ Seems a different library is used? ---------------------------------------- Bug #10430: Proc instead of String as error message doesn't work. https://bugs.ruby-lang.org/issues/10430#change-49652 * Author: Martin D��rst * Status: Open * Priority: Normal * Assignee: Nobuyoshi Nakada * Category: test * Target version: current: 2.2.0 * ruby -v: ruby 2.2.0dev (2014-10-26 trunk 48146) [x86_64-cygwin] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- Revision r48113 introduced Procs to delay time-consuming generation of error messages. This is a good idea, but it doesn't work for me. How to reproduce: Make a small change in lib/unicode_normalize/tables.rb. Any change should do; I changed "Q" to "QQ" in one instance. Run make install(-nodoc). Run ruby test/test_unicode_normalize.rb. The result I get is as follows: ~~~ =============================================================================== Failure: test_normalize_to_NFKD_from_source_with_nfkd(TestNormalize) test/test_unicode_normalize.rb:38:in `block (2 levels) in generate_test_normalize' test/test_unicode_normalize.rb:33:in `each' test/test_unicode_normalize.rb:33:in `block in generate_test_normalize' # <"Q"> expected but was <"QQ"> diff: ? QQ =============================================================================== ~~~ The failure is expected (artificially generated). The problem is the line `#` The Proc that is supposed to be evaluated to generate a more detailed error message (showing codepoints of the characters involved) is just converted to a String. For reference, I'm using the standard bundled gems minitest-5.4.1.gem, power_assert-0.1.4.gem, and test-unit-3.0.1.gem. -- https://bugs.ruby-lang.org/