cosmos 4.5.1 → 4.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c7429d28f8f97293a9c8f9779cd11b32c484b5611880bedd58f2cde82b348cd2
4
- data.tar.gz: f64ef30f269a8c7d79d2dbd85c995e8eae63903d9eb534408c593e8def86cdcd
3
+ metadata.gz: b5f1bf9bb7d272191c8e09b184e251e36bffff6588302895621d56c08c7e10c0
4
+ data.tar.gz: b983bbb4786cc7b0c55493f55c0c619d7c8df40a18c5432b7a8a16ffefd8ec24
5
5
  SHA512:
6
- metadata.gz: 7e7c12fac22a5a5e68f0d5cefeeab1327592d727a31e799001516f35000bc066e7ae7723417345c1578978e64a4a4e8d06a564035241a8a6ac4af2cf3ad73bad
7
- data.tar.gz: ca43d50aac04edd22d03bc3a44c15c66911374a1cfe40a8ad08e2c91a9fe6c9b3192760d423df0197fc38137a7cf896462e73623163c1dba29a61368c2e0e8ca
6
+ metadata.gz: 8d7d2baf899f59181069c4007c0d0719f3f512061872059452cf5376c40a150c94daf66c7fc5b6df051a48fd9400eca8899486213510d98b646b434ecf58a624
7
+ data.tar.gz: '09acfa1481c96c6a20b6736ed04ed8c43e1ecacd759fac6343b52638202ca8fc9ec18941f0469c94b1a89ef0b39d49e49ce225bf56800fcc3cae97b3ba122077'
@@ -0,0 +1,33 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ # Reference environment variables: https://docs.github.com/en/actions/reference/environment-variables
9
+
10
+ name: Cosmos 4 Tests
11
+
12
+ on:
13
+ push:
14
+ branches: [cosmos4]
15
+ pull_request:
16
+ branches: [cosmos4]
17
+
18
+ jobs:
19
+ test:
20
+ runs-on: ubuntu-18.04
21
+ strategy:
22
+ matrix:
23
+ ruby-version: ["2.5", "2.6"]
24
+ steps:
25
+ - uses: actions/checkout@v2
26
+ - uses: ruby/setup-ruby@v1
27
+ with:
28
+ ruby-version: ${{ matrix.ruby-version }}
29
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
30
+ - name: Run tests
31
+ run: bundle exec rake build spec
32
+ env:
33
+ COSMOS_DEVEL: ${GITHUB_WORKSPACE}\.
data/Dockerfile CHANGED
@@ -54,8 +54,7 @@ ARG COSMOS_REPO=https://github.com/BallAerospace/COSMOS.git
54
54
  # Download and setup COSMOS devel area
55
55
  RUN gem install bundler --no-document
56
56
  RUN cd /devel \
57
- && git clone ${COSMOS_REPO} COSMOS \
58
- && git checkout cosmos4 \
57
+ && git clone -b cosmos4 ${COSMOS_REPO} COSMOS \
59
58
  && cd /devel/COSMOS \
60
59
  && bundle install
61
60
 
@@ -66,5 +65,7 @@ RUN cd /devel \
66
65
  && git clone ${COSMOS_DOCKER_REPO}
67
66
 
68
67
  ENV COSMOS_DEVEL /devel/COSMOS
68
+ ENV COSMOS_NO_SIMPLECOV 1
69
+ ENV DOCKER 1
69
70
  WORKDIR /devel/COSMOS
70
- CMD bash
71
+ CMD bash
data/Gemfile CHANGED
@@ -8,4 +8,4 @@ gem 'ruby-termios', '>= 0.9' if RbConfig::CONFIG['target_os'] !~ /mswin|mingw|cy
8
8
  # gem 'wdm', '>= 0.1.0', :platforms => [:mswin, :mingw]
9
9
  #end
10
10
  gemspec
11
- instance_eval File.read(File.join(__dir__, 'install/config/dart/Gemfile'))
11
+ instance_eval File.read(File.join(__dir__, 'install/config/dart/Gemfile')) unless ENV['CI']
data/Manifest.txt CHANGED
@@ -1,12 +1,11 @@
1
- .coveralls.yml
2
1
  .dockerignore
3
2
  .gitattributes
4
3
  .github/ISSUE_TEMPLATE/bug_report.md
5
4
  .github/ISSUE_TEMPLATE/feature_request.md
6
5
  .github/ISSUE_TEMPLATE/help---usage---general-question.md
