bson 4.15.0 → 5.0.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/README.md +94 -10
- data/Rakefile +68 -39
- data/ext/bson/bson-native.h +12 -4
- data/ext/bson/extconf.rb +8 -3
- data/ext/bson/init.c +11 -11
- data/ext/bson/read.c +39 -9
- data/ext/bson/util.c +171 -16
- data/ext/bson/write.c +34 -39
- data/lib/bson/active_support.rb +1 -0
- data/lib/bson/array.rb +58 -32
- data/lib/bson/big_decimal.rb +16 -6
- data/lib/bson/binary.rb +271 -129
- data/lib/bson/boolean.rb +1 -0
- data/lib/bson/code.rb +10 -12
- data/lib/bson/code_with_scope.rb +9 -11
- data/lib/bson/config.rb +1 -27
- data/lib/bson/date.rb +2 -1
- data/lib/bson/date_time.rb +2 -1
- data/lib/bson/db_pointer.rb +12 -13
- data/lib/bson/dbref.rb +11 -9
- data/lib/bson/decimal128/builder.rb +10 -9
- data/lib/bson/decimal128.rb +25 -111
- data/lib/bson/document.rb +1 -0
- data/lib/bson/environment.rb +1 -0
- data/lib/bson/error/bson_decode_error.rb +11 -0
- data/lib/bson/error/ext_json_parse_error.rb +11 -0
- data/lib/bson/error/illegal_key.rb +23 -0
- data/lib/bson/error/invalid_binary_type.rb +37 -0
- data/lib/bson/error/invalid_dbref_argument.rb +12 -0
- data/lib/bson/error/invalid_decimal128_argument.rb +25 -0
- data/lib/bson/error/invalid_decimal128_range.rb +27 -0
- data/lib/bson/error/invalid_decimal128_string.rb +26 -0
- data/lib/bson/error/invalid_key.rb +24 -0
- data/lib/bson/error/invalid_object_id.rb +11 -0
- data/lib/bson/error/invalid_regexp_pattern.rb +13 -0
- data/lib/bson/error/unrepresentable_precision.rb +19 -0
- data/lib/bson/error/unserializable_class.rb +13 -0
- data/lib/bson/error/unsupported_binary_subtype.rb +12 -0
- data/lib/bson/error/unsupported_type.rb +11 -0
- data/lib/bson/error.rb +16 -28
- data/lib/bson/ext_json.rb +2 -1
- data/lib/bson/false_class.rb +2 -1
- data/lib/bson/float.rb +3 -2
- data/lib/bson/hash.rb +128 -73
- data/lib/bson/int32.rb +17 -5
- data/lib/bson/int64.rb +17 -5
- data/lib/bson/integer.rb +4 -5
- data/lib/bson/json.rb +1 -0
- data/lib/bson/max_key.rb +8 -10
- data/lib/bson/min_key.rb +8 -10
- data/lib/bson/nil_class.rb +1 -0
- data/lib/bson/object.rb +7 -27
- data/lib/bson/object_id.rb +84 -120
- data/lib/bson/open_struct.rb +3 -2
- data/lib/bson/regexp.rb +36 -65
- data/lib/bson/registry.rb +2 -6
- data/lib/bson/specialized.rb +2 -1
- data/lib/bson/string.rb +4 -27
- data/lib/bson/symbol.rb +23 -20
- data/lib/bson/time.rb +3 -2
- data/lib/bson/time_with_zone.rb +13 -1
- data/lib/bson/timestamp.rb +3 -2
- data/lib/bson/true_class.rb +2 -1
- data/lib/bson/undefined.rb +15 -1
- data/lib/bson/version.rb +3 -1
- data/lib/bson.rb +3 -2
- data/spec/bson/array_spec.rb +19 -60
- data/spec/bson/big_decimal_spec.rb +16 -4
- data/spec/bson/binary_spec.rb +129 -81
- data/spec/bson/binary_uuid_spec.rb +1 -0
- data/spec/bson/boolean_spec.rb +1 -0
- data/spec/bson/byte_buffer_read_spec.rb +1 -0
- data/spec/bson/byte_buffer_spec.rb +1 -0
- data/spec/bson/byte_buffer_write_spec.rb +1 -0
- data/spec/bson/code_spec.rb +5 -3
- data/spec/bson/code_with_scope_spec.rb +5 -3
- data/spec/bson/config_spec.rb +1 -35
- data/spec/bson/date_spec.rb +1 -0
- data/spec/bson/date_time_spec.rb +1 -0
- data/spec/bson/dbref_legacy_spec.rb +20 -3
- data/spec/bson/dbref_spec.rb +9 -9
- data/spec/bson/decimal128_spec.rb +40 -20
- data/spec/bson/document_as_spec.rb +1 -0
- data/spec/bson/document_spec.rb +1 -1
- data/spec/bson/ext_json_parse_spec.rb +1 -0
- data/spec/bson/false_class_spec.rb +8 -0
- data/spec/bson/float_spec.rb +8 -3
- data/spec/bson/hash_as_spec.rb +1 -0
- data/spec/bson/hash_spec.rb +87 -75
- data/spec/bson/int32_spec.rb +21 -6
- data/spec/bson/int64_spec.rb +21 -6
- data/spec/bson/integer_spec.rb +45 -13
- data/spec/bson/json_spec.rb +1 -0
- data/spec/bson/max_key_spec.rb +5 -3
- data/spec/bson/min_key_spec.rb +5 -3
- data/spec/bson/nil_class_spec.rb +1 -0
- data/spec/bson/object_id_spec.rb +57 -4
- data/spec/bson/object_spec.rb +2 -1
- data/spec/bson/open_struct_spec.rb +14 -71
- data/spec/bson/raw_spec.rb +9 -15
- data/spec/bson/regexp_spec.rb +4 -3
- data/spec/bson/registry_spec.rb +2 -1
- data/spec/bson/string_spec.rb +13 -38
- data/spec/bson/symbol_raw_spec.rb +25 -0
- data/spec/bson/symbol_spec.rb +15 -18
- data/spec/bson/time_spec.rb +1 -0
- data/spec/bson/time_with_zone_spec.rb +1 -0
- data/spec/bson/timestamp_spec.rb +1 -0
- data/spec/bson/true_class_spec.rb +8 -0
- data/spec/bson/undefined_spec.rb +27 -0
- data/spec/bson_spec.rb +1 -0
- data/spec/runners/common_driver.rb +6 -5
- data/spec/runners/corpus.rb +6 -0
- data/spec/runners/corpus_legacy.rb +1 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/spec_tests/common_driver_spec.rb +9 -4
- data/spec/spec_tests/corpus_legacy_spec.rb +1 -0
- data/spec/spec_tests/corpus_spec.rb +13 -3
- data/spec/spec_tests/data/corpus/binary.json +5 -0
- data/spec/spec_tests/data/corpus/code.json +13 -13
- data/spec/spec_tests/data/corpus/decimal128-4.json +48 -0
- data/spec/spec_tests/data/corpus/decimal128-6.json +12 -0
- data/spec/spec_tests/data/corpus/decimal128-7.json +4 -0
- data/spec/spec_tests/data/corpus/document.json +20 -0
- data/spec/spec_tests/data/corpus/symbol.json +7 -7
- data/spec/spec_tests/data/corpus/top.json +18 -3
- data/spec/support/shared_examples.rb +28 -5
- data/spec/support/spec_config.rb +1 -0
- data/spec/support/utils.rb +49 -1
- metadata +114 -164
- checksums.yaml.gz.sig +0 -0
- data/spec/shared/LICENSE +0 -20
- data/spec/shared/bin/get-mongodb-download-url +0 -17
- data/spec/shared/bin/s3-copy +0 -45
- data/spec/shared/bin/s3-upload +0 -69
- data/spec/shared/lib/mrss/child_process_helper.rb +0 -80
- data/spec/shared/lib/mrss/cluster_config.rb +0 -231
- data/spec/shared/lib/mrss/constraints.rb +0 -386
- data/spec/shared/lib/mrss/docker_runner.rb +0 -271
- data/spec/shared/lib/mrss/event_subscriber.rb +0 -200
- data/spec/shared/lib/mrss/lite_constraints.rb +0 -191
- data/spec/shared/lib/mrss/server_version_registry.rb +0 -120
- data/spec/shared/lib/mrss/spec_organizer.rb +0 -179
- data/spec/shared/lib/mrss/utils.rb +0 -15
- data/spec/shared/share/Dockerfile.erb +0 -338
- data/spec/shared/share/haproxy-1.conf +0 -16
- data/spec/shared/share/haproxy-2.conf +0 -17
- data/spec/shared/shlib/distro.sh +0 -74
- data/spec/shared/shlib/server.sh +0 -367
- data/spec/shared/shlib/set_env.sh +0 -131
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -1
metadata
CHANGED
@@ -1,43 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bson
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
- Durran Jordan
|
9
|
-
- Brandon Black
|
10
|
-
- Emily Stolfo
|
11
|
-
- Gary Murakami
|
7
|
+
- The MongoDB Ruby Team
|
12
8
|
autorequire:
|
13
9
|
bindir: bin
|
14
|
-
cert_chain:
|
15
|
-
-
|
16
|
-
-----BEGIN CERTIFICATE-----
|
17
|
-
MIIDfDCCAmSgAwIBAgIBATANBgkqhkiG9w0BAQUFADBCMRQwEgYDVQQDDAtkcml2
|
18
|
-
ZXItcnVieTEVMBMGCgmSJomT8ixkARkWBTEwZ2VuMRMwEQYKCZImiZPyLGQBGRYD
|
19
|
-
Y29tMB4XDTIyMDMzMDE5MTcwMloXDTIzMDMzMDE5MTcwMlowQjEUMBIGA1UEAwwL
|
20
|
-
ZHJpdmVyLXJ1YnkxFTATBgoJkiaJk/IsZAEZFgUxMGdlbjETMBEGCgmSJomT8ixk
|
21
|
-
ARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANFdSAa8fRm1
|
22
|
-
bAM9za6Z0fAH4g02bqM1NGnw8zJQrE/PFrFfY6IFCT2AsLfOwr1maVm7iU1+kdVI
|
23
|
-
IQ+iI/9+E+ArJ+rbGV3dDPQ+SLl3mLT+vXjfjcxMqI2IW6UuVtt2U3Rxd4QU0kdT
|
24
|
-
JxmcPYs5fDN6BgYc6XXgUjy3m+Kwha2pGctdciUOwEfOZ4RmNRlEZKCMLRHdFP8j
|
25
|
-
4WTnJSGfXDiuoXICJb5yOPOZPuaapPSNXp93QkUdsqdKC32I+KMpKKYGBQ6yisfA
|
26
|
-
5MyVPPCzLR1lP5qXVGJPnOqUAkvEUfCahg7EP9tI20qxiXrR6TSEraYhIFXL0EGY
|
27
|
-
u8KAcPHm5KkCAwEAAaN9MHswCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
|
28
|
-
BBYEFFt3WbF+9JpUjAoj62cQBgNb8HzXMCAGA1UdEQQZMBeBFWRyaXZlci1ydWJ5
|
29
|
-
QDEwZ2VuLmNvbTAgBgNVHRIEGTAXgRVkcml2ZXItcnVieUAxMGdlbi5jb20wDQYJ
|
30
|
-
KoZIhvcNAQEFBQADggEBAM0s7jz2IGD8Ms035b1tMnbNP2CBPq3pen3KQj7IkGF7
|
31
|
-
x8LPDdOqUj4pUMLeefntX/PkSvwROo677TnWK6+GLayGm5xLHrZH3svybC6QtqTR
|
32
|
-
mVOLUoZ4TgUmtnMUa/ZvgrIsOeiCysjSf4WECuw7g+LE6jcpLepgYTLk2u1+5SgH
|
33
|
-
JVENj0BMkdeZIKkc2G97DSx3Zrmz7QWAaH+99XlajJbfcgvhDso+ffQkTBlOgLBg
|
34
|
-
+WyKQ+QTIdtDiyf2LQmxWnxt/W1CmScjdLS7/yXGkkB/D9Uy+sJD747O/B9P238Q
|
35
|
-
XnerrtyOu04RsWDvaZkCwSDVzoqfICh4CP1mlde73Ts=
|
36
|
-
-----END CERTIFICATE-----
|
37
|
-
date: 2022-04-21 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-11-19 00:00:00.000000000 Z
|
38
12
|
dependencies: []
|
39
13
|
description: A fully featured BSON specification implementation in Ruby
|
40
|
-
email:
|
14
|
+
email: dbx-ruby@mongodb.com
|
41
15
|
executables: []
|
42
16
|
extensions:
|
43
17
|
- ext/bson/extconf.rb
|
@@ -77,6 +51,21 @@ files:
|
|
77
51
|
- lib/bson/document.rb
|
78
52
|
- lib/bson/environment.rb
|
79
53
|
- lib/bson/error.rb
|
54
|
+
- lib/bson/error/bson_decode_error.rb
|
55
|
+
- lib/bson/error/ext_json_parse_error.rb
|
56
|
+
- lib/bson/error/illegal_key.rb
|
57
|
+
- lib/bson/error/invalid_binary_type.rb
|
58
|
+
- lib/bson/error/invalid_dbref_argument.rb
|
59
|
+
- lib/bson/error/invalid_decimal128_argument.rb
|
60
|
+
- lib/bson/error/invalid_decimal128_range.rb
|
61
|
+
- lib/bson/error/invalid_decimal128_string.rb
|
62
|
+
- lib/bson/error/invalid_key.rb
|
63
|
+
- lib/bson/error/invalid_object_id.rb
|
64
|
+
- lib/bson/error/invalid_regexp_pattern.rb
|
65
|
+
- lib/bson/error/unrepresentable_precision.rb
|
66
|
+
- lib/bson/error/unserializable_class.rb
|
67
|
+
- lib/bson/error/unsupported_binary_subtype.rb
|
68
|
+
- lib/bson/error/unsupported_type.rb
|
80
69
|
- lib/bson/ext_json.rb
|
81
70
|
- lib/bson/false_class.rb
|
82
71
|
- lib/bson/float.rb
|
@@ -151,25 +140,6 @@ files:
|
|
151
140
|
- spec/runners/common_driver.rb
|
152
141
|
- spec/runners/corpus.rb
|
153
142
|
- spec/runners/corpus_legacy.rb
|
154
|
-
- spec/shared/LICENSE
|
155
|
-
- spec/shared/bin/get-mongodb-download-url
|
156
|
-
- spec/shared/bin/s3-copy
|
157
|
-
- spec/shared/bin/s3-upload
|
158
|
-
- spec/shared/lib/mrss/child_process_helper.rb
|
159
|
-
- spec/shared/lib/mrss/cluster_config.rb
|
160
|
-
- spec/shared/lib/mrss/constraints.rb
|
161
|
-
- spec/shared/lib/mrss/docker_runner.rb
|
162
|
-
- spec/shared/lib/mrss/event_subscriber.rb
|
163
|
-
- spec/shared/lib/mrss/lite_constraints.rb
|
164
|
-
- spec/shared/lib/mrss/server_version_registry.rb
|
165
|
-
- spec/shared/lib/mrss/spec_organizer.rb
|
166
|
-
- spec/shared/lib/mrss/utils.rb
|
167
|
-
- spec/shared/share/Dockerfile.erb
|
168
|
-
- spec/shared/share/haproxy-1.conf
|
169
|
-
- spec/shared/share/haproxy-2.conf
|
170
|
-
- spec/shared/shlib/distro.sh
|
171
|
-
- spec/shared/shlib/server.sh
|
172
|
-
- spec/shared/shlib/set_env.sh
|
173
143
|
- spec/spec_helper.rb
|
174
144
|
- spec/spec_tests/common_driver_spec.rb
|
175
145
|
- spec/spec_tests/corpus_legacy_spec.rb
|
@@ -237,14 +207,14 @@ files:
|
|
237
207
|
- spec/support/shared_examples.rb
|
238
208
|
- spec/support/spec_config.rb
|
239
209
|
- spec/support/utils.rb
|
240
|
-
homepage: https://
|
210
|
+
homepage: https://www.mongodb.com/docs/ruby-driver/current/tutorials/bson-v4/
|
241
211
|
licenses:
|
242
212
|
- Apache-2.0
|
243
213
|
metadata:
|
244
214
|
bug_tracker_uri: https://jira.mongodb.org/projects/RUBY
|
245
215
|
changelog_uri: https://github.com/mongodb/bson-ruby/releases
|
246
|
-
documentation_uri: https://
|
247
|
-
homepage_uri: https://
|
216
|
+
documentation_uri: https://www.mongodb.com/docs/ruby-driver/current/tutorials/bson-v4/
|
217
|
+
homepage_uri: https://www.mongodb.com/docs/ruby-driver/current/tutorials/bson-v4/
|
248
218
|
source_code_uri: https://github.com/mongodb/bson-ruby
|
249
219
|
post_install_message:
|
250
220
|
rdoc_options: []
|
@@ -254,151 +224,131 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
254
224
|
requirements:
|
255
225
|
- - ">="
|
256
226
|
- !ruby/object:Gem::Version
|
257
|
-
version: '2.
|
227
|
+
version: '2.6'
|
258
228
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
259
229
|
requirements:
|
260
230
|
- - ">="
|
261
231
|
- !ruby/object:Gem::Version
|
262
232
|
version: 1.3.6
|
263
233
|
requirements: []
|
264
|
-
|
265
|
-
rubygems_version: 2.7.6.2
|
234
|
+
rubygems_version: 3.4.19
|
266
235
|
signing_key:
|
267
236
|
specification_version: 4
|
268
237
|
summary: Ruby implementation of the BSON specification
|
269
238
|
test_files:
|
270
|
-
- spec/
|
271
|
-
- spec/
|
272
|
-
- spec/
|
273
|
-
- spec/
|
274
|
-
- spec/bson/
|
275
|
-
- spec/bson/date_spec.rb
|
276
|
-
- spec/bson/false_class_spec.rb
|
277
|
-
- spec/bson/dbref_spec.rb
|
278
|
-
- spec/bson/symbol_spec.rb
|
279
|
-
- spec/bson/undefined_spec.rb
|
280
|
-
- spec/bson/max_key_spec.rb
|
281
|
-
- spec/bson/integer_spec.rb
|
282
|
-
- spec/bson/float_spec.rb
|
283
|
-
- spec/bson/code_spec.rb
|
284
|
-
- spec/bson/min_key_spec.rb
|
285
|
-
- spec/bson/time_spec.rb
|
286
|
-
- spec/bson/time_with_zone_spec.rb
|
287
|
-
- spec/bson/code_with_scope_spec.rb
|
288
|
-
- spec/bson/regexp_spec.rb
|
289
|
-
- spec/bson/hash_as_spec.rb
|
290
|
-
- spec/bson/dbref_legacy_spec.rb
|
239
|
+
- spec/README.md
|
240
|
+
- spec/bson/array_spec.rb
|
241
|
+
- spec/bson/big_decimal_spec.rb
|
242
|
+
- spec/bson/binary_spec.rb
|
243
|
+
- spec/bson/binary_uuid_spec.rb
|
291
244
|
- spec/bson/boolean_spec.rb
|
292
|
-
- spec/bson/
|
245
|
+
- spec/bson/byte_buffer_read_spec.rb
|
246
|
+
- spec/bson/byte_buffer_spec.rb
|
293
247
|
- spec/bson/byte_buffer_write_spec.rb
|
248
|
+
- spec/bson/code_spec.rb
|
249
|
+
- spec/bson/code_with_scope_spec.rb
|
294
250
|
- spec/bson/config_spec.rb
|
295
|
-
- spec/bson/
|
296
|
-
- spec/bson/
|
297
|
-
- spec/bson/
|
298
|
-
- spec/bson/
|
299
|
-
- spec/bson/
|
251
|
+
- spec/bson/date_spec.rb
|
252
|
+
- spec/bson/date_time_spec.rb
|
253
|
+
- spec/bson/dbref_legacy_spec.rb
|
254
|
+
- spec/bson/dbref_spec.rb
|
255
|
+
- spec/bson/decimal128_spec.rb
|
300
256
|
- spec/bson/document_as_spec.rb
|
301
|
-
- spec/bson/
|
302
|
-
- spec/bson/
|
303
|
-
- spec/bson/
|
304
|
-
- spec/bson/
|
257
|
+
- spec/bson/document_spec.rb
|
258
|
+
- spec/bson/ext_json_parse_spec.rb
|
259
|
+
- spec/bson/false_class_spec.rb
|
260
|
+
- spec/bson/float_spec.rb
|
261
|
+
- spec/bson/hash_as_spec.rb
|
305
262
|
- spec/bson/hash_spec.rb
|
306
|
-
- spec/bson/
|
307
|
-
- spec/bson/byte_buffer_read_spec.rb
|
263
|
+
- spec/bson/int32_spec.rb
|
308
264
|
- spec/bson/int64_spec.rb
|
309
|
-
- spec/bson/
|
310
|
-
- spec/bson/timestamp_spec.rb
|
265
|
+
- spec/bson/integer_spec.rb
|
311
266
|
- spec/bson/json_spec.rb
|
312
|
-
- spec/bson/
|
313
|
-
- spec/bson/
|
314
|
-
- spec/bson/
|
315
|
-
- spec/bson/
|
316
|
-
- spec/bson/
|
267
|
+
- spec/bson/max_key_spec.rb
|
268
|
+
- spec/bson/min_key_spec.rb
|
269
|
+
- spec/bson/nil_class_spec.rb
|
270
|
+
- spec/bson/object_id_spec.rb
|
271
|
+
- spec/bson/object_spec.rb
|
317
272
|
- spec/bson/open_struct_spec.rb
|
318
|
-
- spec/
|
319
|
-
- spec/
|
320
|
-
- spec/
|
321
|
-
- spec/
|
322
|
-
- spec/
|
323
|
-
- spec/
|
324
|
-
- spec/
|
325
|
-
- spec/
|
273
|
+
- spec/bson/raw_spec.rb
|
274
|
+
- spec/bson/regexp_spec.rb
|
275
|
+
- spec/bson/registry_spec.rb
|
276
|
+
- spec/bson/string_spec.rb
|
277
|
+
- spec/bson/symbol_raw_spec.rb
|
278
|
+
- spec/bson/symbol_spec.rb
|
279
|
+
- spec/bson/time_spec.rb
|
280
|
+
- spec/bson/time_with_zone_spec.rb
|
281
|
+
- spec/bson/timestamp_spec.rb
|
282
|
+
- spec/bson/true_class_spec.rb
|
283
|
+
- spec/bson/undefined_spec.rb
|
284
|
+
- spec/bson_spec.rb
|
285
|
+
- spec/runners/common_driver.rb
|
286
|
+
- spec/runners/corpus.rb
|
287
|
+
- spec/runners/corpus_legacy.rb
|
288
|
+
- spec/spec_helper.rb
|
289
|
+
- spec/spec_tests/common_driver_spec.rb
|
290
|
+
- spec/spec_tests/corpus_legacy_spec.rb
|
291
|
+
- spec/spec_tests/corpus_spec.rb
|
292
|
+
- spec/spec_tests/data/corpus/README.md
|
326
293
|
- spec/spec_tests/data/corpus/array.json
|
327
|
-
- spec/spec_tests/data/corpus/multi-type-deprecated.json
|
328
|
-
- spec/spec_tests/data/corpus/string.json
|
329
|
-
- spec/spec_tests/data/corpus/timestamp.json
|
330
|
-
- spec/spec_tests/data/corpus/double.json
|
331
294
|
- spec/spec_tests/data/corpus/binary.json
|
332
|
-
- spec/spec_tests/data/corpus/document.json
|
333
|
-
- spec/spec_tests/data/corpus/null.json
|
334
|
-
- spec/spec_tests/data/corpus/decimal128-3.json
|
335
295
|
- spec/spec_tests/data/corpus/boolean.json
|
336
|
-
- spec/spec_tests/data/corpus/regex.json
|
337
|
-
- spec/spec_tests/data/corpus/oid.json
|
338
|
-
- spec/spec_tests/data/corpus/README.md
|
339
296
|
- spec/spec_tests/data/corpus/code.json
|
340
|
-
- spec/spec_tests/data/corpus/
|
297
|
+
- spec/spec_tests/data/corpus/code_w_scope.json
|
341
298
|
- spec/spec_tests/data/corpus/datetime.json
|
342
|
-
- spec/spec_tests/data/corpus/
|
343
|
-
- spec/spec_tests/data/corpus/decimal128-5.json
|
299
|
+
- spec/spec_tests/data/corpus/dbpointer.json
|
344
300
|
- spec/spec_tests/data/corpus/dbref.json
|
345
|
-
- spec/spec_tests/data/corpus/
|
301
|
+
- spec/spec_tests/data/corpus/decimal128-1.json
|
346
302
|
- spec/spec_tests/data/corpus/decimal128-2.json
|
347
|
-
- spec/spec_tests/data/corpus/
|
303
|
+
- spec/spec_tests/data/corpus/decimal128-3.json
|
304
|
+
- spec/spec_tests/data/corpus/decimal128-4.json
|
305
|
+
- spec/spec_tests/data/corpus/decimal128-5.json
|
306
|
+
- spec/spec_tests/data/corpus/decimal128-6.json
|
348
307
|
- spec/spec_tests/data/corpus/decimal128-7.json
|
308
|
+
- spec/spec_tests/data/corpus/document.json
|
309
|
+
- spec/spec_tests/data/corpus/double.json
|
310
|
+
- spec/spec_tests/data/corpus/int32.json
|
311
|
+
- spec/spec_tests/data/corpus/int64.json
|
312
|
+
- spec/spec_tests/data/corpus/maxkey.json
|
313
|
+
- spec/spec_tests/data/corpus/minkey.json
|
314
|
+
- spec/spec_tests/data/corpus/multi-type-deprecated.json
|
315
|
+
- spec/spec_tests/data/corpus/multi-type.json
|
316
|
+
- spec/spec_tests/data/corpus/null.json
|
317
|
+
- spec/spec_tests/data/corpus/oid.json
|
318
|
+
- spec/spec_tests/data/corpus/regex.json
|
319
|
+
- spec/spec_tests/data/corpus/string.json
|
349
320
|
- spec/spec_tests/data/corpus/symbol.json
|
321
|
+
- spec/spec_tests/data/corpus/timestamp.json
|
350
322
|
- spec/spec_tests/data/corpus/top.json
|
351
|
-
- spec/spec_tests/data/corpus/
|
352
|
-
- spec/spec_tests/data/corpus/maxkey.json
|
353
|
-
- spec/spec_tests/data/corpus/decimal128-4.json
|
354
|
-
- spec/spec_tests/data/corpus/decimal128-1.json
|
355
|
-
- spec/spec_tests/data/corpus/int64.json
|
356
|
-
- spec/spec_tests/data/corpus/code_w_scope.json
|
357
|
-
- spec/spec_tests/data/corpus/decimal128-6.json
|
323
|
+
- spec/spec_tests/data/corpus/undefined.json
|
358
324
|
- spec/spec_tests/data/corpus_legacy/array.json
|
359
|
-
- spec/spec_tests/data/corpus_legacy/string.json
|
360
|
-
- spec/spec_tests/data/corpus_legacy/timestamp.json
|
361
|
-
- spec/spec_tests/data/corpus_legacy/double.json
|
362
325
|
- spec/spec_tests/data/corpus_legacy/binary.json
|
363
|
-
- spec/spec_tests/data/corpus_legacy/document.json
|
364
|
-
- spec/spec_tests/data/corpus_legacy/null.json
|
365
326
|
- spec/spec_tests/data/corpus_legacy/boolean.json
|
366
|
-
- spec/spec_tests/data/corpus_legacy/regex.json
|
367
|
-
- spec/spec_tests/data/corpus_legacy/oid.json
|
368
327
|
- spec/spec_tests/data/corpus_legacy/code.json
|
369
|
-
- spec/spec_tests/data/corpus_legacy/
|
370
|
-
- spec/spec_tests/data/corpus_legacy/
|
328
|
+
- spec/spec_tests/data/corpus_legacy/code_w_scope.json
|
329
|
+
- spec/spec_tests/data/corpus_legacy/document.json
|
330
|
+
- spec/spec_tests/data/corpus_legacy/double.json
|
371
331
|
- spec/spec_tests/data/corpus_legacy/failures/datetime.json
|
372
332
|
- spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
|
373
|
-
- spec/spec_tests/data/corpus_legacy/failures/symbol.json
|
374
333
|
- spec/spec_tests/data/corpus_legacy/failures/int64.json
|
375
|
-
- spec/spec_tests/data/corpus_legacy/
|
376
|
-
- spec/spec_tests/data/corpus_legacy/
|
334
|
+
- spec/spec_tests/data/corpus_legacy/failures/symbol.json
|
335
|
+
- spec/spec_tests/data/corpus_legacy/int32.json
|
377
336
|
- spec/spec_tests/data/corpus_legacy/maxkey.json
|
378
|
-
- spec/spec_tests/data/corpus_legacy/
|
379
|
-
- spec/spec_tests/
|
380
|
-
- spec/spec_tests/
|
381
|
-
- spec/spec_tests/
|
382
|
-
- spec/
|
383
|
-
- spec/
|
384
|
-
- spec/
|
337
|
+
- spec/spec_tests/data/corpus_legacy/minkey.json
|
338
|
+
- spec/spec_tests/data/corpus_legacy/null.json
|
339
|
+
- spec/spec_tests/data/corpus_legacy/oid.json
|
340
|
+
- spec/spec_tests/data/corpus_legacy/regex.json
|
341
|
+
- spec/spec_tests/data/corpus_legacy/string.json
|
342
|
+
- spec/spec_tests/data/corpus_legacy/timestamp.json
|
343
|
+
- spec/spec_tests/data/corpus_legacy/top.json
|
344
|
+
- spec/spec_tests/data/corpus_legacy/undefined.json
|
345
|
+
- spec/spec_tests/data/decimal128/decimal128-1.json
|
346
|
+
- spec/spec_tests/data/decimal128/decimal128-2.json
|
347
|
+
- spec/spec_tests/data/decimal128/decimal128-3.json
|
348
|
+
- spec/spec_tests/data/decimal128/decimal128-4.json
|
349
|
+
- spec/spec_tests/data/decimal128/decimal128-5.json
|
350
|
+
- spec/spec_tests/data/decimal128/decimal128-6.json
|
351
|
+
- spec/spec_tests/data/decimal128/decimal128-7.json
|
385
352
|
- spec/support/shared_examples.rb
|
386
|
-
- spec/
|
387
|
-
- spec/
|
388
|
-
- spec/shared/share/haproxy-1.conf
|
389
|
-
- spec/shared/bin/s3-copy
|
390
|
-
- spec/shared/bin/get-mongodb-download-url
|
391
|
-
- spec/shared/bin/s3-upload
|
392
|
-
- spec/shared/shlib/distro.sh
|
393
|
-
- spec/shared/shlib/set_env.sh
|
394
|
-
- spec/shared/shlib/server.sh
|
395
|
-
- spec/shared/LICENSE
|
396
|
-
- spec/shared/lib/mrss/constraints.rb
|
397
|
-
- spec/shared/lib/mrss/cluster_config.rb
|
398
|
-
- spec/shared/lib/mrss/child_process_helper.rb
|
399
|
-
- spec/shared/lib/mrss/event_subscriber.rb
|
400
|
-
- spec/shared/lib/mrss/utils.rb
|
401
|
-
- spec/shared/lib/mrss/server_version_registry.rb
|
402
|
-
- spec/shared/lib/mrss/lite_constraints.rb
|
403
|
-
- spec/shared/lib/mrss/docker_runner.rb
|
404
|
-
- spec/shared/lib/mrss/spec_organizer.rb
|
353
|
+
- spec/support/spec_config.rb
|
354
|
+
- spec/support/utils.rb
|
checksums.yaml.gz.sig
DELETED
Binary file
|
data/spec/shared/LICENSE
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
Copyright (c) 2020 MongoDB, Inc.
|
2
|
-
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
-
a copy of this software and associated documentation files (the
|
5
|
-
"Software"), to deal in the Software without restriction, including
|
6
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
-
permit persons to whom the Software is furnished to do so, subject to
|
9
|
-
the following conditions:
|
10
|
-
|
11
|
-
The above copyright notice and this permission notice shall be
|
12
|
-
included in all copies or substantial portions of the Software.
|
13
|
-
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,17 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
desired_version, arch = ARGV
|
4
|
-
if arch.nil?
|
5
|
-
STDERR.puts "Usage: get-mongodb-download-url desired-version arch"
|
6
|
-
exit 1
|
7
|
-
end
|
8
|
-
|
9
|
-
$: << File.join(File.dirname(__FILE__), '../lib')
|
10
|
-
require 'mrss/server_version_registry'
|
11
|
-
|
12
|
-
begin
|
13
|
-
puts Mrss::ServerVersionRegistry.new(desired_version, arch).download_url
|
14
|
-
rescue Mrss::ServerVersionRegistry::Error => exc
|
15
|
-
STDERR.puts "Error: #{exc}"
|
16
|
-
exit 2
|
17
|
-
end
|
data/spec/shared/bin/s3-copy
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'optparse'
|
4
|
-
require 'aws-sdk-s3'
|
5
|
-
|
6
|
-
options = {}
|
7
|
-
OptionParser.new do |opts|
|
8
|
-
opts.banner = "Usage: s3-copy options"
|
9
|
-
|
10
|
-
opts.on("-r", "--region=REGION", "AWS region to use (default us-east-1)") do |v|
|
11
|
-
options[:region] = v
|
12
|
-
end
|
13
|
-
|
14
|
-
opts.on("-p", "--param=KEY=VALUE", "Specify parameter for new files") do |v|
|
15
|
-
options[:params] ||= {}
|
16
|
-
k, v = v.split('=', 2)
|
17
|
-
options[:params][k.to_sym] = v
|
18
|
-
end
|
19
|
-
|
20
|
-
opts.on("-f", "--from=BUCKET:PATH", "Bucket name and key (or path) to copy from") do |v|
|
21
|
-
options[:from] = v
|
22
|
-
end
|
23
|
-
|
24
|
-
opts.on("-t", "--to=BUCKET:PATH", "Bucket name and key (or path) to write to (may be specified more than once)") do |v|
|
25
|
-
options[:to] ||= []
|
26
|
-
options[:to] << v
|
27
|
-
end
|
28
|
-
end.parse!
|
29
|
-
|
30
|
-
ENV['AWS_REGION'] ||= options[:region] || 'us-east-1'
|
31
|
-
|
32
|
-
bucket, key = options.fetch(:from).split(':', 2)
|
33
|
-
|
34
|
-
s3 = Aws::S3::Client.new
|
35
|
-
|
36
|
-
options.fetch(:to).each do |dest|
|
37
|
-
STDERR.puts "Copying to #{dest}"
|
38
|
-
dbucket, dkey = dest.split(':', 2)
|
39
|
-
s3.copy_object(
|
40
|
-
bucket: dbucket,
|
41
|
-
key: dkey,
|
42
|
-
copy_source: "/#{bucket}/#{key}",
|
43
|
-
**options[:params] || {},
|
44
|
-
)
|
45
|
-
end
|
data/spec/shared/bin/s3-upload
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'optparse'
|
4
|
-
require 'aws-sdk-s3'
|
5
|
-
|
6
|
-
options = {}
|
7
|
-
OptionParser.new do |opts|
|
8
|
-
opts.banner = "Usage: s3-upload options"
|
9
|
-
|
10
|
-
opts.on("-r", "--region=REGION", "AWS region to use (default us-east-1)") do |v|
|
11
|
-
options[:region] = v
|
12
|
-
end
|
13
|
-
|
14
|
-
opts.on("-p", "--param=KEY=VALUE", "Specify parameter for S3 upload") do |v|
|
15
|
-
options[:params] ||= {}
|
16
|
-
k, v = v.split('=', 2)
|
17
|
-
options[:params][k.to_sym] = v
|
18
|
-
end
|
19
|
-
|
20
|
-
opts.on("-f", "--file=PATH", "Path to the file to upload, - to upload standard input") do |v|
|
21
|
-
options[:file] = v
|
22
|
-
end
|
23
|
-
|
24
|
-
opts.on("-w", "--write=BUCKET:PATH", "Bucket name and key (or path) to upload to") do |v|
|
25
|
-
options[:write] = v
|
26
|
-
end
|
27
|
-
|
28
|
-
opts.on("-c", "--copy=BUCKET:PATH", "Bucket name and key (or path) to copy to (may be specified more than once)") do |v|
|
29
|
-
options[:copy] ||= []
|
30
|
-
options[:copy] << v
|
31
|
-
end
|
32
|
-
end.parse!
|
33
|
-
|
34
|
-
ENV['AWS_REGION'] ||= options[:region] || 'us-east-1'
|
35
|
-
|
36
|
-
def upload(f, options)
|
37
|
-
s3 = Aws::S3::Client.new
|
38
|
-
write = options.fetch(:write)
|
39
|
-
STDERR.puts "Writing #{write}"
|
40
|
-
bucket, key = write.split(':', 2)
|
41
|
-
s3.put_object(
|
42
|
-
body: f.read,
|
43
|
-
bucket: bucket,
|
44
|
-
key: key,
|
45
|
-
**options[:params] || {},
|
46
|
-
)
|
47
|
-
if copy = options[:copy]
|
48
|
-
copy.each do |dest|
|
49
|
-
STDERR.puts "Copying to #{dest}"
|
50
|
-
dbucket, dkey = dest.split(':', 2)
|
51
|
-
s3.copy_object(
|
52
|
-
bucket: dbucket,
|
53
|
-
key: dkey,
|
54
|
-
copy_source: "/#{bucket}/#{key}",
|
55
|
-
**options[:params] || {},
|
56
|
-
)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
if options[:file] == '-'
|
62
|
-
upload(STDIN, options)
|
63
|
-
elsif options[:file]
|
64
|
-
File.open(options[:file]) do |f|
|
65
|
-
upload(f, options)
|
66
|
-
end
|
67
|
-
else
|
68
|
-
upload(STDIN, options)
|
69
|
-
end
|
@@ -1,80 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# encoding: utf-8
|
3
|
-
|
4
|
-
autoload :ChildProcess, 'childprocess'
|
5
|
-
autoload :Tempfile, 'tempfile'
|
6
|
-
|
7
|
-
module Mrss
|
8
|
-
module ChildProcessHelper
|
9
|
-
class SpawnError < StandardError; end
|
10
|
-
|
11
|
-
module_function def call(cmd, env: nil, cwd: nil)
|
12
|
-
process = ChildProcess.new(*cmd)
|
13
|
-
process.io.inherit!
|
14
|
-
if cwd
|
15
|
-
process.cwd = cwd
|
16
|
-
end
|
17
|
-
if env
|
18
|
-
env.each do |k, v|
|
19
|
-
process.environment[k.to_s] = v
|
20
|
-
end
|
21
|
-
end
|
22
|
-
process.start
|
23
|
-
process.wait
|
24
|
-
process
|
25
|
-
end
|
26
|
-
|
27
|
-
module_function def check_call(cmd, env: nil, cwd: nil)
|
28
|
-
process = call(cmd, env: env, cwd: cwd)
|
29
|
-
unless process.exit_code == 0
|
30
|
-
raise SpawnError, "Failed to execute: #{cmd}"
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
module_function def get_output(cmd, env: nil, cwd: nil)
|
35
|
-
process = ChildProcess.new(*cmd)
|
36
|
-
process.io.inherit!
|
37
|
-
if cwd
|
38
|
-
process.cwd = cwd
|
39
|
-
end
|
40
|
-
if env
|
41
|
-
env.each do |k, v|
|
42
|
-
process.environment[k.to_s] = v
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
output = ''
|
47
|
-
r, w = IO.pipe
|
48
|
-
|
49
|
-
begin
|
50
|
-
process.io.stdout = w
|
51
|
-
process.start
|
52
|
-
w.close
|
53
|
-
|
54
|
-
thread = Thread.new do
|
55
|
-
begin
|
56
|
-
loop do
|
57
|
-
output << r.readpartial(16384)
|
58
|
-
end
|
59
|
-
rescue EOFError
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
process.wait
|
64
|
-
thread.join
|
65
|
-
ensure
|
66
|
-
r.close
|
67
|
-
end
|
68
|
-
|
69
|
-
[process, output]
|
70
|
-
end
|
71
|
-
|
72
|
-
module_function def check_output(*args)
|
73
|
-
process, output = get_output(*args)
|
74
|
-
unless process.exit_code == 0
|
75
|
-
raise SpawnError,"Failed to execute: #{args}"
|
76
|
-
end
|
77
|
-
output
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|