libcouchbase 1.0.4 → 1.1.0

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.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +11 -8
  3. data/ext/libcouchbase/CMakeLists.txt +1 -1
  4. data/ext/libcouchbase/README.markdown +38 -6
  5. data/ext/libcouchbase/RELEASE_NOTES.markdown +151 -0
  6. data/ext/libcouchbase/cmake/Modules/GenerateConfigDotH.cmake +2 -2
  7. data/ext/libcouchbase/cmake/Modules/GetVersionInfo.cmake +3 -3
  8. data/ext/libcouchbase/cmake/source_files.cmake +1 -0
  9. data/ext/libcouchbase/contrib/cJSON/cJSON.c +686 -288
  10. data/ext/libcouchbase/contrib/cJSON/cJSON.h +0 -0
  11. data/ext/libcouchbase/contrib/cbsasl/src/hash.c +17 -17
  12. data/ext/libcouchbase/contrib/cliopts/cliopts.c +76 -0
  13. data/ext/libcouchbase/contrib/cliopts/cliopts.h +66 -15
  14. data/ext/libcouchbase/contrib/genhash/genhash.c +1 -2
  15. data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.cpp +4 -3
  16. data/ext/libcouchbase/example/instancepool/main.cc +12 -2
  17. data/ext/libcouchbase/example/libeventdirect/main.c +99 -25
  18. data/ext/libcouchbase/example/minimal/minimal.c +7 -5
  19. data/ext/libcouchbase/example/observe/durability.c +102 -0
  20. data/ext/libcouchbase/example/observe/observe.c +19 -6
  21. data/ext/libcouchbase/example/subdoc/subdoc-xattrs.c +1 -2
  22. data/ext/libcouchbase/include/libcouchbase/cntl-private.h +6 -8
  23. data/ext/libcouchbase/include/libcouchbase/cntl.h +84 -64
  24. data/ext/libcouchbase/include/libcouchbase/couchbase.h +295 -78
  25. data/ext/libcouchbase/include/libcouchbase/deprecated.h +2 -2
  26. data/ext/libcouchbase/include/libcouchbase/error.h +1 -1
  27. data/ext/libcouchbase/include/libcouchbase/iops.h +9 -9
  28. data/ext/libcouchbase/include/libcouchbase/ixmgmt.h +2 -2
  29. data/ext/libcouchbase/include/libcouchbase/n1ql.h +69 -7
  30. data/ext/libcouchbase/include/libcouchbase/vbucket.h +17 -0
  31. data/ext/libcouchbase/include/libcouchbase/views.h +3 -3
  32. data/ext/libcouchbase/include/memcached/protocol_binary.h +62 -1
  33. data/ext/libcouchbase/packaging/deb/control +1 -1
  34. data/ext/libcouchbase/packaging/rpm/libcouchbase.spec.in +37 -36
  35. data/ext/libcouchbase/src/bootstrap.cc +22 -8
  36. data/ext/libcouchbase/src/bucketconfig/bc_cccp.cc +1 -1
  37. data/ext/libcouchbase/src/bucketconfig/bc_http.cc +0 -1
  38. data/ext/libcouchbase/src/bucketconfig/confmon.cc +13 -8
  39. data/ext/libcouchbase/src/callbacks.c +2 -0
  40. data/ext/libcouchbase/src/cntl.cc +28 -17
  41. data/ext/libcouchbase/src/dns-srv.cc +1 -2
  42. data/ext/libcouchbase/src/dump.cc +4 -0
  43. data/ext/libcouchbase/src/errmap.h +89 -16
  44. data/ext/libcouchbase/src/handler.cc +28 -11
  45. data/ext/libcouchbase/src/http/http-priv.h +4 -1
  46. data/ext/libcouchbase/src/http/http.cc +3 -0
  47. data/ext/libcouchbase/src/instance.cc +1 -1
  48. data/ext/libcouchbase/src/internal.h +1 -0
  49. data/ext/libcouchbase/src/lcbio/connect.cc +2 -3
  50. data/ext/libcouchbase/src/lcbio/manager.cc +2 -2
  51. data/ext/libcouchbase/src/lcbio/ssl.h +10 -0
  52. data/ext/libcouchbase/src/mc/mcreq.c +8 -0
  53. data/ext/libcouchbase/src/mcserver/mcserver.cc +14 -1
  54. data/ext/libcouchbase/src/n1ql/ixmgmt.cc +0 -3
  55. data/ext/libcouchbase/src/n1ql/n1ql.cc +22 -29
  56. data/ext/libcouchbase/src/n1ql/params.cc +46 -1
  57. data/ext/libcouchbase/src/newconfig.cc +4 -4
  58. data/ext/libcouchbase/src/operations/durability-seqno.cc +4 -0
  59. data/ext/libcouchbase/src/operations/durability.cc +3 -0
  60. data/ext/libcouchbase/src/operations/ping.cc +315 -0
  61. data/ext/libcouchbase/src/operations/stats.cc +10 -0
  62. data/ext/libcouchbase/src/operations/subdoc.cc +13 -1
  63. data/ext/libcouchbase/src/retrychk.cc +1 -0
  64. data/ext/libcouchbase/src/settings.c +2 -0
  65. data/ext/libcouchbase/src/settings.h +13 -7
  66. data/ext/libcouchbase/src/ssl/ssl_c.c +28 -2
  67. data/ext/libcouchbase/src/ssl/ssl_common.c +3 -0
  68. data/ext/libcouchbase/src/ssl/ssl_e.c +15 -1
  69. data/ext/libcouchbase/src/ssl/ssl_iot_common.h +3 -1
  70. data/ext/libcouchbase/src/timings.c +0 -1
  71. data/ext/libcouchbase/src/vbucket/vbucket.c +49 -1
  72. data/ext/libcouchbase/tests/iotests/mock-environment.cc +58 -40
  73. data/ext/libcouchbase/tests/iotests/mock-environment.h +23 -4
  74. data/ext/libcouchbase/tests/iotests/mock-unit-test.h +8 -8
  75. data/ext/libcouchbase/tests/iotests/t_behavior.cc +5 -5
  76. data/ext/libcouchbase/tests/iotests/t_durability.cc +50 -0
  77. data/ext/libcouchbase/tests/iotests/t_eerrs.cc +4 -2
  78. data/ext/libcouchbase/tests/iotests/t_errmap.cc +6 -3
  79. data/ext/libcouchbase/tests/iotests/t_lock.cc +5 -6
  80. data/ext/libcouchbase/tests/iotests/t_misc.cc +44 -0
  81. data/ext/libcouchbase/tests/iotests/t_serverops.cc +1 -0
  82. data/ext/libcouchbase/tests/iotests/t_subdoc.cc +28 -0
  83. data/ext/libcouchbase/tests/iotests/t_views.cc +22 -10
  84. data/ext/libcouchbase/tools/CMakeLists.txt +21 -1
  85. data/ext/libcouchbase/tools/cbc-handlers.h +23 -3
  86. data/ext/libcouchbase/tools/cbc-n1qlback.cc +1 -1
  87. data/ext/libcouchbase/tools/cbc-pillowfight.cc +126 -26
  88. data/ext/libcouchbase/tools/cbc-proxy.cc +403 -0
  89. data/ext/libcouchbase/tools/cbc-subdoc.cc +826 -0
  90. data/ext/libcouchbase/tools/cbc.cc +149 -37
  91. data/ext/libcouchbase/tools/common/options.h +5 -2
  92. data/ext/libcouchbase/tools/linenoise/linenoise.c +15 -15
  93. data/lib/libcouchbase.rb +4 -0
  94. data/lib/libcouchbase/bucket.rb +51 -0
  95. data/lib/libcouchbase/connection.rb +100 -13
  96. data/lib/libcouchbase/ext/libcouchbase.rb +40 -0
  97. data/lib/libcouchbase/ext/libcouchbase/cmdsubdoc.rb +13 -1
  98. data/lib/libcouchbase/ext/libcouchbase/enums.rb +2 -1
  99. data/lib/libcouchbase/ext/libcouchbase/sdspec.rb +5 -0
  100. data/lib/libcouchbase/subdoc_request.rb +129 -0
  101. data/lib/libcouchbase/version.rb +1 -1
  102. data/spec/bucket_spec.rb +15 -1
  103. data/spec/connection_spec.rb +1 -1
  104. data/spec/subdoc_spec.rb +192 -0
  105. metadata +13 -4
  106. data/ext/libcouchbase/.travis.yml +0 -19
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true, encoding: ASCII-8BIT
2
2
 
