12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #!/usr/bin/ruby
- var f = { (5, 6) }.ffork
- var g = { 6 }.ffork
- var a1 = [f.wait]
- var a2 = [g.wait]
- assert_eq(a1, [5, 6])
- assert_eq(a2, [6])
- #
- ## Loading Perl modules inside a file-fork
- #
- do {
- var t = { 'JSON'.require }.ffork.wait
- assert_eq(t.new.encode(Hash(a => 1)), %({"a":1}))
- }
- do {
- var t = { 'JSON::PP'.frequire }.ffork.wait
- assert_eq(t.encode_json(Hash(a => 1)), %({"a":1}))
- }
- do {
- var t = {
- var lwp = try { "LWP::UserAgent".require.new(
- timeout => 30,
- show_progress => 1,
- ) } \\ Sys.kill('KILL', $$)
- lwp.default_header("Referer" => "foo")
- lwp
- }.ffork
- var r = t.wait \\ die "LWP::UserAgent cannot be loaded"
- assert_eq(r.default_header("Referer"), "foo")
- r.default_header("Referer" => "bar")
- assert_eq(r.default_header("Referer"), "bar")
- }
- say "** Test passed!"
|