ttytest 0.5.0 → 0.6.0
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.
- checksums.yaml +5 -5
- data/.github/workflows/test.yml +20 -0
- data/README.md +0 -1
- data/lib/ttytest/terminal.rb +2 -2
- data/lib/ttytest/tmux/driver.rb +12 -3
- data/lib/ttytest/version.rb +1 -1
- data/ttytest.gemspec +2 -2
- metadata +12 -16
- data/.travis.yml +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6c4131b6211dfccc9feb932f2e3eafa11e2d63aeb5f73243b87dd2d5d805b3cd
|
4
|
+
data.tar.gz: 8a0c0e1fd412c1d44744833775c1a21ac519ad20e5970ab55eadae372b1b420d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d2202449e0e68bdf2b796a9102fdaf9b0e95c4465b84c7e670a6154451e9238110b405ff687b84bbb188e0cbcaa2b58096e600e9b5e8d777bc2cbf18ef933a8
|
7
|
+
data.tar.gz: 96eed73a08289bbb511e6fc0a7af4171f123087a4673c64430bc2105b70e32cd28d11272de762238570e7e9472dfce0a5ae93bbd0b79452490861dbea270b44c
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: Test
|
2
|
+
|
3
|
+
on: [push]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
|
10
|
+
steps:
|
11
|
+
- uses: actions/checkout@v1
|
12
|
+
- name: Set up Ruby 2.6
|
13
|
+
uses: actions/setup-ruby@v1
|
14
|
+
with:
|
15
|
+
ruby-version: 2.6.x
|
16
|
+
- name: Build and test with Rake
|
17
|
+
run: |
|
18
|
+
gem install bundler
|
19
|
+
bundle install --jobs 4 --retry 3
|
20
|
+
bundle exec rake
|
data/README.md
CHANGED
@@ -2,7 +2,6 @@ TTYtest is an acceptance test framework for interactive console applications. It
|
|
2
2
|
|
3
3
|
It works by running commands inside a tmux session, capturing the pane, and comparing the content. The assertions will wait a specified amount of time (default 2 seconds) for the expected content to appear.
|
4
4
|
|
5
|
-
[](https://travis-ci.org/jhawthorn/ttytest)
|
6
5
|
[](https://rubygems.org/gems/ttytest)
|
7
6
|
|
8
7
|
## Requirements
|
data/lib/ttytest/terminal.rb
CHANGED
@@ -51,9 +51,9 @@ module TTYtest
|
|
51
51
|
def_delegators :capture, :rows, :row, :width, :height, :cursor_x, :cursor_y, :cursor_visible?, :cursor_hidden?
|
52
52
|
|
53
53
|
TTYtest::Matchers::METHODS.each do |matcher_name|
|
54
|
-
define_method matcher_name do |*args|
|
54
|
+
define_method matcher_name do |*args, **kwargs|
|
55
55
|
synchronize do
|
56
|
-
capture.public_send(matcher_name, *args)
|
56
|
+
capture.public_send(matcher_name, *args, **kwargs)
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
data/lib/ttytest/tmux/driver.rb
CHANGED
@@ -43,12 +43,21 @@ module TTYtest
|
|
43
43
|
ensure_available
|
44
44
|
puts "tmux(#{args.inspect[1...-1]})" if debug?
|
45
45
|
|
46
|
-
|
47
|
-
|
48
|
-
|
46
|
+
cmd = [@tmux_cmd, '-L', SOCKET_NAME, *args]
|
47
|
+
output = nil
|
48
|
+
status = nil
|
49
|
+
IO.popen(cmd, err: [:child, :out]) do |io|
|
50
|
+
output = io.read
|
51
|
+
io.close
|
52
|
+
status = $?
|
53
|
+
end
|
54
|
+
|
55
|
+
raise TmuxError, "tmux(#{args.inspect[1...-1]}) failed\n#{output}" unless status&.success?
|
56
|
+
output
|
49
57
|
end
|
50
58
|
|
51
59
|
def available?
|
60
|
+
return false unless tmux_version
|
52
61
|
@available ||= (Gem::Version.new(tmux_version) >= Gem::Version.new(REQUIRED_TMUX_VERSION))
|
53
62
|
end
|
54
63
|
|
data/lib/ttytest/version.rb
CHANGED
data/ttytest.gemspec
CHANGED
@@ -23,8 +23,8 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.required_ruby_version = '>= 2.1.0'
|
25
25
|
|
26
|
-
spec.add_development_dependency "bundler"
|
27
|
-
spec.add_development_dependency "rake"
|
26
|
+
spec.add_development_dependency "bundler"
|
27
|
+
spec.add_development_dependency "rake"
|
28
28
|
spec.add_development_dependency "minitest", "~> 5.0"
|
29
29
|
spec.add_development_dependency "yard"
|
30
30
|
end
|
metadata
CHANGED
@@ -1,43 +1,42 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ttytest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Hawthorn
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: bundler
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
|
-
- - "
|
16
|
+
- - ">="
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
18
|
+
version: '0'
|
20
19
|
type: :development
|
21
20
|
prerelease: false
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
23
22
|
requirements:
|
24
|
-
- - "
|
23
|
+
- - ">="
|
25
24
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
25
|
+
version: '0'
|
27
26
|
- !ruby/object:Gem::Dependency
|
28
27
|
name: rake
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
|
-
- - "
|
30
|
+
- - ">="
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
32
|
+
version: '0'
|
34
33
|
type: :development
|
35
34
|
prerelease: false
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
|
-
- - "
|
37
|
+
- - ">="
|
39
38
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
39
|
+
version: '0'
|
41
40
|
- !ruby/object:Gem::Dependency
|
42
41
|
name: minitest
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,8 +73,8 @@ executables: []
|
|
74
73
|
extensions: []
|
75
74
|
extra_rdoc_files: []
|
76
75
|
files:
|
76
|
+
- ".github/workflows/test.yml"
|
77
77
|
- ".gitignore"
|
78
|
-
- ".travis.yml"
|
79
78
|
- Gemfile
|
80
79
|
- README.md
|
81
80
|
- Rakefile
|
@@ -92,7 +91,6 @@ homepage: https://github.com/jhawthorn/ttytest
|
|
92
91
|
licenses:
|
93
92
|
- MIT
|
94
93
|
metadata: {}
|
95
|
-
post_install_message:
|
96
94
|
rdoc_options: []
|
97
95
|
require_paths:
|
98
96
|
- lib
|
@@ -107,9 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
105
|
- !ruby/object:Gem::Version
|
108
106
|
version: '0'
|
109
107
|
requirements: []
|
110
|
-
|
111
|
-
rubygems_version: 2.6.8
|
112
|
-
signing_key:
|
108
|
+
rubygems_version: 3.6.7
|
113
109
|
specification_version: 4
|
114
110
|
summary: TTYtest is an integration test framework for interactive tty applications
|
115
111
|
test_files: []
|