diff options
Diffstat (limited to 'features')
-rw-r--r-- | features/compile.feature | 20 |
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' |