moneta 1.4.1 → 1.4.2
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/.github/workflows/ruby.yml +418 -0
- data/CHANGES +4 -0
- data/Gemfile +1 -1
- data/README.md +16 -13
- data/lib/moneta/pool.rb +26 -6
- data/lib/moneta/version.rb +1 -1
- data/spec/active_support/cache_moneta_store_spec.rb +13 -13
- data/spec/helper.rb +14 -1
- data/spec/moneta/adapters/activerecord/adapter_activerecord_existing_connection_spec.rb +3 -1
- data/spec/moneta/adapters/activerecord/adapter_activerecord_spec.rb +15 -7
- data/spec/moneta/adapters/activerecord/standard_activerecord_spec.rb +5 -2
- data/spec/moneta/adapters/activerecord/standard_activerecord_with_expires_spec.rb +5 -2
- data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_spec.rb +3 -3
- data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_with_default_expires_spec.rb +2 -2
- data/spec/moneta/adapters/datamapper/adapter_datamapper_spec.rb +25 -8
- data/spec/moneta/adapters/datamapper/standard_datamapper_spec.rb +2 -2
- data/spec/moneta/adapters/datamapper/standard_datamapper_with_expires_spec.rb +2 -2
- data/spec/moneta/adapters/datamapper/standard_datamapper_with_repository_spec.rb +2 -2
- data/spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb +13 -3
- data/spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb +13 -3
- data/spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb +1 -1
- data/spec/moneta/adapters/redis/adapter_redis_spec.rb +13 -3
- data/spec/moneta/adapters/redis/standard_redis_spec.rb +8 -1
- data/spec/moneta/adapters/sequel/adapter_sequel_spec.rb +4 -4
- data/spec/moneta/adapters/sequel/helper.rb +10 -5
- data/spec/moneta/adapters/sequel/standard_sequel_spec.rb +1 -1
- data/spec/moneta/adapters/sequel/standard_sequel_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/sqlite/adapter_sqlite_spec.rb +1 -1
- data/spec/moneta/adapters/sqlite/standard_sqlite_spec.rb +1 -1
- data/spec/moneta/adapters/sqlite/standard_sqlite_with_expires_spec.rb +1 -1
- data/spec/moneta/proxies/pool/pool_spec.rb +31 -3
- metadata +7 -15
- data/.travis.yml +0 -146
- data/spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_with_default_expires_spec.rb +0 -15
- data/spec/moneta/adapters/memcached/native/adapter_memcached_native_with_default_expires_spec.rb +0 -15
- data/spec/moneta/adapters/redis/adapter_redis_with_default_expires_spec.rb +0 -10
- data/spec/moneta/proxies/proxy/proxy_redis_spec.rb +0 -13
@@ -1,4 +1,4 @@
|
|
1
|
-
describe 'standard_datamapper_with_repository', broken: defined?(JRUBY_VERSION), adapter: :DataMapper do
|
1
|
+
describe 'standard_datamapper_with_repository', broken: defined?(JRUBY_VERSION), adapter: :DataMapper, mysql: true do
|
2
2
|
before :all do
|
3
3
|
require 'dm-core'
|
4
4
|
|
@@ -9,7 +9,7 @@ describe 'standard_datamapper_with_repository', broken: defined?(JRUBY_VERSION),
|
|
9
9
|
moneta_store :DataMapper do
|
10
10
|
{
|
11
11
|
repository: :repo,
|
12
|
-
setup: "mysql://#{mysql_username}:#{mysql_password}
|
12
|
+
setup: "mysql://#{mysql_username}:#{mysql_password}@#{mysql_host}:#{mysql_port}/#{mysql_database1}",
|
13
13
|
table: "simple_datamapper_with_repository"
|
14
14
|
}
|
15
15
|
end
|
@@ -7,9 +7,19 @@ describe 'adapter_memcached_dalli', retry: 3, adapter: :Memcached do
|
|
7
7
|
|
8
8
|
include_context :start_memcached, 11212
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
describe 'without default expires' do
|
11
|
+
moneta_build do
|
12
|
+
Moneta::Adapters::MemcachedDalli.new(server: "127.0.0.1:11212")
|
13
|
+
end
|
14
|
+
|
15
|
+
moneta_specs ADAPTER_SPECS.with_native_expires
|
12
16
|
end
|
13
17
|
|
14
|
-
|
18
|
+
describe 'with default expires' do
|
19
|
+
moneta_build do
|
20
|
+
Moneta::Adapters::MemcachedDalli.new(server: '127.0.0.1:11212', expires: min_ttl)
|
21
|
+
end
|
22
|
+
|
23
|
+
moneta_specs NATIVE_EXPIRY_SPECS.with_default_expires
|
24
|
+
end
|
15
25
|
end
|
@@ -7,9 +7,19 @@ describe 'adapter_memcached_native', isolate: true, unstable: defined?(JRUBY_VER
|
|
7
7
|
|
8
8
|
include_context :start_memcached, 11214
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
describe 'without default expires' do
|
11
|
+
moneta_build do
|
12
|
+
Moneta::Adapters::MemcachedNative.new(server: "127.0.0.1:11214")
|
13
|
+
end
|
14
|
+
|
15
|
+
moneta_specs ADAPTER_SPECS.with_native_expires
|
12
16
|
end
|
13
17
|
|
14
|
-
|
18
|
+
describe 'with default expires' do
|
19
|
+
moneta_build do
|
20
|
+
Moneta::Adapters::MemcachedNative.new(server: '127.0.0.1:11214', expires: min_ttl)
|
21
|
+
end
|
22
|
+
|
23
|
+
moneta_specs NATIVE_EXPIRY_SPECS.with_default_expires
|
24
|
+
end
|
15
25
|
end
|
@@ -2,9 +2,19 @@ describe 'adapter_redis', adapter: :Redis do
|
|
2
2
|
let(:t_res) { 0.125 }
|
3
3
|
let(:min_ttl) { t_res }
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
describe 'without default expiry' do
|
6
|
+
moneta_build do
|
7
|
+
Moneta::Adapters::Redis.new(host: redis_host, port: redis_port, db: 6)
|
8
|
+
end
|
9
|
+
|
10
|
+
moneta_specs ADAPTER_SPECS.with_each_key.with_native_expires
|
7
11
|
end
|
8
12
|
|
9
|
-
|
13
|
+
describe 'with default expiry' do
|
14
|
+
moneta_build do
|
15
|
+
Moneta::Adapters::Redis.new(host: redis_host, port: redis_port, db: 6, expires: min_ttl)
|
16
|
+
end
|
17
|
+
|
18
|
+
moneta_specs NATIVE_EXPIRY_SPECS.with_default_expires
|
19
|
+
end
|
10
20
|
end
|
@@ -2,6 +2,13 @@ describe 'standard_redis', adapter: :Redis do
|
|
2
2
|
let(:t_res) { 0.125 }
|
3
3
|
let(:min_ttl) { t_res }
|
4
4
|
|
5
|
-
moneta_store :Redis
|
5
|
+
moneta_store :Redis do
|
6
|
+
{
|
7
|
+
db: 4,
|
8
|
+
host: redis_host,
|
9
|
+
port: redis_port
|
10
|
+
}
|
11
|
+
end
|
12
|
+
|
6
13
|
moneta_specs STANDARD_SPECS.with_native_expires.with_each_key
|
7
14
|
end
|
@@ -5,7 +5,7 @@ describe ':Sequel adapter', adapter: :Sequel do
|
|
5
5
|
|
6
6
|
specs = ADAPTER_SPECS.with_each_key.with_values(:nil)
|
7
7
|
|
8
|
-
context 'with MySQL backend' do
|
8
|
+
context 'with MySQL backend', mysql: true do
|
9
9
|
moneta_build do
|
10
10
|
Moneta::Adapters::Sequel.new(opts.merge(db: mysql_uri))
|
11
11
|
end
|
@@ -13,7 +13,7 @@ describe ':Sequel adapter', adapter: :Sequel do
|
|
13
13
|
include_examples :adapter_sequel, specs
|
14
14
|
end
|
15
15
|
|
16
|
-
context "with SQLite backend" do
|
16
|
+
context "with SQLite backend", sqlite: true do
|
17
17
|
moneta_build do
|
18
18
|
Moneta::Adapters::Sequel.new(opts.merge(db: sqlite_uri('adapter_sequel.db')))
|
19
19
|
end
|
@@ -21,7 +21,7 @@ describe ':Sequel adapter', adapter: :Sequel do
|
|
21
21
|
include_examples :adapter_sequel, specs.without_concurrent
|
22
22
|
end
|
23
23
|
|
24
|
-
context "with Postgres backend" do
|
24
|
+
context "with Postgres backend", postgres: true do
|
25
25
|
moneta_build do
|
26
26
|
Moneta::Adapters::Sequel.new(opts.merge(postgres_options))
|
27
27
|
end
|
@@ -37,7 +37,7 @@ describe ':Sequel adapter', adapter: :Sequel do
|
|
37
37
|
include_examples :adapter_sequel, specs, optimize: false
|
38
38
|
end
|
39
39
|
|
40
|
-
context "with Postgres HStore backend" do
|
40
|
+
context "with Postgres HStore backend", postgres: true do
|
41
41
|
moneta_build do
|
42
42
|
Moneta::Adapters::Sequel.new(postgres_hstore_options)
|
43
43
|
end
|
@@ -2,9 +2,11 @@ RSpec.shared_context :sequel do
|
|
2
2
|
def mysql_uri database=nil
|
3
3
|
database ||= mysql_database1
|
4
4
|
if defined?(JRUBY_VERSION)
|
5
|
-
"jdbc:mysql
|
5
|
+
uri = "jdbc:mysql://#{mysql_host}:#{mysql_port}/#{database}?user=#{mysql_username}&useSSL=false"
|
6
|
+
uri += "&password=#{mysql_password}" if mysql_password
|
7
|
+
uri
|
6
8
|
else
|
7
|
-
"mysql2://#{mysql_username}
|
9
|
+
"mysql2://#{mysql_username}:#{mysql_password}@#{mysql_host}:#{mysql_port}/#{database}"
|
8
10
|
end
|
9
11
|
end
|
10
12
|
|
@@ -15,11 +17,14 @@ RSpec.shared_context :sequel do
|
|
15
17
|
def postgres_options database=nil
|
16
18
|
database ||= postgres_database1
|
17
19
|
if defined?(JRUBY_VERSION)
|
18
|
-
|
20
|
+
uri = "jdbc:postgresql://localhost/#{database}?user=#{postgres_username}"
|
21
|
+
uri += "&password=#{postgres_password}" if postgres_password
|
22
|
+
{db: uri}
|
19
23
|
else
|
20
24
|
{
|
21
25
|
db: "postgres://localhost/#{database}",
|
22
|
-
user: postgres_username
|
26
|
+
user: postgres_username,
|
27
|
+
password: postgres_password
|
23
28
|
}
|
24
29
|
end
|
25
30
|
end
|
@@ -33,7 +38,7 @@ RSpec.shared_context :sequel do
|
|
33
38
|
def h2_uri
|
34
39
|
"jdbc:h2:" + tempdir
|
35
40
|
end
|
36
|
-
end
|
41
|
+
end
|
37
42
|
|
38
43
|
RSpec.shared_examples :adapter_sequel do |specs, optimize: true|
|
39
44
|
shared_examples :each_key_server do
|
@@ -1,4 +1,4 @@
|
|
1
|
-
describe 'adapter_sqlite', unsupported: defined?(JRUBY_VERSION), adapter: :Sqlite do
|
1
|
+
describe 'adapter_sqlite', unsupported: defined?(JRUBY_VERSION), adapter: :Sqlite, sqlite: true do
|
2
2
|
moneta_build do
|
3
3
|
Moneta::Adapters::Sqlite.new(file: File.join(tempdir, "adapter_sqlite"))
|
4
4
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
describe 'standard_sqlite_with_expires', unsupported: defined?(JRUBY_VERSION), adapter: :Sqlite do
|
1
|
+
describe 'standard_sqlite_with_expires', unsupported: defined?(JRUBY_VERSION), adapter: :Sqlite, sqlite: true do
|
2
2
|
let(:t_res) { 0.125 }
|
3
3
|
let(:min_ttl) { 1 }
|
4
4
|
use_timecop
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'timeout'
|
2
2
|
|
3
|
-
describe "pool", proxy: :Pool do
|
3
|
+
describe "pool", proxy: :Pool, broken: ::Gem::Version.new(RUBY_ENGINE_VERSION) < ::Gem::Version.new('2.4.0') do
|
4
4
|
describe "Moneta::Pool" do
|
5
5
|
# To test the pool, we create the store once and pass the same object around
|
6
6
|
# whenever a new store is requested.
|
@@ -153,7 +153,7 @@ describe "pool", proxy: :Pool do
|
|
153
153
|
describe "closing stores after TTL expiry" do
|
154
154
|
let(:num) { max || min + 10 }
|
155
155
|
|
156
|
-
it "closes
|
156
|
+
it "closes unneeded stores after ttl" do
|
157
157
|
stores.each do |store|
|
158
158
|
allow(store).to receive(:close)
|
159
159
|
end
|
@@ -169,6 +169,32 @@ describe "pool", proxy: :Pool do
|
|
169
169
|
end
|
170
170
|
end
|
171
171
|
|
172
|
+
shared_examples :ttl_with_nonzero_min do |ttl:, min:, max: nil|
|
173
|
+
describe "TTL check" do
|
174
|
+
let(:num) { max || min + 10 }
|
175
|
+
|
176
|
+
# This is testing that a very specific bug is fixed - see
|
177
|
+
# https://github.com/moneta-rb/moneta/issues/197. A better long-term
|
178
|
+
# solution would be to have more granular tests of the functions in the
|
179
|
+
# PoolManager
|
180
|
+
it "doesn't cause a busy-loop when there are available stores" do
|
181
|
+
# Check a store in and out - now the manager needs to decide whether to close
|
182
|
+
# stores after ttl seconds.
|
183
|
+
store = subject.check_out
|
184
|
+
subject.check_in(store)
|
185
|
+
sleep ttl
|
186
|
+
expect(subject.stats[:available]).to be > 0
|
187
|
+
|
188
|
+
# needs to be less than the TTL, but otherwise not important.
|
189
|
+
sleep_time = ttl / 2.0
|
190
|
+
sleep sleep_time
|
191
|
+
|
192
|
+
# during the sleep, the pool manager should have been idle.
|
193
|
+
expect(subject.stats[:idle_time]).to be >= sleep_time
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
172
198
|
shared_examples :timeout do |timeout, max:|
|
173
199
|
describe "raising an error after timeout" do
|
174
200
|
let(:num) { max }
|
@@ -233,6 +259,7 @@ describe "pool", proxy: :Pool do
|
|
233
259
|
include_examples :min, 10
|
234
260
|
include_examples :max, 20, timeout: 4
|
235
261
|
include_examples :ttl, 1, min: 10, max: 20
|
262
|
+
include_examples :ttl_with_nonzero_min, ttl: 1, min: 10, max: 20
|
236
263
|
include_examples :timeout, 4, max: 20
|
237
264
|
end
|
238
265
|
|
@@ -243,6 +270,7 @@ describe "pool", proxy: :Pool do
|
|
243
270
|
include_examples :min, 10
|
244
271
|
include_examples :max, 10, timeout: 4
|
245
272
|
include_examples :ttl, 2, min: 10, max: 10
|
273
|
+
include_examples :ttl_with_nonzero_min, ttl: 2, min: 10, max: 10
|
246
274
|
include_examples :timeout, 4, max: 10
|
247
275
|
end
|
248
276
|
|
@@ -292,7 +320,7 @@ describe "pool", proxy: :Pool do
|
|
292
320
|
end
|
293
321
|
|
294
322
|
it "raises a ShutdownError if the pool is stopped while waiting for a store" do
|
295
|
-
#
|
323
|
+
# Exhaust the pool
|
296
324
|
store = stores.first
|
297
325
|
allow(store).to receive(:close).once
|
298
326
|
expect(subject.check_out).to eq store
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moneta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Mendler
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2021-05-11 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: parallel_tests
|
@@ -110,10 +110,10 @@ extra_rdoc_files:
|
|
110
110
|
- SPEC.md
|
111
111
|
- LICENSE
|
112
112
|
files:
|
113
|
+
- ".github/workflows/ruby.yml"
|
113
114
|
- ".gitignore"
|
114
115
|
- ".rspec"
|
115
116
|
- ".rubocop.yml"
|
116
|
-
- ".travis.yml"
|
117
117
|
- ".yardopts"
|
118
118
|
- CHANGES
|
119
119
|
- CONTRIBUTORS
|
@@ -299,10 +299,8 @@ files:
|
|
299
299
|
- spec/moneta/adapters/lruhash/standard_lruhash_with_expires_spec.rb
|
300
300
|
- spec/moneta/adapters/memcached/adapter_memcached_spec.rb
|
301
301
|
- spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb
|
302
|
-
- spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_with_default_expires_spec.rb
|
303
302
|
- spec/moneta/adapters/memcached/dalli/standard_memcached_dalli_spec.rb
|
304
303
|
- spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb
|
305
|
-
- spec/moneta/adapters/memcached/native/adapter_memcached_native_with_default_expires_spec.rb
|
306
304
|
- spec/moneta/adapters/memcached/native/standard_memcached_native_spec.rb
|
307
305
|
- spec/moneta/adapters/memcached/standard_memcached_spec.rb
|
308
306
|
- spec/moneta/adapters/memcached_helper.rb
|
@@ -324,7 +322,6 @@ files:
|
|
324
322
|
- spec/moneta/adapters/pstore/standard_pstore_spec.rb
|
325
323
|
- spec/moneta/adapters/pstore/standard_pstore_with_expires_spec.rb
|
326
324
|
- spec/moneta/adapters/redis/adapter_redis_spec.rb
|
327
|
-
- spec/moneta/adapters/redis/adapter_redis_with_default_expires_spec.rb
|
328
325
|
- spec/moneta/adapters/redis/standard_redis_spec.rb
|
329
326
|
- spec/moneta/adapters/restclient/adapter_restclient_spec.rb
|
330
327
|
- spec/moneta/adapters/restclient/helper.rb
|
@@ -369,7 +366,6 @@ files:
|
|
369
366
|
- spec/moneta/proxies/optionmerger/optionmerger_spec.rb
|
370
367
|
- spec/moneta/proxies/pool/pool_spec.rb
|
371
368
|
- spec/moneta/proxies/proxy/proxy_expires_memory_spec.rb
|
372
|
-
- spec/moneta/proxies/proxy/proxy_redis_spec.rb
|
373
369
|
- spec/moneta/proxies/shared/shared_tcp_spec.rb
|
374
370
|
- spec/moneta/proxies/shared/shared_unix_spec.rb
|
375
371
|
- spec/moneta/proxies/transformer/transformer_bencode_spec.rb
|
@@ -433,9 +429,9 @@ licenses:
|
|
433
429
|
- MIT
|
434
430
|
metadata:
|
435
431
|
bug_tracker_uri: https://github.com/moneta-rb/moneta/issues
|
436
|
-
changelog_uri: https://github.com/moneta-rb/moneta/blob/v1.4.
|
437
|
-
documentation_uri: https://www.rubydoc.info/gems/moneta/1.4.
|
438
|
-
source_code_uri: https://github.com/moneta-rb/moneta/tree/v1.4.
|
432
|
+
changelog_uri: https://github.com/moneta-rb/moneta/blob/v1.4.2/CHANGES
|
433
|
+
documentation_uri: https://www.rubydoc.info/gems/moneta/1.4.2
|
434
|
+
source_code_uri: https://github.com/moneta-rb/moneta/tree/v1.4.2
|
439
435
|
post_install_message:
|
440
436
|
rdoc_options: []
|
441
437
|
require_paths:
|
@@ -451,7 +447,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
451
447
|
- !ruby/object:Gem::Version
|
452
448
|
version: '0'
|
453
449
|
requirements: []
|
454
|
-
rubygems_version: 3.
|
450
|
+
rubygems_version: 3.2.15
|
455
451
|
signing_key:
|
456
452
|
specification_version: 4
|
457
453
|
summary: A unified interface to key/value stores, including Redis, Memcached, TokyoCabinet,
|
@@ -545,10 +541,8 @@ test_files:
|
|
545
541
|
- spec/moneta/adapters/lruhash/standard_lruhash_with_expires_spec.rb
|
546
542
|
- spec/moneta/adapters/memcached/adapter_memcached_spec.rb
|
547
543
|
- spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb
|
548
|
-
- spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_with_default_expires_spec.rb
|
549
544
|
- spec/moneta/adapters/memcached/dalli/standard_memcached_dalli_spec.rb
|
550
545
|
- spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb
|
551
|
-
- spec/moneta/adapters/memcached/native/adapter_memcached_native_with_default_expires_spec.rb
|
552
546
|
- spec/moneta/adapters/memcached/native/standard_memcached_native_spec.rb
|
553
547
|
- spec/moneta/adapters/memcached/standard_memcached_spec.rb
|
554
548
|
- spec/moneta/adapters/memcached_helper.rb
|
@@ -570,7 +564,6 @@ test_files:
|
|
570
564
|
- spec/moneta/adapters/pstore/standard_pstore_spec.rb
|
571
565
|
- spec/moneta/adapters/pstore/standard_pstore_with_expires_spec.rb
|
572
566
|
- spec/moneta/adapters/redis/adapter_redis_spec.rb
|
573
|
-
- spec/moneta/adapters/redis/adapter_redis_with_default_expires_spec.rb
|
574
567
|
- spec/moneta/adapters/redis/standard_redis_spec.rb
|
575
568
|
- spec/moneta/adapters/restclient/adapter_restclient_spec.rb
|
576
569
|
- spec/moneta/adapters/restclient/helper.rb
|
@@ -615,7 +608,6 @@ test_files:
|
|
615
608
|
- spec/moneta/proxies/optionmerger/optionmerger_spec.rb
|
616
609
|
- spec/moneta/proxies/pool/pool_spec.rb
|
617
610
|
- spec/moneta/proxies/proxy/proxy_expires_memory_spec.rb
|
618
|
-
- spec/moneta/proxies/proxy/proxy_redis_spec.rb
|
619
611
|
- spec/moneta/proxies/shared/shared_tcp_spec.rb
|
620
612
|
- spec/moneta/proxies/shared/shared_unix_spec.rb
|
621
613
|
- spec/moneta/proxies/transformer/transformer_bencode_spec.rb
|
data/.travis.yml
DELETED
@@ -1,146 +0,0 @@
|
|
1
|
-
dist: xenial
|
2
|
-
language: ruby
|
3
|
-
rvm:
|
4
|
-
- 2.7
|
5
|
-
- 2.6
|
6
|
-
- 2.5
|
7
|
-
- 2.4
|
8
|
-
- 2.3
|
9
|
-
- jruby-9.2.9.0
|
10
|
-
- rbx-3
|
11
|
-
services:
|
12
|
-
- mysql
|
13
|
-
- riak
|
14
|
-
- redis
|
15
|
-
- cassandra
|
16
|
-
- memcached
|
17
|
-
- mongodb
|
18
|
-
- postgresql
|
19
|
-
addons:
|
20
|
-
apt:
|
21
|
-
sources:
|
22
|
-
- cassandra
|
23
|
-
- sourceline: "deb https://apache.bintray.com/couchdb-deb xenial main"
|
24
|
-
key_url: https://couchdb.apache.org/repo/bintray-pubkey.asc
|
25
|
-
- sourceline: "deb https://packagecloud.io/basho/riak/ubuntu/ xenial main"
|
26
|
-
key_url: https://packagecloud.io/basho/riak/gpgkey
|
27
|
-
packages:
|
28
|
-
- cassandra
|
29
|
-
- libkyotocabinet-dev
|
30
|
-
- libleveldb-dev
|
31
|
-
- liblzo2-dev
|
32
|
-
- libtdb-dev
|
33
|
-
- libtokyocabinet-dev
|
34
|
-
- tokyotyrant
|
35
|
-
- riak
|
36
|
-
postgresql: '9.6'
|
37
|
-
before_install:
|
38
|
-
- gem install bundler
|
39
|
-
- script/start-services
|
40
|
-
cache:
|
41
|
-
bundler: true
|
42
|
-
directories:
|
43
|
-
- downloads
|
44
|
-
before_script:
|
45
|
-
- mysql -e 'create database moneta;'
|
46
|
-
- mysql -e 'create database moneta2;'
|
47
|
-
- psql -c 'create database moneta1;' -U postgres
|
48
|
-
- psql -c 'create extension hstore;' -U postgres moneta1
|
49
|
-
- psql -c 'create database moneta2;' -U postgres
|
50
|
-
# FIXME: remove this once moneta no longer generates hundreds of warnings
|
51
|
-
# in Ruby 2.7
|
52
|
-
- if echo $RUBY_VERSION | grep -q 'ruby-2.7'; then export RUBYOPT='-W0'; fi
|
53
|
-
- export
|
54
|
-
env:
|
55
|
-
matrix:
|
56
|
-
- SCRIPT='script/parallel-tests ~unstable --
|
57
|
-
test/action_dispatch/session_moneta_store_test.rb
|
58
|
-
spec/moneta/adapters/activerecord
|
59
|
-
spec/moneta/adapters/localmemcache
|
60
|
-
spec/moneta/adapters/activesupportcache
|
61
|
-
spec/moneta/adapters/lruhash
|
62
|
-
spec/moneta/adapters/gdbm
|
63
|
-
spec/moneta/adapters/null
|
64
|
-
spec/moneta/adapters/datamapper
|
65
|
-
spec/moneta/adapters/pstore
|
66
|
-
spec/moneta/adapters/daybreak
|
67
|
-
spec/moneta/adapters/redis
|
68
|
-
spec/moneta/adapters/dbm
|
69
|
-
spec/moneta/adapters/restclient
|
70
|
-
spec/moneta/adapters/file
|
71
|
-
spec/moneta/adapters/fog
|
72
|
-
spec/moneta/adapters/sdbm
|
73
|
-
spec/moneta/adapters/tokyocabinet
|
74
|
-
spec/moneta/adapters/leveldb
|
75
|
-
spec/moneta/adapters/tokyotyrant
|
76
|
-
spec/moneta/adapters/lmdb
|
77
|
-
spec/moneta/adapters/yaml
|
78
|
-
'
|
79
|
-
- SCRIPT='script/parallel-tests ~unstable --
|
80
|
-
spec/moneta/adapters/client
|
81
|
-
spec/moneta/adapters/memory
|
82
|
-
spec/moneta/adapters/cookie
|
83
|
-
spec/moneta/adapters/mongo
|
84
|
-
spec/moneta/adapters/tdb
|
85
|
-
spec/moneta/adapters/kyotocabinet
|
86
|
-
'
|
87
|
-
- SCRIPT='script/parallel-tests ~unstable --
|
88
|
-
spec/moneta/adapters/couch/standard_couch_spec.rb
|
89
|
-
'
|
90
|
-
- SCRIPT='script/parallel-tests ~unstable --
|
91
|
-
spec/moneta/adapters/couch/standard_couch_with_expires_spec.rb
|
92
|
-
'
|
93
|
-
- SCRIPT='script/parallel-tests ~unstable --
|
94
|
-
spec/moneta/adapters/memcached/dalli
|
95
|
-
'
|
96
|
-
- SCRIPT='script/parallel-tests ~unstable --
|
97
|
-
spec/moneta/adapters/memcached/native
|
98
|
-
spec/moneta/adapters/couch/adapter_couch_spec.rb
|
99
|
-
'
|
100
|
-
- SCRIPT='script/parallel-tests ~unstable --
|
101
|
-
spec/moneta/adapters/cassandra/adapter_cassandra_spec.rb
|
102
|
-
spec/moneta/adapters/cassandra/standard_cassandra_spec.rb
|
103
|
-
'
|
104
|
-
- SCRIPT='script/parallel-tests ~unstable --
|
105
|
-
spec/moneta/adapters/cassandra/adapter_cassandra_with_default_expires_spec.rb
|
106
|
-
spec/moneta/adapters/hashfile
|
107
|
-
spec/moneta/adapters/sqlite
|
108
|
-
spec/moneta/adapters/sequel
|
109
|
-
'
|
110
|
-
- SCRIPT='script/parallel-tests ~unstable --
|
111
|
-
spec/moneta/proxies
|
112
|
-
'
|
113
|
-
- SCRIPT='script/parallel-tests ~unstable --remainder'
|
114
|
-
- SCRIPT='script/parallel-tests unstable'
|
115
|
-
- SCRIPT='script/benchmarks uniform_small'
|
116
|
-
- SCRIPT='script/benchmarks uniform_medium'
|
117
|
-
- SCRIPT='script/benchmarks uniform_large'
|
118
|
-
- SCRIPT='script/benchmarks normal_small'
|
119
|
-
- SCRIPT='script/benchmarks normal_medium'
|
120
|
-
- SCRIPT='script/benchmarks normal_large'
|
121
|
-
- SCRIPT='rubocop lib'
|
122
|
-
matrix:
|
123
|
-
allow_failures:
|
124
|
-
- rvm: rbx-3
|
125
|
-
- env: SCRIPT='script/parallel-tests unstable'
|
126
|
-
exclude:
|
127
|
-
- rvm: 2.6
|
128
|
-
env: SCRIPT='rubocop lib'
|
129
|
-
- rvm: 2.5
|
130
|
-
env: SCRIPT='rubocop lib'
|
131
|
-
- rvm: 2.4
|
132
|
-
env: SCRIPT='rubocop lib'
|
133
|
-
- rvm: 2.3
|
134
|
-
env: SCRIPT='rubocop lib'
|
135
|
-
- rvm: 2.2
|
136
|
-
env: SCRIPT='rubocop lib'
|
137
|
-
- rvm: jruby-9.2.9.0
|
138
|
-
env: SCRIPT='rubocop lib'
|
139
|
-
- rvm: rbx-3
|
140
|
-
env: SCRIPT='rubocop lib'
|
141
|
-
|
142
|
-
script: "bundle exec $SCRIPT"
|
143
|
-
branches:
|
144
|
-
only:
|
145
|
-
- master
|
146
|
-
- travis
|