summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-09-12 23:15:34 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-09-12 23:15:34 +0000
commit3fe69a0da484c277c4bcfc07e72e5843d56e83df (patch)
treefd04294b1cd3ea8a9c5edfdca5fbda44530956d8 /test
parent4ef5c754f7a920d4bbad512503f61d473d03a4b7 (diff)
Use mutable strings for mutation tests.
* test/fiddle/test_func.rb (test_string): this test break String buffer by `strcpy` ("000" -> "123"). However, the string literal "000" with `frozen_string_literal: true` returns a string object from frozen string pool. So that after this test "000" from fstring pool becomes "123" (modified string). 'test/date/' uses "000" (as fstring) and tests are fails (we could check with `make test-all TESTS='fiddle date'`). * test/fiddle/test_function.rb: ditto. * test/fiddle/test_import.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/fiddle/test_func.rb2
-rw-r--r--test/fiddle/test_function.rb4
-rw-r--r--test/fiddle/test_import.rb2
3 files changed, 4 insertions, 4 deletions
diff --git a/test/fiddle/test_func.rb b/test/fiddle/test_func.rb
index 8f7b0c2874..8517965223 100644
--- a/test/fiddle/test_func.rb
+++ b/test/fiddle/test_func.rb
@@ -38,7 +38,7 @@ module Fiddle
def test_string
stress, GC.stress = GC.stress, true
f = Function.new(@libc['strcpy'], [TYPE_VOIDP, TYPE_VOIDP], TYPE_VOIDP)
- buff = "000"
+ buff = +"000"
str = f.call(buff, "123")
assert_equal("123", buff)
assert_equal("123", str.to_s)
diff --git a/test/fiddle/test_function.rb b/test/fiddle/test_function.rb
index 477b6a86dc..cbf84eae9d 100644
--- a/test/fiddle/test_function.rb
+++ b/test/fiddle/test_function.rb
@@ -60,13 +60,13 @@ module Fiddle
func = Function.new(@libc['strcpy'], [TYPE_VOIDP, TYPE_VOIDP], TYPE_VOIDP)
assert_nil Fiddle.last_error
- func.call("000", "123")
+ func.call(+"000", "123")
refute_nil Fiddle.last_error
end
def test_strcpy
f = Function.new(@libc['strcpy'], [TYPE_VOIDP, TYPE_VOIDP], TYPE_VOIDP)
- buff = "000"
+ buff = +"000"
str = f.call(buff, "123")
assert_equal("123", buff)
assert_equal("123", str.to_s)
diff --git a/test/fiddle/test_import.rb b/test/fiddle/test_import.rb
index 0cd5e76a80..ff16d17d50 100644
--- a/test/fiddle/test_import.rb
+++ b/test/fiddle/test_import.rb
@@ -128,7 +128,7 @@ module Fiddle
end
def test_strcpy()
- buff = "000"
+ buff = +"000"
str = LIBC.strcpy(buff, "123")
assert_equal("123", buff)
assert_equal("123", str.to_s)