redis_test 0.1.2 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 85e1804f53f145929dd0c20f28cbad7a9cbdb7c5
4
- data.tar.gz: b0c05c0c2d14c28f76f90a90beda3919df25bd84
3
+ metadata.gz: 52cb243023a193b9d9db16eb99415aa932d50fd3
4
+ data.tar.gz: 55b9ca8ae4308ab19beaf7dd74f4a97a8f336074
5
5
  SHA512:
6
- metadata.gz: f48411a4b7c433d5bbb3c0773d7139cd0c8af35aa03289a4cc46f4ac530288c754d1c20a3553e590d1313a9e48548eb5f31243bac6c2c38af014a3f210df43bb
7
- data.tar.gz: 9e5182159bcd5af95ba0f3b1040b19a5ec32864909f0610a1e4b95510641ab5500897f09c9bb4e62101358b1191abe6a0be55e01e3cd5edb21ba4fce0161615a
6
+ metadata.gz: a961e22060cd7e6023311a299657c4e77a4a9342f23adc5838f7fb0bd7e51987523edffa72f75f1d7cfa0f7220b3d9be8b3a546a3e569c79a684f104115b5ed7
7
+ data.tar.gz: 2007cb3b6437e67fa63b7ff710616b5602fd2eaae4ca54ae8d3a5b5260a8ad19faaecb0ca53a2327c26ed68c4942acf2c873b433ad6c9994a47674293b27d219
data/.gitignore CHANGED
@@ -18,3 +18,5 @@ tmp
18
18
  vendor/
19
19
  .idea/
20
20
  binstubs/
21
+ log/
22
+ .byebug_*
data/README.md CHANGED
@@ -37,7 +37,8 @@ You can use it with RSpec by putting this block under your spec/support:
37
37
  ```ruby
38
38
  RSpec.configure do |config|
39
39
  config.before(:suite) do
40
- RedisTest.start
40
+ RedisTest.start(log_to_stdout: true)
41
+ # if log_to_stdout ommited it will logs to file
41
42
  RedisTest.configure(:default, :sidekiq)
42
43
  # RedisTest provide common configuration for :default (set
43
44
  # Redis.current), :sidekiq, :ohm (set Ohm.redis) and :resque.
@@ -39,7 +39,7 @@ module RedisTest
39
39
  @loglevel = level
40
40
  end
41
41
 
42
- def start
42
+ def start(log_to_stdout: false)
43
43
  FileUtils.mkdir_p cache_path
44
44
  FileUtils.mkdir_p pids_path
45
45
  FileUtils.mkdir_p logs_path
@@ -47,15 +47,22 @@ module RedisTest
47
47
  redis_options = {
48
48
  "daemonize" => 'yes',
49
49
  "pidfile" => pidfile,
50
- "logfile" => logfile,
51
50
  "port" => port,
52
51
  "timeout" => 300,
53
52
  "dbfilename" => db_filename,
54
53
  "dir" => cache_path,
55
54
  "loglevel" => loglevel,
56
55
  "databases" => 16
57
- }.map { |k, v| "#{k} #{v}" }.join('\n')
58
- `echo '#{redis_options}' | redis-server -`
56
+ }
57
+
58
+ unless log_to_stdout
59
+ redis_options.merge!(
60
+ "logfile" => logfile,
61
+ )
62
+ end
63
+
64
+ redis_options_str = redis_options.map { |k, v| "#{k} #{v}" }.join('\n')
65
+ `echo '#{redis_options_str}' | redis-server -`
59
66
 
60
67
  wait_time_remaining = 5
61
68
  begin
@@ -77,7 +84,12 @@ module RedisTest
77
84
  def stop
78
85
  if File.file?(pidfile) && File.readable?(pidfile)
79
86
  pid = File.read(pidfile).to_i
80
- Process.kill("QUIT", pid) if pid > 0
87
+ if pid > 0
88
+ Process.kill("QUIT", pid)
89
+ until (Process.getpgid(pid) rescue nil).nil? do
90
+ sleep 0.01
91
+ end
92
+ end
81
93
  end
82
94
  FileUtils.rm_f("#{cache_path}#{db_filename}")
83
95
  end
@@ -1,3 +1,3 @@
1
1
  module RedisTest
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -19,5 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "byebug"
22
23
  spec.add_development_dependency "rake"
24
+ spec.add_development_dependency "rspec"
23
25
  end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe RedisTest do
4
+ describe '#start' do
5
+ describe "log_to_stdout = false" do
6
+ it "starts fine" do
7
+ RedisTest.start
8
+ RedisTest.stop
9
+ end
10
+ end
11
+ end
12
+
13
+ describe '#start' do
14
+ describe "log_to_stdout = true" do
15
+ it "starts fine" do
16
+ RedisTest.start(log_to_stdout: false)
17
+ RedisTest.stop
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ require 'rubygems'
2
+ require 'redis_test'
3
+
4
+ # Requires supporting ruby files with custom matchers and macros, etc,
5
+ # in spec/support/ and its subdirectories.
6
+ Dir[File.expand_path("./spec/support/**/*.rb")].each { |f| require f }
7
+
8
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
9
+ RSpec.configure do |config|
10
+ config.treat_symbols_as_metadata_keys_with_true_values = true
11
+ config.run_all_when_everything_filtered = true
12
+ config.filter_run :focus
13
+
14
+ # Run specs in random order to surface order dependencies. If you find an
15
+ # order dependency and want to debug it, you can fix the order by providing
16
+ # the seed, which is printed after each run.
17
+ # --seed 1234
18
+ config.order = 'random'
19
+ end
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.1.2
4
+ version: 0.1.4
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-01 00:00:00.000000000 Z
11
+ date: 2018-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: byebug
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +52,20 @@ dependencies:
38
52
  - - ">="
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  description: A helper to launch redis server during test
42
70
  email:
43
71
  - phuongnd08@gmail.com
@@ -53,6 +81,8 @@ files:
53
81
  - lib/redis_test.rb
54
82
  - lib/redis_test/version.rb
55
83
  - redis_test.gemspec
84
+ - spec/redis_test_spec.rb
85
+ - spec/spec_helper.rb
56
86
  homepage: https://github.com/phuongnd08/redis_test
57
87
  licenses:
58
88
  - MIT
@@ -77,4 +107,6 @@ rubygems_version: 2.4.5.3
77
107
  signing_key:
78
108
  specification_version: 4
79
109
  summary: A helper to launch redis server during test
80
- test_files: []
110
+ test_files:
111
+ - spec/redis_test_spec.rb
112
+ - spec/spec_helper.rb