summaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
authorLuis Lavena <luislavena@gmail.com>2008-11-03 12:27:48 -0300
committerLuis Lavena <luislavena@gmail.com>2008-11-03 12:27:48 -0300
commit31882dda00c9a365a7ecef0b5b16a3124521d2e9 (patch)
tree8c2d960ad259a3a16626cb35b2da823850476223 /features
parent66731a0c05d064f48557cd602a3b303716f0fcfe (diff)
downloadrake-compiler-31882dda00c9a365a7ecef0b5b16a3124521d2e9.tar.gz
Last tweak to compilation feature (I promise).
Diffstat (limited to 'features')
-rw-r--r--features/compile.feature20
1 files changed, 13 insertions, 7 deletions
diff --git a/features/compile.feature b/features/compile.feature
index a2d1d81..c7e5ae2 100644
--- a/features/compile.feature
+++ b/features/compile.feature
@@ -7,7 +7,6 @@ Feature: Compile C code into Ruby extensions.
Scenario: Compile single extension
Given a safe project directory
And scaffold code for extension 'extension_one'
- And binary extension 'extension_one' do not exist in 'lib'
And 'tmp' folder is deleted
When rake task 'compile' is invoked
And rake task 'compile' succeeded
@@ -18,16 +17,25 @@ Feature: Compile C code into Ruby extensions.
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'
When rake task 'compile' is invoked
And rake task 'compile' succeeded
Then output of rake task 'compile' does not match /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'
+ 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/
+
Scenario: Compile multiple extensions
Given a safe project directory
And scaffold code for extension 'extension_one'
And scaffold code for extension 'extension_two'
- And binary extension 'extension_one' do not exist in 'lib'
- And binary extension 'extension_two' do not exist in 'lib'
And 'tmp' folder is deleted
When rake task 'compile' is invoked
And rake task 'compile' succeeded
@@ -39,10 +47,8 @@ Feature: Compile C code into Ruby extensions.
Given a safe project directory
And scaffold code for extension 'extension_one'
And scaffold code for extension 'extension_two'
- And binary extension 'extension_one' do not exist in 'lib'
- And binary extension 'extension_two' do not exist in 'lib'
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' do exist in 'lib'
- And binary extension 'extension_two' do not exist in 'lib'
+ And binary extension 'extension_one' must exist in 'lib'
+ And binary extension 'extension_two' must not exist in 'lib'