6
+ .github/workflows/build_v4.yml
7
7
  .gitignore
8
8
  .rubocop.yml
9
- .travis.yml
10
9
  .yardopts
11
10
  CONTRIBUTING.txt
12
11
  Dockerfile
data/README.md CHANGED
@@ -111,7 +111,6 @@ If you discover a security vulnerability in COSMOS, please do not disclose to an
111
111
 
112
112
  ## Code Status
113
113
 
114
- * [![Travis Build Status](https://travis-ci.org/BallAerospace/COSMOS.svg?branch=master)](https://travis-ci.org/BallAerospace/COSMOS)
115
114
  * [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/gw61r3dvakjamx6o?svg=true)](https://ci.appveyor.com/project/jasonatball/cosmos)
116
115
  * [![Code Climate](https://codeclimate.com/github/BallAerospace/COSMOS/badges/gpa.svg)](https://codeclimate.com/github/BallAerospace/COSMOS)
117
116
  * [![Codecov](https://img.shields.io/codecov/c/github/codecov/example-python.svg)](https://codecov.io/gh/BallAerospace/COSMOS)
data/Rakefile CHANGED
@@ -300,6 +300,14 @@ end
300
300
  task :release => [:require_version, :git_checkout, :build, :spec, :manifest, :version, :install_crc, :gem]
301
301
  task :commit_release => [:commit_release_ticket, :tag_release]
302
302
 
303
+ # HOW-TO: Performing a COSMOS 4 build
304
+ # 1. rake docker_build
305
+ # 2. rake docker_run
306
+ # 3. Follow the individual steps printed out
307
+ # NOTE: When doing git push you will be asked for password
308
+ # You will need to enter a Github access token value
309
+ # Create one on Github, User -> Settings -> Developer settings -> Personal access tokens
310
+
303
311
  task :docker_build do
304
312
  _, platform, *_ = RUBY_PLATFORM.split("-")
305
313
  if (platform == 'mswin32' or platform == 'mingw32') and which('winpty')
@@ -312,18 +320,17 @@ end
312
320
  task :docker_run do
313
321
  STDOUT.puts "Note, this is not automated on purpose to ensure each step is successful (with user entry of credentials for github/rubygems.org)"
314
322
  STDOUT.puts "Steps to perform a COSMOS release:"
315
- STDOUT.puts "1a. git config --global user.name \"Last, First\""
316
- STDOUT.puts "1b. git config --global user.email \"me@ball.com\""
317
- STDOUT.puts "1c. Ensure Ruby 2.5 is in your path"
318
- STDOUT.puts "2. git checkout cosmos4"
319
- STDOUT.puts "3. git pull"
320
- STDOUT.puts "4. export VERSION=X.X.X"
321
- STDOUT.puts "5. rake release"
322
- STDOUT.puts "6. rake commit_release"
323
- STDOUT.puts "7. export PATH=/opt/jruby/bin:$PATH"
324
- STDOUT.puts "8. rake gem"
325
- STDOUT.puts "9. /usr/bin/gem push cosmos-X.X.X.gem"
326
- STDOUT.puts "10. /usr/bin/gem push cosmos-X.X.X-java.gem"
323
+ STDOUT.puts "1. git config --global user.name \"Last, First\""
324
+ STDOUT.puts "2. git config --global user.email \"me@ball.com\""
325
+ STDOUT.puts "3. git checkout cosmos4"
326
+ STDOUT.puts "4. git pull"
327
+ STDOUT.puts "5. export VERSION=X.X.X"
328
+ STDOUT.puts "6. rake release"
329
+ STDOUT.puts "7. rake commit_release"
330
+ STDOUT.puts "8. export PATH=/opt/jruby/bin:$PATH"
331
+ STDOUT.puts "9. rake gem"
332
+ STDOUT.puts "10a. /usr/bin/gem push cosmos-X.X.X.gem"
333
+ STDOUT.puts "10b. /usr/bin/gem push cosmos-X.X.X-java.gem"
327
334
  STDOUT.puts "11. cd /devel/cosmos-docker"
328
335
  STDOUT.puts "12. git pull"
329
336
  STDOUT.puts "13. Update COSMOS_VERSION in all Dockerfiles. Also update README.md"
@@ -332,6 +339,7 @@ task :docker_run do
332
339
  STDOUT.puts "16. git checkout -b vX.X.X"
333
340
  STDOUT.puts "17. git push --set-upstream origin vX.X.X"
334
341
  STDOUT.puts "18. Update release notes on github.com and cosmosrb.com"
342
+ STDOUT.puts " https://github.com/BallAerospace/COSMOS/pulls?q=is%3Apr+is%3Aclosed+base%3Acosmos4+no%3Amilestone"
335
343
 
336
344
  system('docker run -it --rm cosmos-dev')
337
345
  end
data/cosmos.gemspec CHANGED
@@ -73,10 +73,11 @@ spec = Gem::Specification.new do |s|
73
73
  files
74
74
  else [] end
75
75
 
76
- s.required_ruby_version = '~> 2.3'
76
+ s.required_ruby_version = '~> 2.4'
77
77
 
78
78
  # Runtime Dependencies
79
79
  s.add_runtime_dependency 'bundler', '>= 1.3'
80
+ s.add_runtime_dependency 'psych', '~> 3.3'
80
81
  s.add_runtime_dependency 'rdoc', '>= 4' # qtbindings doesn't parse in 6.0.0, fixed in 6.0.1
81
82
  s.add_runtime_dependency 'rake', '>= 10.0' # 10.0 released Nov 12, 2012
82
83
  s.add_runtime_dependency 'json', '>= 1.5', '< 3' # 2.0+ works with COSMOS
@@ -86,20 +87,13 @@ spec = Gem::Specification.new do |s|
86
87
  s.add_runtime_dependency 'uuidtools', '~> 2.1'
87
88
  s.add_runtime_dependency 'snmp', '~> 1.0'
88
89
  s.add_runtime_dependency 'rubyzip', '~> 1.2'
89
- s.add_runtime_dependency 'nokogiri', '~> 1.10'
90
+ s.add_runtime_dependency 'nokogiri', ['~> 1.10', '< 1.13'] # Nokogiri 1.13 doesn't support Ruby 2.5
90
91
  s.add_runtime_dependency 'opengl-bindings', '~> 1.6' if RUBY_ENGINE == 'ruby' # MRI Only
91
- s.add_runtime_dependency 'qtbindings', '~> 4.8.6', '>= 4.8.6.2' if RUBY_ENGINE == 'ruby' # MRI Only
92
+ s.add_runtime_dependency 'qtbindings', '~> 4.8.6', '>= 4.8.6.2' if RUBY_ENGINE == 'ruby' && !ENV['CI'] # MRI Only, not Github
92
93
  s.add_runtime_dependency 'puma', '~> 3.10'
93
94
  s.add_runtime_dependency 'rack', '~> 2.0'
94
95
  s.add_runtime_dependency 'httpclient', '~> 2.8'
95
96
 
96
- # From http://www.rubydoc.info/gems/puma#Known_Bugs :
97
- # "For MRI versions 2.2.7, 2.2.8, 2.2.9, 2.2.10, 2.3.4 and 2.4.1, you may see stream closed in
98
- # another thread (IOError). It may be caused by a Ruby bug. It can be
99
- # fixed with the gem https://rubygems.org/gems/stopgap_13632"
100
- # This is commented out because the gemspec is only evaluated at gem build time
101
- # s.add_runtime_dependency 'stopgap_13632', '~> 1.2.0' if RUBY_ENGINE == 'ruby' and %w(2.2.7 2.2.8 2.3.4 2.4.1).include? RUBY_VERSION # MRI Only
102
-
103
97
  # Development Dependencies
104
98
  s.add_development_dependency 'diff-lcs', '~> 1.3' if RUBY_ENGINE == 'ruby' # Get latest for MRI
105
99
  s.add_development_dependency 'rspec', '~> 3.5'
data/data/crc.txt CHANGED
@@ -221,7 +221,7 @@
221
221
  "lib/cosmos/io/buffered_file.rb" 0x031BC078
222
222
  "lib/cosmos/io/cosmos_snmp.rb" 0x64541158
223
223
  "lib/cosmos/io/io_multiplexer.rb" 0x526F4CB6
224
- "lib/cosmos/io/json_drb.rb" 0x7524D709
224
+ "lib/cosmos/io/json_drb.rb" 0xFA1D3D3D
225
225
  "lib/cosmos/io/json_drb_object.rb" 0x4603769D
226
226
  "lib/cosmos/io/json_drb_rack.rb" 0xE3191B55
227
227
  "lib/cosmos/io/json_rpc.rb" 0x918384D3
@@ -245,7 +245,7 @@
245
245
  "lib/cosmos/packets/packet.rb" 0x8AA6A556
246
246
  "lib/cosmos/packets/packet_config.rb" 0x73BC0FFF
247
247
  "lib/cosmos/packets/packet_item.rb" 0xE0789E45
248
- "lib/cosmos/packets/packet_item_limits.rb" 0xC4534EAB
248
+ "lib/cosmos/packets/packet_item_limits.rb" 0x1C49C06C
249
249
  "lib/cosmos/packets/parsers/format_string_parser.rb" 0x8015C5E3
250
250
  "lib/cosmos/packets/parsers/limits_parser.rb" 0xD680A7A1
251
251
  "lib/cosmos/packets/parsers/limits_response_parser.rb" 0x05979119
@@ -257,7 +257,7 @@
257
257
  "lib/cosmos/packets/parsers/xtce_converter.rb" 0x58820221
258
258
  "lib/cosmos/packets/parsers/xtce_parser.rb" 0x33A79E5D
259
259
  "lib/cosmos/packets/structure.rb" 0x9C7730B4
260
- "lib/cosmos/packets/structure_item.rb" 0x51291BF8
260
+ "lib/cosmos/packets/structure_item.rb" 0x4181D978
261
261
  "lib/cosmos/packets/telemetry.rb" 0xAE95A294
262
262
  "lib/cosmos/processors.rb" 0x5241327D
263
263
  "lib/cosmos/processors/new_packet_log_processor.rb" 0x8BFC2259
@@ -280,7 +280,7 @@
280
280
  "lib/cosmos/streams/tcpip_client_stream.rb" 0xD4F3E5AE
281
281
  "lib/cosmos/streams/tcpip_socket_stream.rb" 0xAC1077D0
282
282
  "lib/cosmos/system.rb" 0x735DFB42
283
- "lib/cosmos/system/system.rb" 0x09C3228A
283
+ "lib/cosmos/system/system.rb" 0xC2C1D75F
284
284
  "lib/cosmos/system/target.rb" 0x67DCFB35
285
285
  "lib/cosmos/tools/cmd_extractor/cmd_extractor.rb" 0x4BDD539F
286
286
  "lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb" 0xA5AA99F7
@@ -464,7 +464,7 @@
464
464
  "lib/cosmos/utilities/ruby_lex_utils.rb" 0x00EEFAE2
465
465
  "lib/cosmos/utilities/simulated_target.rb" 0xB251C94B
466
466
  "lib/cosmos/utilities/sleeper.rb" 0x650C3CEB
467
- "lib/cosmos/version.rb" 0xBF9B5080
467
+ "lib/cosmos/version.rb" 0xB78479FB
468
468
  "lib/cosmos/win32/excel.rb" 0x72BFBAC2
469
469
  "lib/cosmos/win32/win32.rb" 0xBCECA922
470
470
  "lib/cosmos/win32/win32_main.rb" 0x722DDE0D
@@ -118,15 +118,9 @@ static VALUE received_time_equals(VALUE self, VALUE received_time) {
118
118
  * received */
119
119
  static VALUE received_count_equals(VALUE self, VALUE received_count) {
120
120
  volatile VALUE read_conversion_cache = rb_ivar_get(self, id_ivar_read_conversion_cache);
121
- #ifdef RUBY_INTEGER_UNIFICATION /* Ruby 2.4.0 unified Fixnum and Bignum into Integer. This check allows the code to build pre- and post-2.4.0. */
122
121
  if (rb_funcall(received_count, id_method_class, 0) != rb_cInteger) {
123
122
  rb_raise(rb_eArgError, "received_count must be an Integer but is a %s", RSTRING_PTR(rb_funcall(rb_funcall(received_count, id_method_class, 0), id_method_to_s, 0)));
124
123
  }
125
- #else
126
- if ((rb_funcall(received_count, id_method_class, 0) != rb_cFixnum) && (rb_funcall(received_count, id_method_class, 0) != rb_cBignum)) {
127
- rb_raise(rb_eArgError, "received_count must be an Integer but is a %s", RSTRING_PTR(rb_funcall(rb_funcall(received_count, id_method_class, 0), id_method_to_s, 0)));
128
- }
129
- #endif
130
124
  rb_ivar_set(self, id_ivar_received_count, received_count);
131
125
  if (RTEST(read_conversion_cache)) {
132
126
  rb_funcall(read_conversion_cache, id_method_clear, 0);
@@ -17,14 +17,6 @@ require 'set'
17
17
  require 'cosmos/io/json_rpc'
18
18
  require 'cosmos/io/json_drb_rack'
19
19
  require 'rack/handler/puma'
20
- if RUBY_ENGINE == 'ruby' and %w(2.2.7 2.2.8 2.2.9 2.2.10 2.3.4 2.4.1).include? RUBY_VERSION
21
- begin
22
- require 'stopgap_13632'
23
- rescue Exception => err
24
- msg = "Error loading stopgap. Make sure gem install stopgap_13632 succeeds: #{err.message}"
25
- raise $!, msg, $!.backtrace
26
- end
27
- end
28
20
 
29
21
  # Add methods to the Puma::Launcher and Puma::Single class so we can tell
30
22
  # if the server has been started.
@@ -91,24 +91,12 @@ module Cosmos
91
91
  end
92
92
 
93
93
  def persistence_setting=(persistence_setting)
94
- if 0.class == Integer
95
- # Ruby version >= 2.4.0
96
- raise ArgumentError, "persistence_setting must be an Integer but is a #{persistence_setting.class}" unless Integer === persistence_setting
97
- else
98
- # Ruby version < 2.4.0
99
- raise ArgumentError, "persistence_setting must be a Fixnum but is a #{persistence_setting.class}" unless Fixnum === persistence_setting
100
- end
94
+ raise ArgumentError, "persistence_setting must be an Integer but is a #{persistence_setting.class}" unless Integer === persistence_setting
101
95
  @persistence_setting = persistence_setting
102
96
  end
103
97
 
104
98
  def persistence_count=(persistence_count)
105
- if 0.class == Integer
106
- # Ruby version >= 2.4.0
107
- raise ArgumentError, "persistence_count must be an Integer but is a #{persistence_count.class}" unless Integer === persistence_count
108
- else
109
- # Ruby version < 2.4.0
110
- raise ArgumentError, "persistence_count must be a Fixnum but is a #{persistence_count.class}" unless Fixnum === persistence_count
111
- end
99
+ raise ArgumentError, "persistence_count must be an Integer but is a #{persistence_count.class}" unless Integer === persistence_count
112
100
  @persistence_count = persistence_count
113
101
  end
114
102
 
@@ -112,13 +112,7 @@ module Cosmos
112
112
  end
113
113
 
114
114
  def bit_offset=(bit_offset)
115
- if 0.class == Integer
116
- # Ruby version >= 2.4.0
117
- raise ArgumentError, "#{@name}: bit_offset must be an Integer" unless Integer === bit_offset
118
- else
119
- # Ruby version < 2.4.0
120
- raise ArgumentError, "#{@name}: bit_offset must be a Fixnum" unless Fixnum === bit_offset
121
- end
115
+ raise ArgumentError, "#{@name}: bit_offset must be an Integer" unless Integer === bit_offset
122
116
 
123
117
  byte_aligned = ((bit_offset % 8) == 0)
124
118
  if (@data_type == :FLOAT or @data_type == :STRING or @data_type == :BLOCK) and !byte_aligned
@@ -133,13 +127,8 @@ module Cosmos
133
127
  end
134
128
 
135
129
  def bit_size=(bit_size)
136
- if 0.class == Integer
137
- # Ruby version >= 2.4.0
138
- raise ArgumentError, "#{name}: bit_size must be an Integer" unless Integer === bit_size
139
- else
140
- # Ruby version < 2.4.0
141
- raise ArgumentError, "#{name}: bit_size must be a Fixnum" unless Fixnum === bit_size
142
- end
130
+ raise ArgumentError, "#{name}: bit_size must be an Integer" unless Integer === bit_size
131
+
143
132
  byte_multiple = ((bit_size % 8) == 0)
144
133
  if bit_size <= 0 and (@data_type == :INT or @data_type == :UINT or @data_type == :FLOAT)
145
134
  raise ArgumentError, "#{@name}: bit_size cannot be negative or zero for :INT, :UINT, and :FLOAT items: #{bit_size}"
@@ -171,13 +160,7 @@ module Cosmos
171
160
 
172
161
  def array_size=(array_size)
173
162
  if array_size
174
- if 0.class == Integer
175
- # Ruby version >= 2.4.0
176
- raise ArgumentError, "#{@name}: array_size must be an Integer" unless Integer === array_size
177
- else
178
- # Ruby version < 2.4.0
179
- raise ArgumentError, "#{@name}: array_size must be a Fixnum" unless Fixnum === array_size
180
- end
163
+ raise ArgumentError, "#{@name}: array_size must be an Integer" unless Integer === array_size
181
164
  raise ArgumentError, "#{@name}: array_size must be a multiple of bit_size" unless (@bit_size == 0 or (array_size % @bit_size == 0) or array_size < 0)
182
165
  raise ArgumentError, "#{@name}: bit_size cannot be negative or zero for array items" if @bit_size <= 0
183
166
  end
@@ -992,7 +992,10 @@ module Cosmos
992
992
  cmd_meta.disabled = true
993
993
  tlm_meta = @telemetry.packet('SYSTEM', 'META')
994
994
  tlm_meta.sorted_items.each do |item|
995
- next if item.name.include?("RECEIVED") # Tlm only items
995
+ # Ignore reserved items as these are all DERIVED and thus will throw an exception
996
+ # in CommandSender since they don't have write conversions due to:
997
+ # commands.build_cmd -> packet.restore_defaults -> packet.write_item
998
+ next if Packet::RESERVED_ITEM_NAMES.include?(item.name)
996
999
  cmd_meta.define(item.clone)
997
1000
  end
998
1001
  @config.commands['SYSTEM'] ||= {}
@@ -1,12 +1,12 @@
1
1
  # encoding: ascii-8bit
2
2
 
3
- COSMOS_VERSION = '4.5.1'
3
+ COSMOS_VERSION = '4.5.2'
4
4
  module Cosmos
5
5
  module Version
6
6
  MAJOR = '4'
7
7
  MINOR = '5'
8
- PATCH = '1'
9
- BUILD = 'cb4647f6e93fcfb1dd38500288ecf5e1a6f79c76'
8
+ PATCH = '2'
9
+ BUILD = 'a516d4699e4de74066155c12194c9286adcde9ea'
10
10
  end
11
- VERSION = '4.5.1'
11
+ VERSION = '4.5.2'
12
12
  end
data/make_gems.sh CHANGED
@@ -1,7 +1,7 @@
1
1
  # export VERSION= before running this
2
2
  git checkout master
3
3
  git pull
4
- rbenv global 2.4.4
4
+ rbenv global 2.5.9
5
5
  rake release VERSION=$VERSION
6
6
  rake commit_release VERSION=$VERSION
7
7
  mv *.gem ~/share/.
data/spec/gui/qt_spec.rb CHANGED
@@ -8,7 +8,7 @@
8
8
  # as published by the Free Software Foundation; version 3 with
9
9
  # attribution addendums as found in the LICENSE.txt
10
10
 
11
- if RUBY_ENGINE == 'ruby'
11
+ if RUBY_ENGINE == 'ruby' && !ENV['GITHUB_ACTIONS']
12
12
  require 'spec_helper'
13
13
  require 'cosmos/gui/qt'
14
14
 
@@ -8,7 +8,7 @@
8
8
  # as published by the Free Software Foundation; version 3 with
9
9
  # attribution addendums as found in the LICENSE.txt
10
10
 
11
- if RUBY_ENGINE == 'ruby'
11
+ if RUBY_ENGINE == 'ruby' && !ENV['CI']
12
12
  require 'spec_helper'
13
13
  require 'cosmos/gui/qt'
14
14
  require 'cosmos/script'
@@ -8,7 +8,13 @@
8
8
  # as published by the Free Software Foundation; version 3 with
9
9
  # attribution addendums as found in the LICENSE.txt
10
10
 
11
- if RbConfig::CONFIG['target_os'] !~ /mswin|mingw|cygwin/i and RUBY_ENGINE == 'ruby' and !ENV['TRAVIS']
11
+ # NOTE: !ENV['DOCKER'] because of the following error while in container:
12
+ # Failure/Error: @handle = Kernel.open(port_name, File::RDWR | File::NONBLOCK)
13
+ # Errno::ENOENT:
14
+ # No such file or directory @ rb_sysopen - /dev/ttyS0
15
+ # ./lib/cosmos/io/posix_serial_driver.rb:48:in `initialize'
16
+
17
+ if RbConfig::CONFIG['target_os'] !~ /mswin|mingw|cygwin/i and RUBY_ENGINE == 'ruby' and !ENV['CI'] and !ENV['DOCKER']
12
18
 
13
19
  require 'spec_helper'
14
20
  require 'cosmos/io/posix_serial_driver'
@@ -84,25 +84,11 @@ module Cosmos
84
84
  end
85
85
 
86
86
  it "complains about persistence_setting = nil" do
87
- if 0.class == Integer
88
- # Ruby version >= 2.4.0
89
- expect { @l.persistence_setting = nil}.to raise_error(ArgumentError, "persistence_setting must be an Integer but is a NilClass")
90
- else
91
- # Ruby version < 2.4.0
92
- expect { @l.persistence_setting = nil}.to raise_error(ArgumentError, "persistence_setting must be a Fixnum but is a NilClass")
93
- end
87
+ expect { @l.persistence_setting = nil}.to raise_error(ArgumentError, "persistence_setting must be an Integer but is a NilClass")
94
88
  end
95
89
 
96
- if 0.class == Integer
97
- # Ruby version >= 2.4.0
98
- it "complains about persistence_setting that aren't Integer" do
99
- expect { @l.persistence_setting = 5.5}.to raise_error(ArgumentError, "persistence_setting must be an Integer but is a Float")
100
- end
101
- else
102
- # Ruby version < 2.4.0
103
- it "complains about persistence_setting that aren't Fixnum" do
104
- expect { @l.persistence_setting = 5.5}.to raise_error(ArgumentError, "persistence_setting must be a Fixnum but is a Float")
105
- end
90
+ it "complains about persistence_setting that aren't Integer" do
91
+ expect { @l.persistence_setting = 5.5}.to raise_error(ArgumentError, "persistence_setting must be an Integer but is a Float")
106
92
  end
107
93
  end
108
94
 
@@ -114,24 +100,11 @@ module Cosmos
114
100
  end
115
101
 
116
102
  it "complains about persistence_count = nil" do
117
- if 0.class == Integer
118
- # Ruby version >= 2.4.0
119
- expect { @l.persistence_count = nil}.to raise_error(ArgumentError, "persistence_count must be an Integer but is a NilClass")
120
- else
121
- # Ruby version < 2.4.0
122
- expect { @l.persistence_count = nil}.to raise_error(ArgumentError, "persistence_count must be a Fixnum but is a NilClass")
123
- end
103
+ expect { @l.persistence_count = nil}.to raise_error(ArgumentError, "persistence_count must be an Integer but is a NilClass")
124
104
  end
125
105
 
126
- if 0.class == Integer
127
- it "complains about persistence_count that aren't Integer" do
128
- expect { @l.persistence_count = 5.5}.to raise_error(ArgumentError, "persistence_count must be an Integer but is a Float")
129
- end
130
- else
131
- # Ruby version < 2.4.0
132
- it "complains about persistence_count that aren't Fixnum" do
133
- expect { @l.persistence_count = 5.5}.to raise_error(ArgumentError, "persistence_count must be a Fixnum but is a Float")
134
- end
106
+ it "complains about persistence_count that aren't Integer" do
107
+ expect { @l.persistence_count = 5.5}.to raise_error(ArgumentError, "persistence_count must be an Integer but is a Float")
135
108
  end
136
109
  end
137
110
 
@@ -69,13 +69,7 @@ module Cosmos
69
69
 
70
70
  describe "bit_offset=" do
71
71
  it "compains about bad bit offsets types" do
72
- if 0.class == Integer
73
- # Ruby version >= 2.4.0
74
- expect { StructureItem.new("test", nil, 8, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_offset must be an Integer")
75
- else
76
- # Ruby version < 2.4.0
77
- expect { StructureItem.new("test", nil, 8, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_offset must be a Fixnum")
78
- end
72
+ expect { StructureItem.new("test", nil, 8, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_offset must be an Integer")
79
73
  end
80
74
 
81
75
  it "complains about unaligned bit offsets" do
@@ -91,13 +85,7 @@ module Cosmos
91
85
 
92
86
  describe "bit_size=" do
93
87
  it "complains about bad bit sizes types" do
94
- if 0.class == Integer
95
- # Ruby version >= 2.4.0
96
- expect { StructureItem.new("test", 0, nil, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_size must be an Integer")
97
- else
98
- # Ruby version < 2.4.0
99
- expect { StructureItem.new("test", 0, nil, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_size must be a Fixnum")
100
- end
88
+ expect { StructureItem.new("test", 0, nil, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_size must be an Integer")
101
89
  end
102
90
 
103
91
  it "complains about 0 size INT, UINT, and FLOAT" do
@@ -122,13 +110,7 @@ module Cosmos
122
110
 
123
111
  describe "array_size=" do
124
112
  it "complains about bad array size types" do
125
- if 0.class == Integer
126
- # Ruby version >= 2.4.0
127
- expect { StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, "") }.to raise_error(ArgumentError, "TEST: array_size must be an Integer")
128
- else
129
- # Ruby version < 2.4.0
130
- expect { StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, "") }.to raise_error(ArgumentError, "TEST: array_size must be a Fixnum")
131
- end
113
+ expect { StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, "") }.to raise_error(ArgumentError, "TEST: array_size must be an Integer")
132
114
  end
133
115
 
134
116
  it "complains about array size != multiple of bit size" do
@@ -520,7 +520,7 @@ module Cosmos
520
520
 
521
521
  describe "open_file_browser" do
522
522
  it "opens a file browser" do
523
- unless ENV['TRAVIS']
523
+ unless ENV['CI']
524
524
  expect(Cosmos).to receive(:system).with(/#{Dir.pwd}/)
525
525
  Cosmos.open_file_browser(Dir.pwd)
526
526
  end
@@ -529,7 +529,7 @@ module Cosmos
529
529
 
530
530
  describe "open_in_text_editor" do
531
531
  it "opens the file in a text editor" do
532
- unless ENV['TRAVIS']
532
+ unless ENV['CI']
533
533
  expect(Cosmos).to receive(:system).with(/#{File.basename(__FILE__)}/)
534
534
  Cosmos.open_in_text_editor(__FILE__)
535
535
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cosmos
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.5.1
4
+ version: 4.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-09-21 00:00:00.000000000 Z
12
+ date: 2022-01-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -25,6 +25,20 @@ dependencies:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.3'
28
+ - !ruby/object:Gem::Dependency
29
+ name: psych
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '3.3'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '3.3'
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: rdoc
30
44
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +178,9 @@ dependencies:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
180
  version: '1.10'
181
+ - - "<"
182
+ - !ruby/object:Gem::Version
183
+ version: '1.13'
167
184
  type: :runtime
168
185
  prerelease: false
169
186
  version_requirements: !ruby/object:Gem::Requirement
@@ -171,6 +188,9 @@ dependencies:
171
188
  - - "~>"
172
189
  - !ruby/object:Gem::Version
173
190
  version: '1.10'
191
+ - - "<"
192
+ - !ruby/object:Gem::Version
193
+ version: '1.13'
174
194
  - !ruby/object:Gem::Dependency
175
195
  name: opengl-bindings
176
196
  requirement: !ruby/object:Gem::Requirement
@@ -482,15 +502,14 @@ extensions:
482
502
  - ext/mkrf_conf.rb
483
503
  extra_rdoc_files: []
484
504
  files:
485
- - ".coveralls.yml"
486
505
  - ".dockerignore"
487
506
  - ".gitattributes"
488
507
  - ".github/ISSUE_TEMPLATE/bug_report.md"
489
508
  - ".github/ISSUE_TEMPLATE/feature_request.md"
490
509
  - ".github/ISSUE_TEMPLATE/help---usage---general-question.md"
510
+ - ".github/workflows/build_v4.yml"
491
511
  - ".gitignore"
492
512
  - ".rubocop.yml"
493
- - ".travis.yml"
494
513
  - ".yardopts"
495
514
  - CONTRIBUTING.txt
496
515
  - Dockerfile
@@ -2287,7 +2306,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
2287
2306
  requirements:
2288
2307
  - - "~>"
2289
2308
  - !ruby/object:Gem::Version
2290
- version: '2.3'
2309
+ version: '2.4'
2291
2310
  required_rubygems_version: !ruby/object:Gem::Requirement
2292
2311
  requirements:
2293
2312
  - - ">="
data/.coveralls.yml DELETED
@@ -1 +0,0 @@
1
- service_name: travis-ci
data/.travis.yml DELETED
@@ -1,16 +0,0 @@
1
- env: JRUBY_OPTS=--debug
2
- dist: trusty
3
- language: ruby
4
- cache: bundler
5
- services:
6
- - postgresql
7
- rvm:
8
- - jruby-9.2.9.0
9
- - 2.6.5
10
- - 2.5.7
11
- - 2.4.9
12
- before_install:
13
- - sudo apt-get install -y libgl1-mesa-dev
14
- - gem update --system
15
- - gem install bundler
16
- script: bundle exec rake build spec