3
3
  module Libcouchbase
4
- VERSION = '1.0.4'
4
+ VERSION = '1.1.0'
5
5
  end
data/spec/bucket_spec.rb CHANGED
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true, encoding: ASCII-8BIT
2
2
 
3
3
  require 'libcouchbase'
4
-
4
+ Libcouchbase::Defaults.username = 'tester'
5
+ Libcouchbase::Defaults.password = 'password123'
5
6
 
6
7
  describe Libcouchbase::Bucket do
7
8
  before :each do
@@ -80,6 +81,19 @@ describe Libcouchbase::Bucket do
80
81
  expect(@log).to eq(['woop woop', 'current woop woop'])
81
82
  end
82
83
 
84
+ it "should fetch a value" do
85
+ @reactor.run { |reactor|
86
+ @bucket.delete('randomunknown')
87
+ @log << @bucket.fetch('randomunknown', 'woop woop')
88
+ @log << @bucket.fetch('randomunknown') { 'testing' }
89
+
90
+ @bucket.delete('otherunknown')
91
+ @log << @bucket.fetch('otherunknown') { 'testing' }
92
+ @log << @bucket.fetch('otherunknown', 'woop woop')
93
+ }
94
+ expect(@log).to eq(['woop woop', 'woop woop', 'testing', 'testing'])
95
+ end
96
+
83
97
  it "should retry when performing a CAS operation" do
