retest 1.6.0 → 1.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/debug +1 -31
- data/exe/retest +17 -4
- data/lib/retest/command.rb +3 -3
- data/lib/retest/program.rb +8 -23
- data/lib/retest/repository.rb +8 -8
- data/lib/retest/runners/change_runner.rb +2 -2
- data/lib/retest/runners/runner.rb +8 -3
- data/lib/retest/runners/test_runner.rb +2 -2
- data/lib/retest/runners/variable_runner.rb +2 -2
- data/lib/retest/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1574e44c17347c9a6e737481bfcbff782800cf68baef56f7f1dc2e1006f4f5b6
|
4
|
+
data.tar.gz: abe7fda8889c342859457f87b44a91e6e9e4a8cd0d8c764d6738422a8c9ed087
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9732e40769bbdc74ec7783dede4255c6cfb64a2517a8a92cffcbb838b54b714cd71f4244f7c06c6e238ce008facbd4e49f5fd0e6a4c5d73e2c225328254cf427
|
7
|
+
data.tar.gz: 791f6b3bf4d6b8b1eec931bff738bd6e795d51a41c17263c9ab6c0e47d15e1acfd70d18679387ce40520b871c8aabb184f4298f84a965c8e4c43b0b990465b62
|
data/bin/debug
CHANGED
@@ -1,36 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require "bundler/setup"
|
4
|
-
require "retest"
|
5
4
|
require "byebug"
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
options = Retest::Options.new(ARGV)
|
10
|
-
|
11
|
-
if options.help?
|
12
|
-
$stdout.puts options.help
|
13
|
-
return
|
14
|
-
end
|
15
|
-
|
16
|
-
repository = Retest::Repository.new(files: Retest::VersionControl.files)
|
17
|
-
command = Retest::Command.for_options(options)
|
18
|
-
runner = Retest::Runners.runner_for(command.to_s)
|
19
|
-
sounds = Retest::Sounds.for(options)
|
20
|
-
|
21
|
-
sounds.play(:tests_pass)
|
22
|
-
runner.add_observer(sounds)
|
23
|
-
|
24
|
-
program = Retest::Program.new(
|
25
|
-
extension: options.extension,
|
26
|
-
repository: repository,
|
27
|
-
command: command,
|
28
|
-
runner: runner
|
29
|
-
)
|
30
|
-
|
31
|
-
if options.params[:diff]
|
32
|
-
program.diff(options.params[:diff])
|
33
|
-
else
|
34
|
-
program.start # not blocking
|
35
|
-
sleep
|
36
|
-
end
|
6
|
+
eval(File.read("exe/retest"))
|
data/exe/retest
CHANGED
@@ -20,7 +20,6 @@ sounds.play(:tests_pass)
|
|
20
20
|
runner.add_observer(sounds)
|
21
21
|
|
22
22
|
program = Retest::Program.new(
|
23
|
-
extension: options.extension,
|
24
23
|
repository: repository,
|
25
24
|
command: command,
|
26
25
|
runner: runner
|
@@ -28,7 +27,21 @@ program = Retest::Program.new(
|
|
28
27
|
|
29
28
|
if options.params[:diff]
|
30
29
|
program.diff(options.params[:diff])
|
31
|
-
|
32
|
-
program.start # not blocking
|
33
|
-
sleep
|
30
|
+
return
|
34
31
|
end
|
32
|
+
|
33
|
+
# Main action
|
34
|
+
|
35
|
+
$stdout.puts "Launching Retest..."
|
36
|
+
Listen.to('.', only: options.extension, relative: true) do |modified, added, removed|
|
37
|
+
begin
|
38
|
+
program.run(modified, added, removed)
|
39
|
+
rescue => e
|
40
|
+
$stdout.puts "Something went wrong: #{e.message}"
|
41
|
+
end
|
42
|
+
end.start
|
43
|
+
$stdout.puts "Ready to refactor! You can make file changes now"
|
44
|
+
|
45
|
+
# not blocking
|
46
|
+
|
47
|
+
sleep
|
data/lib/retest/command.rb
CHANGED
@@ -19,10 +19,10 @@ module Retest
|
|
19
19
|
def_delegators :options, :params, :full_suite?, :auto?
|
20
20
|
|
21
21
|
attr_accessor :options, :setup
|
22
|
-
def initialize(options: Options.new, setup: Setup.new,
|
22
|
+
def initialize(options: Options.new, setup: Setup.new, stdout: $stdout)
|
23
23
|
@options = options
|
24
24
|
@setup = setup
|
25
|
-
@
|
25
|
+
@stdout = stdout
|
26
26
|
end
|
27
27
|
|
28
28
|
def command
|
@@ -52,7 +52,7 @@ module Retest
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def default_command
|
55
|
-
@
|
55
|
+
@stdout.puts "Setup identified: [#{type.upcase}]. Using command: '#{setup_command}'"
|
56
56
|
setup_command
|
57
57
|
end
|
58
58
|
|
data/lib/retest/program.rb
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
module Retest
|
2
2
|
class Program
|
3
|
-
attr_accessor :runner, :repository, :command
|
4
|
-
def initialize(runner: nil, repository: nil, command: nil
|
3
|
+
attr_accessor :runner, :repository, :command
|
4
|
+
def initialize(runner: nil, repository: nil, command: nil)
|
5
5
|
@runner = runner
|
6
6
|
@repository = repository
|
7
7
|
@command = command
|
8
|
-
@extension = extension
|
9
8
|
end
|
10
9
|
|
11
|
-
def
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
def run(modified, added, removed)
|
11
|
+
repository.sync(added: added, removed: removed)
|
12
|
+
runner.sync(added: added, removed: removed)
|
13
|
+
system('clear 2>/dev/null') || system('cls 2>/dev/null')
|
14
|
+
|
15
|
+
runner.run (modified + added).first, repository: repository
|
15
16
|
end
|
16
17
|
|
17
18
|
def diff(branch)
|
@@ -24,21 +25,5 @@ module Retest
|
|
24
25
|
puts "Running tests..."
|
25
26
|
runner.run_all_tests command.format_batch(test_files)
|
26
27
|
end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
def build
|
31
|
-
Listen.to('.', only: extension, relative: true) do |modified, added, removed|
|
32
|
-
begin
|
33
|
-
repository.sync(added: added, removed: removed)
|
34
|
-
runner.sync(added: added, removed: removed)
|
35
|
-
system('clear 2>/dev/null') || system('cls 2>/dev/null')
|
36
|
-
|
37
|
-
runner.run (modified + added).first, repository: repository
|
38
|
-
rescue => e
|
39
|
-
puts "Something went wrong: #{e.message}"
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
28
|
end
|
44
29
|
end
|
data/lib/retest/repository.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
module Retest
|
2
2
|
class Repository
|
3
|
-
attr_accessor :files, :cache, :
|
3
|
+
attr_accessor :files, :cache, :stdin, :stdout
|
4
4
|
|
5
|
-
def initialize(files: [], cache: {},
|
6
|
-
@cache
|
7
|
-
@files
|
8
|
-
@
|
9
|
-
@
|
5
|
+
def initialize(files: [], cache: {}, stdin: $stdin, stdout: $stdout)
|
6
|
+
@cache = cache
|
7
|
+
@files = files
|
8
|
+
@stdin = stdin
|
9
|
+
@stdout = stdout
|
10
10
|
end
|
11
11
|
|
12
12
|
def find_test(path)
|
@@ -61,7 +61,7 @@ module Retest
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def ask_question(tests)
|
64
|
-
|
64
|
+
stdout.puts(<<~QUESTION)
|
65
65
|
We found few tests matching: #{@path}
|
66
66
|
#{list_options(tests)}
|
67
67
|
|
@@ -77,7 +77,7 @@ module Retest
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def get_input
|
80
|
-
|
80
|
+
stdin.gets.chomp.to_i
|
81
81
|
end
|
82
82
|
end
|
83
83
|
end
|
@@ -3,10 +3,10 @@ module Retest
|
|
3
3
|
class ChangeRunner < Runner
|
4
4
|
def run(changed_file = nil, repository: nil)
|
5
5
|
if changed_file
|
6
|
-
|
6
|
+
log("Changed File Selected: #{changed_file}")
|
7
7
|
system_run command.gsub('<changed>', changed_file)
|
8
8
|
else
|
9
|
-
|
9
|
+
log(<<~ERROR)
|
10
10
|
404 - Test File Not Found
|
11
11
|
Retest could not find a changed file to run.
|
12
12
|
ERROR
|
@@ -3,8 +3,9 @@ module Retest
|
|
3
3
|
class Runner
|
4
4
|
include Observable
|
5
5
|
|
6
|
-
attr_accessor :command
|
7
|
-
def initialize(command)
|
6
|
+
attr_accessor :command, :stdout
|
7
|
+
def initialize(command, stdout: $stdout)
|
8
|
+
@stdout = stdout
|
8
9
|
@command = command
|
9
10
|
end
|
10
11
|
|
@@ -17,7 +18,7 @@ module Retest
|
|
17
18
|
end
|
18
19
|
|
19
20
|
def run_all_tests(tests_string)
|
20
|
-
|
21
|
+
log("Test File Selected: #{tests_string}")
|
21
22
|
system_run command.gsub('<test>', tests_string)
|
22
23
|
end
|
23
24
|
|
@@ -31,6 +32,10 @@ module Retest
|
|
31
32
|
changed
|
32
33
|
notify_observers(result)
|
33
34
|
end
|
35
|
+
|
36
|
+
def log(message)
|
37
|
+
stdout.puts(message)
|
38
|
+
end
|
34
39
|
end
|
35
40
|
end
|
36
41
|
end
|
@@ -13,10 +13,10 @@ module Retest
|
|
13
13
|
self.cached_test_file = repository.find_test(changed_file)
|
14
14
|
|
15
15
|
if cached_test_file
|
16
|
-
|
16
|
+
log("Test File Selected: #{cached_test_file}")
|
17
17
|
system_run command.gsub('<test>', cached_test_file)
|
18
18
|
else
|
19
|
-
|
19
|
+
log(<<~ERROR)
|
20
20
|
404 - Test File Not Found
|
21
21
|
Retest could not find a matching test file to run.
|
22
22
|
ERROR
|
@@ -14,7 +14,7 @@ module Retest
|
|
14
14
|
|
15
15
|
return print_test_file_not_found unless cached_test_file
|
16
16
|
|
17
|
-
|
17
|
+
log(<<~FILES)
|
18
18
|
Files Selected:
|
19
19
|
- file: #{changed_file}
|
20
20
|
- test: #{cached_test_file}
|
@@ -33,7 +33,7 @@ module Retest
|
|
33
33
|
private
|
34
34
|
|
35
35
|
def print_test_file_not_found
|
36
|
-
|
36
|
+
log(<<~ERROR)
|
37
37
|
404 - Test File Not Found
|
38
38
|
Retest could not find a matching test file to run.
|
39
39
|
ERROR
|
data/lib/retest/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: retest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexandre Barret
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: string-similarity
|