blue_shell 0.5 → 0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -24,8 +24,8 @@ module BlueShell
24
24
  Timeout::timeout(timeout) do
25
25
  proc = runtime.exec("/bin/bash #{file.path}")
26
26
 
27
- @out = ""
28
- @err = ""
27
+ @out = []
28
+ @err = []
29
29
 
30
30
  # Must have a sink for stdout for the proc to exit
31
31
  out_thread = read_thread(proc.getInputStream, @out)
@@ -34,6 +34,9 @@ module BlueShell
34
34
  out_thread.join
35
35
  err_thread.join
36
36
 
37
+ @out = @out.join("\n")
38
+ @err = @err.join("\n")
39
+
37
40
  @exit = proc.exitValue
38
41
  end
39
42
  ensure
@@ -1,3 +1,3 @@
1
1
  module BlueShell
2
- VERSION = "0.5"
2
+ VERSION = "0.6"
3
3
  end
@@ -2,21 +2,27 @@ require 'minitest/autorun'
2
2
  require 'blue_shell'
3
3
 
4
4
  describe BlueShell::Bash do
5
+ before do
6
+ @shell = BlueShell::Bash.new
7
+ end
8
+
5
9
  it "should return the stdout" do
6
- shell = BlueShell::Bash.new
7
- shell.execute!("echo hello")
8
- shell.out.must_equal "hello"
10
+ @shell.execute!("echo hello")
11
+ @shell.out.must_equal "hello"
9
12
  end
10
13
 
11
14
  it "should return the stderr" do
12
- shell = BlueShell::Bash.new
13
- shell.execute!("omg")
14
- shell.err.must_include "omg: command not found"
15
+ @shell.execute!("omg")
16
+ @shell.err.must_include "omg: command not found"
15
17
  end
16
18
 
17
19
  it "should return exit status" do
18
- shell = BlueShell::Bash.new
19
- shell.execute!("echo hello")
20
- shell.exit.must_equal 0
20
+ @shell.execute!("echo hello")
21
+ @shell.exit.must_equal 0
22
+ end
23
+
24
+ it "should properly handle multiple lines" do
25
+ @shell.execute!("ls -l /")
26
+ @shell.out.must_include "\n"
21
27
  end
22
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blue_shell
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.5'
4
+ version: '0.6'
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-10-29 00:00:00.000000000 Z
12
+ date: 2012-11-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest