bson 4.15.0-java → 5.0.1-java
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/lib/bson/active_support.rb +1 -0
- data/lib/bson/array.rb +57 -31
- data/lib/bson/big_decimal.rb +16 -6
- data/lib/bson/binary.rb +255 -128
- data/lib/bson/boolean.rb +1 -0
- data/lib/bson/code.rb +9 -11
- data/lib/bson/code_with_scope.rb +8 -10
- 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 +11 -12
- data/lib/bson/dbref.rb +11 -9
- data/lib/bson/decimal128/builder.rb +10 -9
- data/lib/bson/decimal128.rb +24 -110
- 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 +1 -0
- data/lib/bson/false_class.rb +2 -1
- data/lib/bson/float.rb +2 -1
- data/lib/bson/hash.rb +127 -72
- data/lib/bson/int32.rb +16 -4
- data/lib/bson/int64.rb +16 -4
- data/lib/bson/integer.rb +3 -4
- data/lib/bson/json.rb +1 -0
- data/lib/bson/max_key.rb +7 -9
- data/lib/bson/min_key.rb +7 -9
- data/lib/bson/nil_class.rb +1 -0
- data/lib/bson/object.rb +5 -25
- data/lib/bson/object_id.rb +83 -119
- data/lib/bson/open_struct.rb +3 -2
- data/lib/bson/regexp.rb +35 -64
- 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 +22 -19
- data/lib/bson/time.rb +2 -1
- data/lib/bson/time_with_zone.rb +13 -1
- data/lib/bson/timestamp.rb +2 -1
- data/lib/bson/true_class.rb +2 -1
- data/lib/bson/undefined.rb +14 -0
- data/lib/bson/version.rb +3 -1
- data/lib/bson-ruby.jar +0 -0
- 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 +83 -74
- 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 +112 -161
- 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 -1
- metadata.gz.sig +0 -2
data/spec/support/utils.rb
CHANGED
@@ -1,10 +1,58 @@
|
|
1
|
+
# rubocop:todo all
|
1
2
|
module Utils
|
3
|
+
extend self
|
4
|
+
|
2
5
|
# JRuby chokes when strings like "\xfe\x00\xff", which are not valid UTF-8,
|
3
6
|
# appear in the source. Use this method to build such strings.
|
4
7
|
# char_array is an array of byte values to use for the string.
|
5
|
-
|
8
|
+
def make_byte_string(char_array, encoding = 'BINARY')
|
6
9
|
char_array.map do |char|
|
7
10
|
char.chr.force_encoding('BINARY')
|
8
11
|
end.join.force_encoding(encoding)
|
9
12
|
end
|
13
|
+
|
14
|
+
# Forks the current process and executes the given block in the child.
|
15
|
+
# The value returned by the block is then returned in the parent process
|
16
|
+
# by this method.
|
17
|
+
#
|
18
|
+
# @return [ Object ] the value returned by the block
|
19
|
+
def perform_in_child(&block)
|
20
|
+
reader, writer = IO.pipe
|
21
|
+
|
22
|
+
if fork
|
23
|
+
parent_worker(reader, writer)
|
24
|
+
else
|
25
|
+
child_worker(reader, writer, &block)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
# A utility method for #perform_in_child, to handle tasks for the parent
|
32
|
+
# side of the fork.
|
33
|
+
#
|
34
|
+
# @param [ IO ] reader The reader IO for the pipe
|
35
|
+
# @param [ IO ] writer The writer IO for the pipe
|
36
|
+
#
|
37
|
+
# @return [ Object ] the value returned by the child process
|
38
|
+
def parent_worker(reader, writer)
|
39
|
+
writer.close
|
40
|
+
blob = reader.read
|
41
|
+
reader.close
|
42
|
+
Process.wait
|
43
|
+
Marshal.load(blob)
|
44
|
+
end
|
45
|
+
|
46
|
+
# A utility method for #perform_in_child, to handle tasks for the child
|
47
|
+
# side of the fork.
|
48
|
+
#
|
49
|
+
# @param [ IO ] reader The reader IO for the pipe
|
50
|
+
# @param [ IO ] writer The writer IO for the pipe
|
51
|
+
def child_worker(reader, writer, &block)
|
52
|
+
reader.close
|
53
|
+
result = block.call
|
54
|
+
writer.write Marshal.dump(result)
|
55
|
+
writer.close
|
56
|
+
exit! 0
|
57
|
+
end
|
10
58
|
end
|
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.1
|
5
5
|
platform: java
|
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-07-23 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
|
extra_rdoc_files: []
|
@@ -67,6 +41,21 @@ files:
|
|
67
41
|
- lib/bson/document.rb
|
68
42
|
- lib/bson/environment.rb
|
69
43
|
- lib/bson/error.rb
|
44
|
+
- lib/bson/error/bson_decode_error.rb
|
45
|
+
- lib/bson/error/ext_json_parse_error.rb
|
46
|
+
- lib/bson/error/illegal_key.rb
|
47
|
+
- lib/bson/error/invalid_binary_type.rb
|
48
|
+
- lib/bson/error/invalid_dbref_argument.rb
|
49
|
+
- lib/bson/error/invalid_decimal128_argument.rb
|
50
|
+
- lib/bson/error/invalid_decimal128_range.rb
|
51
|
+
- lib/bson/error/invalid_decimal128_string.rb
|
52
|
+
- lib/bson/error/invalid_key.rb
|
53
|
+
- lib/bson/error/invalid_object_id.rb
|
54
|
+
- lib/bson/error/invalid_regexp_pattern.rb
|
55
|
+
- lib/bson/error/unrepresentable_precision.rb
|
56
|
+
- lib/bson/error/unserializable_class.rb
|
57
|
+
- lib/bson/error/unsupported_binary_subtype.rb
|
58
|
+
- lib/bson/error/unsupported_type.rb
|
70
59
|
- lib/bson/ext_json.rb
|
71
60
|
- lib/bson/false_class.rb
|
72
61
|
- lib/bson/float.rb
|
@@ -141,25 +130,6 @@ files:
|
|
141
130
|
- spec/runners/common_driver.rb
|
142
131
|
- spec/runners/corpus.rb
|
143
132
|
- spec/runners/corpus_legacy.rb
|
144
|
-
- spec/shared/LICENSE
|
145
|
-
- spec/shared/bin/get-mongodb-download-url
|
146
|
-
- spec/shared/bin/s3-copy
|
147
|
-
- spec/shared/bin/s3-upload
|
148
|
-
- spec/shared/lib/mrss/child_process_helper.rb
|
149
|
-
- spec/shared/lib/mrss/cluster_config.rb
|
150
|
-
- spec/shared/lib/mrss/constraints.rb
|
151
|
-
- spec/shared/lib/mrss/docker_runner.rb
|
152
|
-
- spec/shared/lib/mrss/event_subscriber.rb
|
153
|
-
- spec/shared/lib/mrss/lite_constraints.rb
|
154
|
-
- spec/shared/lib/mrss/server_version_registry.rb
|
155
|
-
- spec/shared/lib/mrss/spec_organizer.rb
|
156
|
-
- spec/shared/lib/mrss/utils.rb
|
157
|
-
- spec/shared/share/Dockerfile.erb
|
158
|
-
- spec/shared/share/haproxy-1.conf
|
159
|
-
- spec/shared/share/haproxy-2.conf
|
160
|
-
- spec/shared/shlib/distro.sh
|
161
|
-
- spec/shared/shlib/server.sh
|
162
|
-
- spec/shared/shlib/set_env.sh
|
163
133
|
- spec/spec_helper.rb
|
164
134
|
- spec/spec_tests/common_driver_spec.rb
|
165
135
|
- spec/spec_tests/corpus_legacy_spec.rb
|
@@ -227,14 +197,14 @@ files:
|
|
227
197
|
- spec/support/shared_examples.rb
|
228
198
|
- spec/support/spec_config.rb
|
229
199
|
- spec/support/utils.rb
|
230
|
-
homepage: https://
|
200
|
+
homepage: https://www.mongodb.com/docs/ruby-driver/current/tutorials/bson-v4/
|
231
201
|
licenses:
|
232
202
|
- Apache-2.0
|
233
203
|
metadata:
|
234
204
|
bug_tracker_uri: https://jira.mongodb.org/projects/RUBY
|
235
205
|
changelog_uri: https://github.com/mongodb/bson-ruby/releases
|
236
|
-
documentation_uri: https://
|
237
|
-
homepage_uri: https://
|
206
|
+
documentation_uri: https://www.mongodb.com/docs/ruby-driver/current/tutorials/bson-v4/
|
207
|
+
homepage_uri: https://www.mongodb.com/docs/ruby-driver/current/tutorials/bson-v4/
|
238
208
|
source_code_uri: https://github.com/mongodb/bson-ruby
|
239
209
|
post_install_message:
|
240
210
|
rdoc_options: []
|
@@ -244,150 +214,131 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
244
214
|
requirements:
|
245
215
|
- - ">="
|
246
216
|
- !ruby/object:Gem::Version
|
247
|
-
version: '2.
|
217
|
+
version: '2.6'
|
248
218
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
219
|
requirements:
|
250
220
|
- - ">="
|
251
221
|
- !ruby/object:Gem::Version
|
252
222
|
version: 1.3.6
|
253
223
|
requirements: []
|
254
|
-
rubygems_version: 3.
|
224
|
+
rubygems_version: 3.3.26
|
255
225
|
signing_key:
|
256
226
|
specification_version: 4
|
257
227
|
summary: Ruby implementation of the BSON specification
|
258
228
|
test_files:
|
259
|
-
- spec/bson_spec.rb
|
260
229
|
- spec/README.md
|
261
|
-
- spec/
|
262
|
-
- spec/
|
263
|
-
- spec/
|
264
|
-
- spec/
|
265
|
-
- spec/bson/raw_spec.rb
|
266
|
-
- spec/bson/date_spec.rb
|
267
|
-
- spec/bson/false_class_spec.rb
|
268
|
-
- spec/bson/dbref_spec.rb
|
269
|
-
- spec/bson/symbol_spec.rb
|
270
|
-
- spec/bson/undefined_spec.rb
|
271
|
-
- spec/bson/max_key_spec.rb
|
272
|
-
- spec/bson/integer_spec.rb
|
273
|
-
- spec/bson/float_spec.rb
|
274
|
-
- spec/bson/code_spec.rb
|
275
|
-
- spec/bson/min_key_spec.rb
|
276
|
-
- spec/bson/time_spec.rb
|
277
|
-
- spec/bson/time_with_zone_spec.rb
|
278
|
-
- spec/bson/code_with_scope_spec.rb
|
279
|
-
- spec/bson/regexp_spec.rb
|
280
|
-
- spec/bson/hash_as_spec.rb
|
281
|
-
- spec/bson/dbref_legacy_spec.rb
|
230
|
+
- spec/bson/array_spec.rb
|
231
|
+
- spec/bson/big_decimal_spec.rb
|
232
|
+
- spec/bson/binary_spec.rb
|
233
|
+
- spec/bson/binary_uuid_spec.rb
|
282
234
|
- spec/bson/boolean_spec.rb
|
283
|
-
- spec/bson/
|
235
|
+
- spec/bson/byte_buffer_read_spec.rb
|
236
|
+
- spec/bson/byte_buffer_spec.rb
|
284
237
|
- spec/bson/byte_buffer_write_spec.rb
|
238
|
+
- spec/bson/code_spec.rb
|
239
|
+
- spec/bson/code_with_scope_spec.rb
|
285
240
|
- spec/bson/config_spec.rb
|
286
|
-
- spec/bson/
|
287
|
-
- spec/bson/
|
288
|
-
- spec/bson/
|
289
|
-
- spec/bson/
|
290
|
-
- spec/bson/
|
241
|
+
- spec/bson/date_spec.rb
|
242
|
+
- spec/bson/date_time_spec.rb
|
243
|
+
- spec/bson/dbref_legacy_spec.rb
|
244
|
+
- spec/bson/dbref_spec.rb
|
245
|
+
- spec/bson/decimal128_spec.rb
|
291
246
|
- spec/bson/document_as_spec.rb
|
292
|
-
- spec/bson/
|
293
|
-
- spec/bson/
|
294
|
-
- spec/bson/
|
295
|
-
- spec/bson/
|
247
|
+
- spec/bson/document_spec.rb
|
248
|
+
- spec/bson/ext_json_parse_spec.rb
|
249
|
+
- spec/bson/false_class_spec.rb
|
250
|
+
- spec/bson/float_spec.rb
|
251
|
+
- spec/bson/hash_as_spec.rb
|
296
252
|
- spec/bson/hash_spec.rb
|
297
|
-
- spec/bson/
|
298
|
-
- spec/bson/byte_buffer_read_spec.rb
|
253
|
+
- spec/bson/int32_spec.rb
|
299
254
|
- spec/bson/int64_spec.rb
|
300
|
-
- spec/bson/
|
301
|
-
- spec/bson/timestamp_spec.rb
|
255
|
+
- spec/bson/integer_spec.rb
|
302
256
|
- spec/bson/json_spec.rb
|
303
|
-
- spec/bson/
|
304
|
-
- spec/bson/
|
305
|
-
- spec/bson/
|
306
|
-
- spec/bson/
|
307
|
-
- spec/bson/
|
257
|
+
- spec/bson/max_key_spec.rb
|
258
|
+
- spec/bson/min_key_spec.rb
|
259
|
+
- spec/bson/nil_class_spec.rb
|
260
|
+
- spec/bson/object_id_spec.rb
|
261
|
+
- spec/bson/object_spec.rb
|
308
262
|
- spec/bson/open_struct_spec.rb
|
309
|
-
- spec/
|
310
|
-
- spec/
|
263
|
+
- spec/bson/raw_spec.rb
|
264
|
+
- spec/bson/regexp_spec.rb
|
265
|
+
- spec/bson/registry_spec.rb
|
266
|
+
- spec/bson/string_spec.rb
|
267
|
+
- spec/bson/symbol_raw_spec.rb
|
268
|
+
- spec/bson/symbol_spec.rb
|
269
|
+
- spec/bson/time_spec.rb
|
270
|
+
- spec/bson/time_with_zone_spec.rb
|
271
|
+
- spec/bson/timestamp_spec.rb
|
272
|
+
- spec/bson/true_class_spec.rb
|
273
|
+
- spec/bson/undefined_spec.rb
|
274
|
+
- spec/bson_spec.rb
|
275
|
+
- spec/runners/common_driver.rb
|
276
|
+
- spec/runners/corpus.rb
|
277
|
+
- spec/runners/corpus_legacy.rb
|
278
|
+
- spec/spec_helper.rb
|
311
279
|
- spec/spec_tests/common_driver_spec.rb
|
312
|
-
- spec/spec_tests/
|
313
|
-
- spec/spec_tests/
|
314
|
-
- spec/spec_tests/data/
|
315
|
-
- spec/spec_tests/data/decimal128/decimal128-7.json
|
316
|
-
- spec/spec_tests/data/decimal128/decimal128-4.json
|
317
|
-
- spec/spec_tests/data/decimal128/decimal128-1.json
|
318
|
-
- spec/spec_tests/data/decimal128/decimal128-6.json
|
280
|
+
- spec/spec_tests/corpus_legacy_spec.rb
|
281
|
+
- spec/spec_tests/corpus_spec.rb
|
282
|
+
- spec/spec_tests/data/corpus/README.md
|
319
283
|
- spec/spec_tests/data/corpus/array.json
|
320
|
-
- spec/spec_tests/data/corpus/multi-type-deprecated.json
|
321
|
-
- spec/spec_tests/data/corpus/string.json
|
322
|
-
- spec/spec_tests/data/corpus/timestamp.json
|
323
|
-
- spec/spec_tests/data/corpus/double.json
|
324
284
|
- spec/spec_tests/data/corpus/binary.json
|
325
|
-
- spec/spec_tests/data/corpus/document.json
|
326
|
-
- spec/spec_tests/data/corpus/null.json
|
327
|
-
- spec/spec_tests/data/corpus/decimal128-3.json
|
328
285
|
- spec/spec_tests/data/corpus/boolean.json
|
329
|
-
- spec/spec_tests/data/corpus/regex.json
|
330
|
-
- spec/spec_tests/data/corpus/oid.json
|
331
|
-
- spec/spec_tests/data/corpus/README.md
|
332
286
|
- spec/spec_tests/data/corpus/code.json
|
333
|
-
- spec/spec_tests/data/corpus/
|
287
|
+
- spec/spec_tests/data/corpus/code_w_scope.json
|
334
288
|
- spec/spec_tests/data/corpus/datetime.json
|
335
|
-
- spec/spec_tests/data/corpus/
|
336
|
-
- spec/spec_tests/data/corpus/decimal128-5.json
|
289
|
+
- spec/spec_tests/data/corpus/dbpointer.json
|
337
290
|
- spec/spec_tests/data/corpus/dbref.json
|
338
|
-
- spec/spec_tests/data/corpus/
|
291
|
+
- spec/spec_tests/data/corpus/decimal128-1.json
|
339
292
|
- spec/spec_tests/data/corpus/decimal128-2.json
|
340
|
-
- spec/spec_tests/data/corpus/
|
293
|
+
- spec/spec_tests/data/corpus/decimal128-3.json
|
294
|
+
- spec/spec_tests/data/corpus/decimal128-4.json
|
295
|
+
- spec/spec_tests/data/corpus/decimal128-5.json
|
296
|
+
- spec/spec_tests/data/corpus/decimal128-6.json
|
341
297
|
- spec/spec_tests/data/corpus/decimal128-7.json
|
298
|
+
- spec/spec_tests/data/corpus/document.json
|
299
|
+
- spec/spec_tests/data/corpus/double.json
|
300
|
+
- spec/spec_tests/data/corpus/int32.json
|
301
|
+
- spec/spec_tests/data/corpus/int64.json
|
302
|
+
- spec/spec_tests/data/corpus/maxkey.json
|
303
|
+
- spec/spec_tests/data/corpus/minkey.json
|
304
|
+
- spec/spec_tests/data/corpus/multi-type-deprecated.json
|
305
|
+
- spec/spec_tests/data/corpus/multi-type.json
|
306
|
+
- spec/spec_tests/data/corpus/null.json
|
307
|
+
- spec/spec_tests/data/corpus/oid.json
|
308
|
+
- spec/spec_tests/data/corpus/regex.json
|
309
|
+
- spec/spec_tests/data/corpus/string.json
|
342
310
|
- spec/spec_tests/data/corpus/symbol.json
|
311
|
+
- spec/spec_tests/data/corpus/timestamp.json
|
343
312
|
- spec/spec_tests/data/corpus/top.json
|
344
|
-
- spec/spec_tests/data/corpus/
|
345
|
-
- spec/spec_tests/data/corpus/maxkey.json
|
346
|
-
- spec/spec_tests/data/corpus/decimal128-4.json
|
347
|
-
- spec/spec_tests/data/corpus/decimal128-1.json
|
348
|
-
- spec/spec_tests/data/corpus/int64.json
|
349
|
-
- spec/spec_tests/data/corpus/code_w_scope.json
|
350
|
-
- spec/spec_tests/data/corpus/decimal128-6.json
|
313
|
+
- spec/spec_tests/data/corpus/undefined.json
|
351
314
|
- spec/spec_tests/data/corpus_legacy/array.json
|
352
|
-
- spec/spec_tests/data/corpus_legacy/string.json
|
353
|
-
- spec/spec_tests/data/corpus_legacy/timestamp.json
|
354
|
-
- spec/spec_tests/data/corpus_legacy/double.json
|
355
315
|
- spec/spec_tests/data/corpus_legacy/binary.json
|
356
|
-
- spec/spec_tests/data/corpus_legacy/document.json
|
357
|
-
- spec/spec_tests/data/corpus_legacy/null.json
|
358
316
|
- spec/spec_tests/data/corpus_legacy/boolean.json
|
359
|
-
- spec/spec_tests/data/corpus_legacy/regex.json
|
360
|
-
- spec/spec_tests/data/corpus_legacy/oid.json
|
361
317
|
- spec/spec_tests/data/corpus_legacy/code.json
|
362
|
-
- spec/spec_tests/data/corpus_legacy/undefined.json
|
363
|
-
- spec/spec_tests/data/corpus_legacy/int32.json
|
364
|
-
- spec/spec_tests/data/corpus_legacy/top.json
|
365
|
-
- spec/spec_tests/data/corpus_legacy/minkey.json
|
366
|
-
- spec/spec_tests/data/corpus_legacy/maxkey.json
|
367
318
|
- spec/spec_tests/data/corpus_legacy/code_w_scope.json
|
319
|
+
- spec/spec_tests/data/corpus_legacy/document.json
|
320
|
+
- spec/spec_tests/data/corpus_legacy/double.json
|
368
321
|
- spec/spec_tests/data/corpus_legacy/failures/datetime.json
|
369
322
|
- spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
|
370
|
-
- spec/spec_tests/data/corpus_legacy/failures/symbol.json
|
371
323
|
- spec/spec_tests/data/corpus_legacy/failures/int64.json
|
372
|
-
- spec/
|
373
|
-
- spec/
|
324
|
+
- spec/spec_tests/data/corpus_legacy/failures/symbol.json
|
325
|
+
- spec/spec_tests/data/corpus_legacy/int32.json
|
326
|
+
- spec/spec_tests/data/corpus_legacy/maxkey.json
|
327
|
+
- spec/spec_tests/data/corpus_legacy/minkey.json
|
328
|
+
- spec/spec_tests/data/corpus_legacy/null.json
|
329
|
+
- spec/spec_tests/data/corpus_legacy/oid.json
|
330
|
+
- spec/spec_tests/data/corpus_legacy/regex.json
|
331
|
+
- spec/spec_tests/data/corpus_legacy/string.json
|
332
|
+
- spec/spec_tests/data/corpus_legacy/timestamp.json
|
333
|
+
- spec/spec_tests/data/corpus_legacy/top.json
|
334
|
+
- spec/spec_tests/data/corpus_legacy/undefined.json
|
335
|
+
- spec/spec_tests/data/decimal128/decimal128-1.json
|
336
|
+
- spec/spec_tests/data/decimal128/decimal128-2.json
|
337
|
+
- spec/spec_tests/data/decimal128/decimal128-3.json
|
338
|
+
- spec/spec_tests/data/decimal128/decimal128-4.json
|
339
|
+
- spec/spec_tests/data/decimal128/decimal128-5.json
|
340
|
+
- spec/spec_tests/data/decimal128/decimal128-6.json
|
341
|
+
- spec/spec_tests/data/decimal128/decimal128-7.json
|
374
342
|
- spec/support/shared_examples.rb
|
375
|
-
- spec/
|
376
|
-
- spec/
|
377
|
-
- spec/shared/share/haproxy-2.conf
|
378
|
-
- spec/shared/share/haproxy-1.conf
|
379
|
-
- spec/shared/bin/s3-copy
|
380
|
-
- spec/shared/bin/get-mongodb-download-url
|
381
|
-
- spec/shared/bin/s3-upload
|
382
|
-
- spec/shared/shlib/distro.sh
|
383
|
-
- spec/shared/shlib/set_env.sh
|
384
|
-
- spec/shared/shlib/server.sh
|
385
|
-
- spec/shared/lib/mrss/constraints.rb
|
386
|
-
- spec/shared/lib/mrss/cluster_config.rb
|
387
|
-
- spec/shared/lib/mrss/child_process_helper.rb
|
388
|
-
- spec/shared/lib/mrss/event_subscriber.rb
|
389
|
-
- spec/shared/lib/mrss/utils.rb
|
390
|
-
- spec/shared/lib/mrss/server_version_registry.rb
|
391
|
-
- spec/shared/lib/mrss/lite_constraints.rb
|
392
|
-
- spec/shared/lib/mrss/docker_runner.rb
|
393
|
-
- spec/shared/lib/mrss/spec_organizer.rb
|
343
|
+
- spec/support/spec_config.rb
|
344
|
+
- 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
|