summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/deps/mruby-require/test/test_nest_loop.rb
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
commitbe1c7e50e1e8809ea56f2c9d472eccd8ffd73a97 (patch)
tree9754ff1ca740f6346cf8483ec915d4054bc5da2d /web/server/h2o/libh2o/deps/mruby-require/test/test_nest_loop.rb
parentInitial commit. (diff)
downloadnetdata-upstream.tar.xz
netdata-upstream.zip
Adding upstream version 1.44.3.upstream/1.44.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'web/server/h2o/libh2o/deps/mruby-require/test/test_nest_loop.rb')
-rw-r--r--web/server/h2o/libh2o/deps/mruby-require/test/test_nest_loop.rb58
1 files changed, 58 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/deps/mruby-require/test/test_nest_loop.rb b/web/server/h2o/libh2o/deps/mruby-require/test/test_nest_loop.rb
new file mode 100644
index 00000000..c5a4b18b
--- /dev/null
+++ b/web/server/h2o/libh2o/deps/mruby-require/test/test_nest_loop.rb
@@ -0,0 +1,58 @@
+$dir = File.join(Dir.tmpdir, "mruby-require-test-#{Time.now.to_i}.#{Time.now.usec}")
+
+def test_setup
+ Dir.mkdir($dir)
+
+ File.open(File.join($dir, "loop1.rb"), "w") do |fp|
+ fp.puts "require 'loop2.rb'"
+ fp.puts "$loop1 = 'loop1'"
+ end
+ File.open(File.join($dir, "loop2.rb"), "w") do |fp|
+ fp.puts "require 'loop1.rb'"
+ fp.puts "$loop2 = 'loop2'"
+ end
+
+ $require_test_count = 10
+ (1..$require_test_count-1).each do |i|
+ File.open(File.join($dir, "#{i+1}.rb"), "w") do |fp|
+ fp.puts "require '#{i}'"
+ fp.puts "s = 0"
+ (0..100).each{|num| fp.puts "s += #{num}" }
+ end
+ end
+ File.open(File.join($dir, "1.rb"), "w") do |fp|
+ fp.puts "$require_test_0 = 123"
+ end
+
+ $LOAD_PATH = [$dir]
+end
+
+def test_cleanup
+ if $dir && File.exist?($dir)
+ Dir.entries($dir).each do |e|
+ next if ['.', '..'].include? e
+ File.unlink File.join($dir,e)
+ end
+ Dir.unlink $dir
+ end
+end
+
+#####
+test_setup
+#####
+
+assert("require loop check") do
+ require 'loop1'
+ assert_equal 'loop1', $loop1
+ assert_equal 'loop2', $loop2
+end
+
+assert("require nest") do
+ before = $".size
+ require "#{$require_test_count}"
+ assert_equal before + $require_test_count, $".size
+end
+
+#####
+test_cleanup
+#####