summaryrefslogtreecommitdiff
path: root/spec/rubyspec/core/gc
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec/core/gc')
-rw-r--r--spec/rubyspec/core/gc/count_spec.rb7
-rw-r--r--spec/rubyspec/core/gc/disable_spec.rb18
-rw-r--r--spec/rubyspec/core/gc/enable_spec.rb13
-rw-r--r--spec/rubyspec/core/gc/garbage_collect_spec.rb15
-rw-r--r--spec/rubyspec/core/gc/profiler/clear_spec.rb5
-rw-r--r--spec/rubyspec/core/gc/profiler/disable_spec.rb16
-rw-r--r--spec/rubyspec/core/gc/profiler/enable_spec.rb17
-rw-r--r--spec/rubyspec/core/gc/profiler/enabled_spec.rb21
-rw-r--r--spec/rubyspec/core/gc/profiler/report_spec.rb5
-rw-r--r--spec/rubyspec/core/gc/profiler/result_spec.rb7
-rw-r--r--spec/rubyspec/core/gc/profiler/total_time_spec.rb7
-rw-r--r--spec/rubyspec/core/gc/start_spec.rb8
-rw-r--r--spec/rubyspec/core/gc/stress_spec.rb27
13 files changed, 166 insertions, 0 deletions
diff --git a/spec/rubyspec/core/gc/count_spec.rb b/spec/rubyspec/core/gc/count_spec.rb
new file mode 100644
index 0000000000..3caa2c9aac
--- /dev/null
+++ b/spec/rubyspec/core/gc/count_spec.rb
@@ -0,0 +1,7 @@
+require File.expand_path('../../../spec_helper', __FILE__)
+
+describe "GC.count" do
+ it "returns an integer" do
+ GC.count.should be_kind_of(Integer)
+ end
+end
diff --git a/spec/rubyspec/core/gc/disable_spec.rb b/spec/rubyspec/core/gc/disable_spec.rb
new file mode 100644
index 0000000000..9a8a8f23e9
--- /dev/null
+++ b/spec/rubyspec/core/gc/disable_spec.rb
@@ -0,0 +1,18 @@
+require File.expand_path('../../../spec_helper', __FILE__)
+
+describe "GC.disable" do
+ after :each do
+ GC.enable
+ end
+
+ it "returns true iff the garbage collection was previously disabled" do
+ GC.enable
+ GC.disable.should == false
+ GC.disable.should == true
+ GC.disable.should == true
+ GC.enable
+ GC.disable.should == false
+ GC.disable.should == true
+ end
+
+end
diff --git a/spec/rubyspec/core/gc/enable_spec.rb b/spec/rubyspec/core/gc/enable_spec.rb
new file mode 100644
index 0000000000..d3581ad4d8
--- /dev/null
+++ b/spec/rubyspec/core/gc/enable_spec.rb
@@ -0,0 +1,13 @@
+require File.expand_path('../../../spec_helper', __FILE__)
+
+describe "GC.enable" do
+
+ it "returns true iff the garbage collection was already disabled" do
+ GC.enable
+ GC.enable.should == false
+ GC.disable
+ GC.enable.should == true
+ GC.enable.should == false
+ end
+
+end
diff --git a/spec/rubyspec/core/gc/garbage_collect_spec.rb b/spec/rubyspec/core/gc/garbage_collect_spec.rb
new file mode 100644
index 0000000000..2b47fdf927
--- /dev/null
+++ b/spec/rubyspec/core/gc/garbage_collect_spec.rb
@@ -0,0 +1,15 @@
+require File.expand_path('../../../spec_helper', __FILE__)
+
+describe "GC#garbage_collect" do
+
+ before :each do
+ @obj = Object.new
+ @obj.extend(GC)
+ end
+
+ it "always returns nil" do
+ @obj.garbage_collect.should == nil
+ @obj.garbage_collect.should == nil
+ end
+
+end
diff --git a/spec/rubyspec/core/gc/profiler/clear_spec.rb b/spec/rubyspec/core/gc/profiler/clear_spec.rb
new file mode 100644
index 0000000000..47a52a5800
--- /dev/null
+++ b/spec/rubyspec/core/gc/profiler/clear_spec.rb
@@ -0,0 +1,5 @@
+require File.expand_path('../../../../spec_helper', __FILE__)
+
+describe "GC::Profiler.clear" do
+ it "needs to be reviewed for spec completeness"
+end
diff --git a/spec/rubyspec/core/gc/profiler/disable_spec.rb b/spec/rubyspec/core/gc/profiler/disable_spec.rb
new file mode 100644
index 0000000000..9b8cedb1d5
--- /dev/null
+++ b/spec/rubyspec/core/gc/profiler/disable_spec.rb
@@ -0,0 +1,16 @@
+require File.expand_path('../../../../spec_helper', __FILE__)
+
+describe "GC::Profiler.disable" do
+ before do
+ @status = GC::Profiler.enabled?
+ end
+
+ after do
+ @status ? GC::Profiler.enable : GC::Profiler.disable
+ end
+
+ it "disables the profiler" do
+ GC::Profiler.disable
+ GC::Profiler.enabled?.should == false
+ end
+end
diff --git a/spec/rubyspec/core/gc/profiler/enable_spec.rb b/spec/rubyspec/core/gc/profiler/enable_spec.rb
new file mode 100644
index 0000000000..49e6fc09e0
--- /dev/null
+++ b/spec/rubyspec/core/gc/profiler/enable_spec.rb
@@ -0,0 +1,17 @@
+require File.expand_path('../../../../spec_helper', __FILE__)
+
+describe "GC::Profiler.enable" do
+
+ before do
+ @status = GC::Profiler.enabled?
+ end
+
+ after do
+ @status ? GC::Profiler.enable : GC::Profiler.disable
+ end
+
+ it "enables the profiler" do
+ GC::Profiler.enable
+ GC::Profiler.enabled?.should == true
+ end
+end
diff --git a/spec/rubyspec/core/gc/profiler/enabled_spec.rb b/spec/rubyspec/core/gc/profiler/enabled_spec.rb
new file mode 100644
index 0000000000..12cf3173f4
--- /dev/null
+++ b/spec/rubyspec/core/gc/profiler/enabled_spec.rb
@@ -0,0 +1,21 @@
+require File.expand_path('../../../../spec_helper', __FILE__)
+
+describe "GC::Profiler.enabled?" do
+ before do
+ @status = GC::Profiler.enabled?
+ end
+
+ after do
+ @status ? GC::Profiler.enable : GC::Profiler.disable
+ end
+
+ it "reports as enabled when enabled" do
+ GC::Profiler.enable
+ GC::Profiler.enabled?.should be_true
+ end
+
+ it "reports as disabled when disabled" do
+ GC::Profiler.disable
+ GC::Profiler.enabled?.should be_false
+ end
+end
diff --git a/spec/rubyspec/core/gc/profiler/report_spec.rb b/spec/rubyspec/core/gc/profiler/report_spec.rb
new file mode 100644
index 0000000000..52e5e154ce
--- /dev/null
+++ b/spec/rubyspec/core/gc/profiler/report_spec.rb
@@ -0,0 +1,5 @@
+require File.expand_path('../../../../spec_helper', __FILE__)
+
+describe "GC::Profiler.report" do
+ it "needs to be reviewed for spec completeness"
+end
diff --git a/spec/rubyspec/core/gc/profiler/result_spec.rb b/spec/rubyspec/core/gc/profiler/result_spec.rb
new file mode 100644
index 0000000000..395cf18400
--- /dev/null
+++ b/spec/rubyspec/core/gc/profiler/result_spec.rb
@@ -0,0 +1,7 @@
+require File.expand_path('../../../../spec_helper', __FILE__)
+
+describe "GC::Profiler.result" do
+ it "returns a string" do
+ GC::Profiler.result.should be_kind_of(String)
+ end
+end
diff --git a/spec/rubyspec/core/gc/profiler/total_time_spec.rb b/spec/rubyspec/core/gc/profiler/total_time_spec.rb
new file mode 100644
index 0000000000..60fe8f182e
--- /dev/null
+++ b/spec/rubyspec/core/gc/profiler/total_time_spec.rb
@@ -0,0 +1,7 @@
+require File.expand_path('../../../../spec_helper', __FILE__)
+
+describe "GC::Profiler.total_time" do
+ it "returns an float" do
+ GC::Profiler.total_time.should be_kind_of(Float)
+ end
+end
diff --git a/spec/rubyspec/core/gc/start_spec.rb b/spec/rubyspec/core/gc/start_spec.rb
new file mode 100644
index 0000000000..dd24b5d6c6
--- /dev/null
+++ b/spec/rubyspec/core/gc/start_spec.rb
@@ -0,0 +1,8 @@
+require File.expand_path('../../../spec_helper', __FILE__)
+
+describe "GC.start" do
+ it "always returns nil" do
+ GC.start.should == nil
+ GC.start.should == nil
+ end
+end
diff --git a/spec/rubyspec/core/gc/stress_spec.rb b/spec/rubyspec/core/gc/stress_spec.rb
new file mode 100644
index 0000000000..5730848895
--- /dev/null
+++ b/spec/rubyspec/core/gc/stress_spec.rb
@@ -0,0 +1,27 @@
+require File.expand_path('../../../spec_helper', __FILE__)
+
+describe "GC.stress" do
+ after :each do
+ # make sure that we never leave these tests in stress enabled GC!
+ GC.stress = false
+ end
+
+ it "returns current status of GC stress mode" do
+ GC.stress.should be_false
+ GC.stress = true
+ GC.stress.should be_true
+ GC.stress = false
+ GC.stress.should be_false
+ end
+end
+
+describe "GC.stress=" do
+ after :each do
+ GC.stress = false
+ end
+
+ it "sets the stress mode" do
+ GC.stress = true
+ GC.stress.should be_true
+ end
+end