redis_test 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 86491435908a76458ad312207fe78ddb7be54155
4
- data.tar.gz: 412265e1b235aa4f06645adc31bb53905061f214
3
+ metadata.gz: 0437358bc1bf7eafb05bbf3a1d7c5bb17213097d
4
+ data.tar.gz: 48fe391b4f3900726f8aa9bc45c14c9258182cb6
5
5
  SHA512:
6
- metadata.gz: 962abdca861751e329a63dcd40f2c235c319f50f581f51b3ebcae15d15977edb35ab06e473a13f90856919990422f43b64a01454e08170edcbff4bd8eab06bfe
7
- data.tar.gz: dc783babf4af0a3a15b18f794a899fdd391b369b1c0ef9fd06e6de5538d349bc913e8bd834e952e84afb10516aeb95edc3e8130521faf63cfb9d16012f6feb7a
6
+ metadata.gz: 4ce99e7759b8b3bb6dddea8ab8f9bcfaa5c4b5582cf2b08c56f288bb255322a978ac6e7b5fabcc05ac70cb3704f36ebff12eb301acc3c50bd6f9496f7d8fb3b1
7
+ data.tar.gz: fbece8f6a0531369273d3c540d81079ea92929ba23f2ce03a8796ae4baf889579f14d1147017c9ca6b58fa52f1b15d44cb10c56c9f107e651e270f1ea34c9d92
@@ -1,4 +1,6 @@
1
- require "redis_test/version"
1
+ # frozen_string_literal: true
2
+
3
+ require 'redis_test/version'
2
4
  require 'socket'
3
5
 
4
6
  module RedisTest
@@ -32,12 +34,10 @@ module RedisTest
32
34
  end
33
35
 
34
36
  def loglevel
35
- @loglevel || "debug"
37
+ @loglevel || 'debug'
36
38
  end
37
39
 
38
- def loglevel=(level)
39
- @loglevel = level
40
- end
40
+ attr_writer :loglevel
41
41
 
42
42
  def start(log_to_stdout: false)
43
43
  FileUtils.mkdir_p cache_path
@@ -45,30 +45,27 @@ module RedisTest
45
45
  FileUtils.mkdir_p logs_path
46
46
 
47
47
  redis_options = {
48
- "pidfile" => pidfile,
49
- "port" => port,
50
- "timeout" => 300,
51
- "dbfilename" => db_filename,
52
- "dir" => cache_path,
53
- "loglevel" => loglevel,
54
- "databases" => 16
48
+ 'pidfile' => pidfile,
49
+ 'port' => port,
50
+ 'timeout' => 300,
51
+ 'dbfilename' => db_filename,
52
+ 'dir' => cache_path,
53
+ 'loglevel' => loglevel,
54
+ 'databases' => 16
55
55
  }
56
56
 
57
- unless log_to_stdout
58
- redis_options.merge!(
59
- "logfile" => logfile,
60
- )
61
- end
57
+ redis_options['logfile'] = logfile unless log_to_stdout
62
58
 
63
59
  redis_options_str = redis_options.map { |k, v| "#{k} #{v}" }.join('\n')
64
60
 
65
61
  fork do
66
- system "echo '#{redis_options_str}' | redis-server -"
62
+ echo_command = mac? ? 'echo' : 'echo -e'
63
+ system "#{echo_command} '#{redis_options_str}' | redis-server -"
67
64
  end
68
65
 
69
66
  wait_time_remaining = 5
70
67
  begin
71
- self.socket = TCPSocket.open("localhost", port)
68
+ self.socket = TCPSocket.open('localhost', port)
72
69
  clear
73
70
  @started = true
74
71
  rescue Exception => e
@@ -89,8 +86,12 @@ module RedisTest
89
86
  if File.file?(pidfile) && File.readable?(pidfile)
90
87
  pid = File.read(pidfile).to_i
91
88
  if pid > 0
92
- Process.kill("QUIT", pid)
93
- until (Process.getpgid(pid) rescue nil).nil? do
89
+ Process.kill('SIGTERM', pid)
90
+ until (begin
91
+ Process.getpgid(pid)
92
+ rescue StandardError
93
+ nil
94
+ end).nil?
94
95
  sleep 0.01
95
96
  end
96
97
  end
@@ -134,18 +135,23 @@ module RedisTest
134
135
  end
135
136
 
136
137
  def clear
137
- socket.puts("flushall")
138
+ socket.puts('flushall')
138
139
  socket.gets # wait for redis server to reply with "OK"
139
140
  end
140
141
 
141
142
  def find_available_port
142
- server = TCPServer.new("127.0.0.1", 0)
143
+ server = TCPServer.new('127.0.0.1', 0)
143
144
  server.addr[1]
144
145
  ensure
145
- server.close if server
146
+ server&.close
146
147
  end
147
148
 
148
149
  private
150
+
149
151
  attr_accessor :socket
152
+
153
+ def mac?
154
+ `uname`.downcase.include?('darwin')
155
+ end
150
156
  end
151
157
  end
@@ -1,3 +1,3 @@
1
1
  module RedisTest
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
21
+ spec.add_development_dependency "bundler", "~> 1.17"
22
22
  spec.add_development_dependency "byebug"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency "rspec"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_test
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phuong Nguyen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-13 00:00:00.000000000 Z
11
+ date: 2020-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.3'
19
+ version: '1.17'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.3'
26
+ version: '1.17'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  version: '0'
104
104
  requirements: []
105
105
  rubyforge_project:
106
- rubygems_version: 2.4.5.3
106
+ rubygems_version: 2.4.5.2
107
107
  signing_key:
108
108
  specification_version: 4
109
109
  summary: A helper to launch redis server during test