summaryrefslogtreecommitdiff
path: root/features/java-no-native-compile.feature
blob: 7b5d6c38a9d9ec513f35ef56e120809d9efce078 (plain)
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
Feature: No native or cross compilation on JRuby

  In order to present a good user experience to users of rake-compiler
  As a user of JRuby
  I want to be warned that my platform does not provide any support for C Extensions
  I want to be be informed of this without rake-compiler blowing up in my face

  @java
  Scenario: Attempting to do a cross compilation while on JRuby (without prerequisites)
    Given that all my source files are in place
    And I'm running a POSIX operating system
    When rake task 'cross compile' is invoked on JRuby
    Then rake task 'cross compile' should fail
    And output of rake task 'cross compile' warns
      """
      WARNING: You're attempting to (cross-)compile C extensions from a platform
      (jruby) that does not support native extensions or mkmf.rb.
      """
    And output of rake task 'cross compile' contains /Don't know how to build task 'cross'/

  @java
  Scenario: Attempting to do a cross compilation while on JRuby (even with prerequisites)
    Given that all my source files are in place
    And I'm running a POSIX operating system
    And I've installed cross compile toolchain
    When rake task 'cross compile' is invoked on JRuby
    Then rake task 'cross compile' should fail
    And output of rake task 'cross compile' warns
      """
      WARNING: You're attempting to (cross-)compile C extensions from a platform
      (jruby) that does not support native extensions or mkmf.rb.
      """
    And output of rake task 'cross compile' contains /Don't know how to build task 'cross'/