summaryrefslogtreecommitdiff
path: root/features/compile.feature
diff options
context:
space:
mode:
Diffstat (limited to 'features/compile.feature')
-rw-r--r--features/compile.feature39
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'