/
package.feature
40 lines (36 loc) · 1.66 KB
/
package.feature
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Feature: Distribute native extension with gems
In order to avoid compiler toolchain requirement during installation
As a Gem developer.
I want rake tasks generate platform specific gems for me
Scenario: generate pure ruby gem
Given a safe project directory
And a gem named 'my_project'
And a extension named 'extension_one'
And I've already successfully executed rake task 'compile'
And 'pkg' folder is deleted
When rake task 'gem' is invoked
Then rake task 'gem' succeeded
And 'pkg' folder is created
And ruby gem for 'my_project' version '0.1.0' do exist in 'pkg'
Scenario: generate native gem
Given a safe project directory
And a gem named 'my_project'
And a extension named 'extension_one'
And I've already successfully executed rake task 'compile'
And 'pkg' folder is deleted
When rake task 'native gem' is invoked
Then rake task 'native gem' succeeded
And 'pkg' folder is created
And ruby gem for 'my_project' version '0.1.0' do exist in 'pkg'
And binary gem for 'my_project' version '0.1.0' do exist in 'pkg'
Scenario: generate forced native gem
Given a safe project directory
And a gem named 'my_project'
And a extension 'extension_one' with forced platform 'universal-unknown'
And I've already successfully executed rake task 'compile'
And 'pkg' folder is deleted
When rake task 'native:universal-unknown gem' is invoked
Then rake task 'native:universal-unknown gem' succeeded
And 'pkg' folder is created
And ruby gem for 'my_project' version '0.1.0' do exist in 'pkg'
And a gem for 'my_project' version '0.1.0' platform 'universal-unknown' do exist in 'pkg'