]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/thrift/lib/rb/script/read_struct.rb
buildsys: switch source download to quincy
[ceph.git] / ceph / src / jaegertracing / thrift / lib / rb / script / read_struct.rb
CommitLineData
f67539c2
TL
1#
2# Licensed to the Apache Software Foundation (ASF) under one
3# or more contributor license agreements. See the NOTICE file
4# distributed with this work for additional information
5# regarding copyright ownership. The ASF licenses this file
6# to you under the Apache License, Version 2.0 (the
7# "License"); you may not use this file except in compliance
8# with the License. You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing,
13# software distributed under the License is distributed on an
14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15# KIND, either express or implied. See the License for the
16# specific language governing permissions and limitations
17# under the License.
18#
19
20require "spec/spec_helper"
21
22path, factory_class = ARGV
23
24factory = eval(factory_class).new
25
26deser = Thrift::Deserializer.new(factory)
27
28cpts = CompactProtoTestStruct.new
29CompactProtoTestStruct.constants.each do |const|
30 cpts.instance_variable_set("@#{const}", nil)
31end
32
33data = File.read(path)
34
35deser.deserialize(cpts, data)
36
37if cpts == Fixtures::COMPACT_PROTOCOL_TEST_STRUCT
38 puts "Object verified successfully!"
39else
40 puts "Object failed verification! Expected #{Fixtures::COMPACT_PROTOCOL_TEST_STRUCT.inspect} but got #{cpts.inspect}"
41
42 puts cpts.differences(Fixtures::COMPACT_PROTOCOL_TEST_STRUCT)
43end