ruby/test
Aaron Patterson 307388ea19 [ruby/fiddle] Add a "pinning" reference (#44)
* Add a "pinning" reference

A `Fiddle::Pinned` objects will prevent the objects they point to from
moving.  This is useful in the case where you need to pass a reference
to a C extension that keeps the address in a global and needs the
address to be stable.

For example:

```ruby
class Foo
  A = "hi" # this is an embedded string

  some_c_function A # A might move!
end
```

If `A` moves, then the underlying string buffer may also move.
`Fiddle::Pinned` will prevent the object from moving:

```ruby
class Foo
  A = "hi" # this is an embedded string

  A_pinner = Fiddle::Pinned.new(A) # :nodoc:

  some_c_function A # A can't move because of `Fiddle::Pinned`
end
```

This is a similar strategy to what Graal uses:

  https://www.graalvm.org/sdk/javadoc/org/graalvm/nativeimage/PinnedObject.html#getObject--

* rename global to match exception name

* Introduce generic Fiddle::Error and rearrange error classes

Fiddle::Error is the generic exception base class for Fiddle exceptions.
This commit introduces the class and rearranges Fiddle exceptions to
inherit from it.

https://github.com/ruby/fiddle/commit/ac52d00223
2020-11-18 09:05:13 +09:00
..
-ext- keep proc on the stack so it does not move 2020-10-16 11:28:52 -07:00
base64
benchmark
bigdecimal
cgi
coverage
csv
date
dbm
did_you_mean Revert "Fixed typo" 2020-10-27 23:26:38 +09:00
digest
drb
dtrace
erb Fixup 3292f4d965 2020-08-21 20:40:26 +09:00
etc
excludes
fiber Fix TestFiberMutex#test_condition_variable assertion 2020-11-08 16:49:33 +01:00
fiddle [ruby/fiddle] Add a "pinning" reference (#44) 2020-11-18 09:05:13 +09:00
fileutils Make the test suite pass on real Android/Termux environment 2020-10-12 21:26:05 +09:00
gdbm
io [ruby/io-console] Fix timeout type error (#18) 2020-10-11 02:00:24 +09:00
irb Remove system method for E2E testing because depends on ruby command 2020-10-05 19:50:31 +09:00
json test/json/json_parser_test.rb: suppress warnings 2020-10-21 23:37:42 +09:00
lib
logger
matrix
mkmf
monitor
net test/net/smtp - use TCPSocket when UNIXSocket unavailable 2020-11-18 08:13:10 +09:00
nkf
objspace Fix ObjectSpace.dump(obj, output: :stdout) 2020-10-03 00:00:01 +09:00
open-uri Remove the deprecated override of Kernel#open in open-uri 2020-08-16 07:41:40 -07:00
openssl Revert the related commits about `Tempfile.open` change. 2020-09-09 21:10:48 +09:00
optparse
ostruct [lib/ostruct] Fix Marshal loading 2020-10-06 17:11:08 -04:00
pathname Make the test suite pass on real Android/Termux environment 2020-10-12 21:26:05 +09:00
psych [ruby/psych] Forward keyword arguments in load_file and load_stream 2020-09-25 13:11:33 +09:00
racc [ruby/racc] skip the failing test with JRuby 2020-11-10 21:21:07 +09:00
rdoc [ruby/rdoc] update all files if any file is newer 2020-09-18 14:57:58 +09:00
readline
reline [ruby/reline] Treat prompt correctly when Reline.prompt_proc isn't set 2020-09-12 08:35:52 +09:00
resolv `fe80` should be case insensitive too 2020-11-09 16:16:30 +09:00
rinda Revert "test/rinda/test_rinda.rb: try debugging TestRingServer#test_do_reply" 2020-10-17 15:32:40 +09:00
ripper ripper: Invalid pragma value warning 2020-11-02 22:49:42 +09:00
ruby Fix singleton class cloning 2020-11-16 17:41:17 -05:00
rubygems Merge rubygems-3.2.0.rc.2 2020-10-15 14:12:02 +09:00
socket Add resolve_timeout to TCPSocket [Feature #17134] 2020-09-25 15:19:14 +09:00
stringio [stringio] fix stringio codepoint enumerator off by one error 2020-08-27 23:41:22 +09:00
strscan
syslog
uri
webrick [ruby/webrick] Allow empty POST and PUT requests without content length 2020-11-13 11:35:10 +09:00
win32ole
yaml
zlib [ruby/zlib] Add Zlib::GzipReader.zcat for handling multiple gzip streams in gz file 2020-09-14 17:52:20 +09:00
runner.rb
test_abbrev.rb
test_delegate.rb
test_extlibs.rb Removed win32api 2020-11-11 09:27:36 +09:00
test_find.rb
test_forwardable.rb
test_ipaddr.rb
test_mutex_m.rb
test_observer.rb
test_open3.rb
test_pp.rb
test_prettyprint.rb
test_prime.rb
test_pstore.rb
test_pty.rb
test_rbconfig.rb
test_securerandom.rb Use build_message on test_securerandom.rb (#3543) 2020-09-16 07:45:01 +09:00
test_set.rb
test_shellwords.rb
test_singleton.rb
test_syslog.rb
test_tempfile.rb
test_time.rb
test_timeout.rb
test_tmpdir.rb [ruby/tmpdir] Warn when environment variables skipped (fixes #2) 2020-09-14 18:22:37 +09:00
test_tracer.rb
test_tsort.rb
test_unicode_normalize.rb
test_weakref.rb