From 20c31ed15caf62ae95c393fafbd9366f4b36cf3b Mon Sep 17 00:00:00 2001 From: Ryan Melton Date: Tue, 28 Mar 2017 14:23:46 -0600 Subject: [PATCH] closes #412. Check queue size to subscribe_packet_data --- lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb | 4 ++++ spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb b/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb index 1d060342d..d033655f4 100644 --- a/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +++ b/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb @@ -431,6 +431,10 @@ def self.subscribe_packet_data(packets, raise ArgumentError, "packets must be nested array: [['TGT','PKT'],...]" end + unless queue_size.is_a? Integer and queue_size > 0 + raise ArgumentError, "Invalid queue size for subscribe_packet_data: #{queue_size}" + end + id = nil upcase_packets = [] diff --git a/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb b/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb index 1a77e3b09..e647ac4c5 100644 --- a/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +++ b/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb @@ -269,6 +269,10 @@ module Cosmos end describe "self.subscribe_packet_data" do + it "rejects bad queue sizes" do + expect{ CmdTlmServer.subscribe_packet_data([["COSMOS","VERSION"]], true) }.to raise_error(ArgumentError) + end + it "subscribes to packets" do version = System.telemetry.packet("COSMOS","VERSION") allow_any_instance_of(Interface).to receive(:read) do