From 90f319e9f5885dddb396bb809829988484567fe0 Mon Sep 17 00:00:00 2001 From: Andy Meneely Date: Sun, 13 Dec 2015 20:36:13 -0500 Subject: [PATCH] Refactor spec runners to be separate tests --- spec/samples/run_samples_spec.rb | 17 +++++++++++++++++ spec/samples/samples_regression_spec.rb | 14 +------------- spec/spec_helper.rb | 8 ++++++++ 3 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 spec/samples/run_samples_spec.rb diff --git a/spec/samples/run_samples_spec.rb b/spec/samples/run_samples_spec.rb new file mode 100644 index 0000000..db6b46a --- /dev/null +++ b/spec/samples/run_samples_spec.rb @@ -0,0 +1,17 @@ +require 'spec_helper' +require 'squib' +require 'pp' + +describe "Squib samples" do + + Dir["#{samples_dir}/**/*.rb"].each do |sample| + it "executes #{sample} with no errors", slow: true do + allow(Squib.logger).to receive(:warn) {} + allow(ProgressBar).to receive(:create).and_return(Squib::DoNothing.new) + Dir.chdir(File.dirname(sample)) do + load sample + end + end + end + +end diff --git a/spec/samples/samples_regression_spec.rb b/spec/samples/samples_regression_spec.rb index fb11fd1..4d95b87 100644 --- a/spec/samples/samples_regression_spec.rb +++ b/spec/samples/samples_regression_spec.rb @@ -3,25 +3,13 @@ require 'squib' require 'pp' describe "Squib samples" do - @SAMPLES_DIR = "#{File.expand_path(File.dirname(__FILE__))}/../../samples/" - let(:samples_dir) { "#{File.expand_path(File.dirname(__FILE__))}/../../samples/" } - + around(:each) do |example| Dir.chdir(samples_dir) do example.run end end - Dir["#{@SAMPLES_DIR}/**/*.rb"].each do |sample| - it "should execute #{sample} with no errors", slow: true do - allow(Squib.logger).to receive(:warn) {} - allow(ProgressBar).to receive(:create).and_return(Squib::DoNothing.new) - Dir.chdir(File.dirname(sample)) do - load sample - end - end - end - # This test could use some explanation # Much of the development of Squib has been sample-driven. Every time I want # new syntax or feature, I write a sample, get it working, and then write diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 33c8960..896b0f3 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -16,6 +16,14 @@ RSpec.configure do |config| end end +def tmp_dir + "#{File.expand_path(File.dirname(__FILE__))}/../tmp" +end + +def samples_dir + File.expand_path("#{File.dirname(__FILE__)}/../samples") +end + def layout_file(str) "#{File.expand_path(File.dirname(__FILE__))}/data/layouts/#{str}" end