tf 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -32,6 +32,11 @@ The test can be negated by replacing `=` with `!=`
32
32
  - match=/<regexp>/ - regexp match command output
33
33
  - env[<var_name>]=/<regexp>/ - regexp match the given environment variable name
34
34
 
35
+ ### Selecting shell / runner program
36
+
37
+ From version 0.3.1 Shebang lines are read and interpreted to select the runner shell.
38
+ Still only Bash / ZSH like shells are allowed.
39
+
35
40
  ## Example
36
41
 
37
42
  $ bin/tf example_tests/comment/*
@@ -12,7 +12,10 @@ class TF::CommentTestInput
12
12
 
13
13
  def load file_name
14
14
  lines = []
15
- File.readlines(file_name).each{|line|
15
+ file_lines = File.readlines(file_name)
16
+ shell = "bash"
17
+ shell = file_lines.shift.sub(/^#!/,'') if file_lines[0] =~ /^#!/
18
+ file_lines.each{|line|
16
19
  # Fix jruby-1.6.6-d19 bug with empty strings from files
17
20
  line = "#{line}"
18
21
  # remove human comments
@@ -35,6 +38,6 @@ class TF::CommentTestInput
35
38
  end
36
39
  }
37
40
  name = file_name.gsub(/^.*\//,'').sub(/_comment_test\.sh$/,'')
38
- { :name => name, :commands => lines }
41
+ { :name => name, :commands => lines, :shell => shell }
39
42
  end
40
43
  end
data/lib/tf.rb CHANGED
@@ -46,8 +46,8 @@ class TF
46
46
  end
47
47
 
48
48
  def process_test test
49
- name, commands = test[:name], test[:commands]
50
- shell = Session::Bash.new
49
+ name, commands, execution_shell = test[:name], test[:commands], test[:shell]
50
+ shell = Session::Sh.new(:prog => execution_shell)
51
51
  _env = env(shell)
52
52
  @plugins.output_plugins(:start_test, test, _env)
53
53
  commands.each do |line|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-28 00:00:00.000000000 Z
12
+ date: 2012-07-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: session
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '3.0'
21
+ version: '3.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '3.0'
29
+ version: '3.1'
30
30
  description: Testing Framework solely based on plugins. For now only tests using Bash.
31
31
  email: mpapis+tf@gmail.com
32
32
  executables: