retest 1.6.0 → 1.6.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.
- 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
|