diff options
Diffstat (limited to 'features/compile.feature')
-rw-r--r-- | features/compile.feature | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/features/compile.feature b/features/compile.feature index c7e5ae2..4934092 100644 --- a/features/compile.feature +++ b/features/compile.feature @@ -4,51 +4,50 @@ Feature: Compile C code into Ruby extensions. As a Gem developer. I want rake tasks compile source code for me. - Scenario: Compile single extension + Scenario: compile single extension Given a safe project directory And scaffold code for extension 'extension_one' And 'tmp' folder is deleted When rake task 'compile' is invoked - And rake task 'compile' succeeded - Then binary extension 'extension_one' do exist in 'lib' + Then rake task 'compile' succeeded + And binary extension 'extension_one' do exist in 'lib' And 'tmp' folder is created - Scenario: Not recompile unmodified extension + Scenario: not recompile unmodified extension Given a safe project directory And scaffold code for extension 'extension_one' - And binary extension 'extension_one' do exist in 'lib' - And intermediate files for extension 'extension_one' do exist in 'tmp' + And I've already successfully executed rake task 'compile' + And not changed any file since When rake task 'compile' is invoked - And rake task 'compile' succeeded - Then output of rake task 'compile' does not match /extension_one/ + Then rake task 'compile' succeeded + And output of rake task 'compile' do not contain /extension_one/ Scenario: recompile extension when source is modified Given a safe project directory And scaffold code for extension 'extension_one' - And binary extension 'extension_one' do exist in 'lib' - And intermediate files for extension 'extension_one' do exist in 'tmp' + And I've already successfully executed rake task 'compile' When touching 'source.c' file of extension 'extension_one' And rake task 'compile' is invoked - And rake task 'compile' succeeded - Then output of rake task 'compile' does match /extension_one/ + Then rake task 'compile' succeeded + And output of rake task 'compile' contains /extension_one/ - Scenario: Compile multiple extensions + Scenario: compile multiple extensions Given a safe project directory And scaffold code for extension 'extension_one' And scaffold code for extension 'extension_two' And 'tmp' folder is deleted When rake task 'compile' is invoked - And rake task 'compile' succeeded - Then binary extension 'extension_one' do exist in 'lib' + Then rake task 'compile' succeeded + And binary extension 'extension_one' do exist in 'lib' And binary extension 'extension_two' do exist in 'lib' And 'tmp' folder is created - Scenario: Compile one extension instead of all present + Scenario: compile one extension instead of all present Given a safe project directory And scaffold code for extension 'extension_one' And scaffold code for extension 'extension_two' When rake task 'compile:extension_one' is invoked - And rake task 'compile:extension_one' succeeded - Then output of rake task 'compile:extension_one' does not match /extension_two/ - And binary extension 'extension_one' must exist in 'lib' - And binary extension 'extension_two' must not exist in 'lib' + Then rake task 'compile:extension_one' succeeded + And output of rake task 'compile:extension_one' do not contain /extension_two/ + And binary extension 'extension_one' do exist in 'lib' + And binary extension 'extension_two' do not exist in 'lib' |