84
98
  @reactor.run { |reactor|
85
99
  begin
@@ -223,7 +223,7 @@ describe Libcouchbase::Connection do
223
223
 
224
224
  it "should flush when enabled explicitly", flush: true do
225
225
  @reactor.run { |reactor|
226
- connection = Libcouchbase::Connection.new(bucket: :test, password: 'password123')
226
+ connection = Libcouchbase::Connection.new(bucket: :test, username: 'tester', password: 'password123')
227
227
  connection.connect(flush_enabled: true).then do
228
228
  begin
229
229
  connection.flush.then(proc { |resp|
@@ -0,0 +1,192 @@
1
+ # frozen_string_literal: true, encoding: ASCII-8BIT
2
+
3
+ require 'libcouchbase'
4
+
5
+
6
+ describe Libcouchbase::SubdocRequest do
7
+ before :each do
8
+ # This will load the couchbase connection on a different thread
9
+ @bucket = Libcouchbase::Bucket.new
10
+ @bucket.set('subkeytest', {
11
+ bob: 1234,
12
+ hello: 'this value',
13
+ complex: {
14
+ more: "information",
15
+ age: 12
16
+ },
17
+ another: false
18
+ })
19
+ @reactor = ::Libuv::Reactor.default
20
+ @log = []
21
+ end
22
+
23
+ after :each do
24
+ @bucket = nil
25
+ @reactor = nil
26
+ @log = nil
27
+ end
28
+
29
+ describe 'reactor loop' do
30
+ it "should lookup a subkey" do
31
+ @reactor.run { |reactor|
32
+ @log = @bucket.subdoc(:subkeytest) do |subdoc|
33
+ subdoc.get(:hello)
34
+ end
35
+ }
36
+
37
+ expect(@log).to eq('this value')
38
+ end
39
+
40
+ it "should perform multiple lookup operations" do
41
+ @reactor.run { |reactor|
42
+ @log = @bucket.subdoc(:subkeytest) do |subdoc|
43
+ subdoc.get(:hello).exists?('bob')
44
+ end
45
+ }
46
+
47
+ expect(@log).to eq(['this value', true])
48
+ end
49
+
50
+ it "should raise an error on failure" do
51
+ @reactor.run { |reactor|
52
+ begin
53
+ @log = @bucket.subdoc(:subkeytest).exists?('boby').execute!
54
+ rescue => e
55
+ @log << e.class
56
+ end
57
+ }
58
+ expect(@log).to eq([::Libcouchbase::Error::SubdocPathNotFound])
59
+ end
60
+
61
+ it "should return nil when quiet is true" do
62
+ @reactor.run { |reactor|
63
+ begin
64
+ @log << @bucket.subdoc(:subkeytest).exists?('boby', quiet: true).execute!
65
+ @log << @bucket.subdoc(:subkeytest, quiet: true).exists?('boby').execute!
66
+ rescue => e
67
+ @log << e.class
68
+ end
69
+ }
70
+ expect(@log).to eq([nil, nil])
71
+ end
72
+
73
+ it "should perform mutate operations" do
74
+ @reactor.run { |reactor|
75
+ @log << @bucket.subdoc(:subkeytest).dict_upsert(:bob, 4567).execute!
76
+ @log << @bucket.subdoc(:subkeytest).get(:bob).execute!
77
+ }
78
+ expect(@log).to eq([true, 4567])
79
+ end
80
+
81
+ it "should perform multiple mutate operations" do
82
+ @reactor.run { |reactor|
83
+ @log << @bucket.subdoc(:subkeytest) { |subdoc|
84
+ subdoc.dict_upsert(:bob, 4568)
85
+ subdoc.dict_upsert(:another, {hello: true})
86
+ }
87
+ @log << @bucket.subdoc(:subkeytest).get(:bob).get(:another).execute!
88
+ }
89
+ expect(@log).to eq([true, [4568, {hello: true}]])
90
+ end
91
+
92
+ it "should perform a counter mutate operation" do
93
+ @reactor.run { |reactor|
94
+ @log << @bucket.subdoc(:subkeytest).counter(:bob, 1).execute!
95
+ @log << @bucket.subdoc(:subkeytest).get(:bob).execute!
96
+ }
97
+ expect(@log).to eq([1235, 1235])
98
+ end
99
+
100
+ it "should perform multiple counter mutate operations" do
101
+ @reactor.run { |reactor|
102
+ @log << @bucket.subdoc(:subkeytest) { |subdoc|
103
+ subdoc.dict_upsert(:another, {hello: true})
104
+ subdoc.counter(:bob, 1).counter('complex.age', 1)
105
+ }
106
+ @log << @bucket.subdoc(:subkeytest).get(:bob).get(:another).get('complex.age').execute!
107
+ }
108
+ expect(@log).to eq([[1235, 13], [1235, {hello: true}, 13]])
109
+ end
110
+ end
111
+
112
+ describe 'native ruby' do
113
+ it "should lookup a subkey" do
114
+ @log = @bucket.subdoc(:subkeytest) do |subdoc|
115
+ subdoc.get(:hello)
116
+ end
117
+
118
+ expect(@log).to eq('this value')
119
+ end
120
+
121
+ it "should perform multiple lookup operations" do
122
+ @log = @bucket.subdoc(:subkeytest) do |subdoc|
123
+ subdoc.get(:hello).exists?('bob')
124
+ end
125
+
126
+ expect(@log).to eq(['this value', true])
127
+ end
128
+
129
+ it "should raise an error on failure" do
130
+ begin
131
+ @log = @bucket.subdoc(:subkeytest).exists?('boby').execute!
132
+ rescue => e
133
+ @log << e.class
134
+ end
135
+ expect(@log).to eq([::Libcouchbase::Error::SubdocPathNotFound])
136
+ end
137
+
138
+ it "should return nil when quiet is true" do
139
+ begin
140
+ @log << @bucket.subdoc(:subkeytest).exists?('boby', quiet: true).execute!
141
+ @log << @bucket.subdoc(:subkeytest, quiet: true).exists?('boby').execute!
142
+ rescue => e
143
+ @log << e.class
144
+ end
145
+ expect(@log).to eq([nil, nil])
146
+ end
147
+
148
+ it "should perform mutate operations" do
149
+ @log << @bucket.subdoc(:subkeytest).dict_upsert(:bob, 4567).execute!
150
+ @log << @bucket.subdoc(:subkeytest).get(:bob).execute!
151
+ expect(@log).to eq([true, 4567])
152
+ end
153
+
154
+ it "should perform multiple mutate operations" do
155
+ @log << @bucket.subdoc(:subkeytest) { |subdoc|
156
+ subdoc.dict_upsert(:bob, 4568)
157
+ subdoc.dict_upsert(:another, {hello: true})
158
+ }
159
+ @log << @bucket.subdoc(:subkeytest).get(:bob).get(:another).execute!
160
+ expect(@log).to eq([true, [4568, {hello: true}]])
161
+ end
162
+
163
+ it "should perform a counter mutate operation" do
164
+ @log << @bucket.subdoc(:subkeytest).counter(:bob, 1).execute!
165
+ @log << @bucket.subdoc(:subkeytest).get(:bob).execute!
166
+ expect(@log).to eq([1235, 1235])
167
+ end
168
+
169
+ it "should perform multiple counter mutate operations" do
170
+ @log << @bucket.subdoc(:subkeytest) { |subdoc|
171
+ subdoc.dict_upsert(:another, {hello: true})
172
+ subdoc.counter(:bob, 1).counter('complex.age', 1)
173
+ }
174
+ @log << @bucket.subdoc(:subkeytest).get(:bob).get(:another).get('complex.age').execute!
175
+ expect(@log).to eq([[1235, 13], [1235, {hello: true}, 13]])
176
+ end
177
+ end
178
+
179
+ describe 'eventmachine loop' do
180
+ require 'em-synchrony'
181
+
182
+ it "should get a subkey" do
183
+ EM.synchrony {
184
+ @log = @bucket.subdoc(:subkeytest) do |subdoc|
185
+ subdoc.get(:hello).exists?('bob')
186
+ end
187
+ EM.stop
188
+ }
189
+ expect(@log).to eq(['this value', true])
190
+ end
191
+ end
192
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libcouchbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen von Takach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-07 00:00:00.000000000 Z
11
+ date: 2017-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -147,7 +147,6 @@ files:
147
147
  - ext/README.md
148
148
  - ext/Rakefile
149
149
  - ext/libcouchbase/.gitignore
150
- - ext/libcouchbase/.travis.yml
151
150
  - ext/libcouchbase/CMakeLists.txt
152
151
  - ext/libcouchbase/CONTRIBUTING.md
153
152
  - ext/libcouchbase/LICENSE
@@ -266,6 +265,7 @@ files:
266
265
  - ext/libcouchbase/doc/apiattr.h
267
266
  - ext/libcouchbase/doc/cbc-n1qlback.markdown
268
267
  - ext/libcouchbase/doc/cbc-pillowfight.markdown
268
+ - ext/libcouchbase/doc/cbc-subdoc.markdown
269
269
  - ext/libcouchbase/doc/cbc.markdown
270
270
  - ext/libcouchbase/doc/cbcrc.markdown
271
271
  - ext/libcouchbase/doc/environment.h
@@ -289,9 +289,11 @@ files:
289
289
  - ext/libcouchbase/doc/man/cbc-n1qlback.1
290
290
  - ext/libcouchbase/doc/man/cbc-observe.1
291
291
  - ext/libcouchbase/doc/man/cbc-pillowfight.1
292
+ - ext/libcouchbase/doc/man/cbc-ping.1
292
293
  - ext/libcouchbase/doc/man/cbc-rm.1
293
294
  - ext/libcouchbase/doc/man/cbc-role-list.1
294
295
  - ext/libcouchbase/doc/man/cbc-stats.1
296
+ - ext/libcouchbase/doc/man/cbc-subdoc.1
295
297
  - ext/libcouchbase/doc/man/cbc-unlock.1
296
298
  - ext/libcouchbase/doc/man/cbc-user-delete.1
297
299
  - ext/libcouchbase/doc/man/cbc-user-list.1
@@ -312,6 +314,7 @@ files:
312
314
  - ext/libcouchbase/example/libeventdirect/main.c
313
315
  - ext/libcouchbase/example/mcc/mcc.cc
314
316
  - ext/libcouchbase/example/minimal/minimal.c
317
+ - ext/libcouchbase/example/observe/durability.c
315
318
  - ext/libcouchbase/example/observe/observe.c
316
319
  - ext/libcouchbase/example/subdoc/subdoc-multi.cc
317
320
  - ext/libcouchbase/example/subdoc/subdoc-simple.cc
@@ -486,6 +489,7 @@ files:
486
489
  - ext/libcouchbase/src/operations/get.cc
487
490
  - ext/libcouchbase/src/operations/observe-seqno.cc
488
491
  - ext/libcouchbase/src/operations/observe.cc
492
+ - ext/libcouchbase/src/operations/ping.cc
489
493
  - ext/libcouchbase/src/operations/pktfwd.cc
490
494
  - ext/libcouchbase/src/operations/remove.cc
491
495
  - ext/libcouchbase/src/operations/stats.cc
@@ -641,6 +645,8 @@ files:
641
645
  - ext/libcouchbase/tools/cbc-handlers.h
642
646
  - ext/libcouchbase/tools/cbc-n1qlback.cc
643
647
  - ext/libcouchbase/tools/cbc-pillowfight.cc
648
+ - ext/libcouchbase/tools/cbc-proxy.cc
649
+ - ext/libcouchbase/tools/cbc-subdoc.cc
644
650
  - ext/libcouchbase/tools/cbc.cc
645
651
  - ext/libcouchbase/tools/common/histogram.cc
646
652
  - ext/libcouchbase/tools/common/histogram.h
@@ -726,6 +732,7 @@ files:
726
732
  - lib/libcouchbase/query_view.rb
727
733
  - lib/libcouchbase/results_fiber.rb
728
734
  - lib/libcouchbase/results_native.rb
735
+ - lib/libcouchbase/subdoc_request.rb
729
736
  - lib/libcouchbase/version.rb
730
737
  - libcouchbase.gemspec
731
738
  - spec/bucket_spec.rb
@@ -742,6 +749,7 @@ files:
742
749
  - spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/meta.json
743
750
  - spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/seqno.json
744
751
  - spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/snapshot_markers.json
752
+ - spec/subdoc_spec.rb
745
753
  - spec/view_spec.rb
746
754
  homepage: https://github.com/cotag/libcouchbase
747
755
  licenses:
@@ -763,7 +771,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
763
771
  version: '0'
764
772
  requirements: []
765
773
  rubyforge_project:
766
- rubygems_version: 2.6.12
774
+ rubygems_version: 2.6.14
767
775
  signing_key:
768
776
  specification_version: 4
769
777
  summary: libcouchbase bindings for Ruby
@@ -782,4 +790,5 @@ test_files:
782
790
  - spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/meta.json
783
791
  - spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/seqno.json
784
792
  - spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/snapshot_markers.json
793
+ - spec/subdoc_spec.rb
785
794
  - spec/view_spec.rb
@@ -1,19 +0,0 @@
1
- language: c
2
-
3
- compiler:
4
- - clang
5
- - gcc
6
-
7
- before_install:
8
- - sudo apt-get -y install python-software-properties
9
- - sudo add-apt-repository -y ppa:mnunberg/cmake
10
- - sudo apt-get update
11
- - sudo apt-get -y install libgtest-dev libssl-dev libev-dev libevent-dev cmake
12
-
13
- script: |
14
- ./cmake/configure --enable-debug --disable-couchbasemock && make && make alltests && cd build && \
15
- (ctest -V || (cat check*.log; false))
16
-
17
- notifications:
18
- email:
19
- - mark.nunberg@couchbase.com