Skip to content

Commit

Permalink
#170 Change specs to regex checks instead of exact
Browse files Browse the repository at this point in the history
  • Loading branch information
jmthomas committed Jul 17, 2015
1 parent 936dfd4 commit 3d098ed
Show file tree
Hide file tree
Showing 11 changed files with 84 additions and 84 deletions.
24 changes: 12 additions & 12 deletions spec/packets/packet_config_spec.rb
Expand Up @@ -26,7 +26,7 @@ module Cosmos
tf = Tempfile.new('unittest')
tf.puts("BLAH")
tf.close
expect { @pc.process_file(tf.path, 'SYSTEM') }.to raise_error(ConfigParser::Error, "Unknown keyword 'BLAH'")
expect { @pc.process_file(tf.path, 'SYSTEM') }.to raise_error(ConfigParser::Error, /Unknown keyword 'BLAH'/)
tf.unlink
end

Expand All @@ -46,7 +46,7 @@ module Cosmos
tf = Tempfile.new('unittest')
tf.puts(keyword)
tf.close
expect { @pc.process_file(tf.path, "SYSTEM") }.to raise_error(ConfigParser::Error, "No current packet for #{keyword}")
expect { @pc.process_file(tf.path, "SYSTEM") }.to raise_error(ConfigParser::Error, /No current packet for #{keyword}/)
tf.unlink
end # end for each tlm_keywords
end
Expand All @@ -59,7 +59,7 @@ module Cosmos
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts keyword
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "No current item for #{keyword}")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /No current item for #{keyword}/)
tf.unlink
end
end
Expand Down Expand Up @@ -241,7 +241,7 @@ module Cosmos
tf.puts 'SELECT_TELEMETRY TGT PKT'
tf.puts ' SELECT_PARAMETER ITEM'
tf.close
expect { @pc.process_file(tf.path, "TGT") }.to raise_error(ConfigParser::Error, "SELECT_PARAMETER only applies to command packets")
expect { @pc.process_file(tf.path, "TGT") }.to raise_error(ConfigParser::Error, /SELECT_PARAMETER only applies to command packets/)
end

it "complains if the parameter is not found" do
Expand All @@ -259,7 +259,7 @@ module Cosmos
tf.puts ' SELECT_PARAMETER PARAMX'
tf.puts ' DESCRIPTION "New description"'
tf.close
expect { @pc.process_file(tf.path, "TGT") }.to raise_error(ConfigParser::Error, "PARAMX not found in command packet TGT PKT")
expect { @pc.process_file(tf.path, "TGT") }.to raise_error(ConfigParser::Error, /PARAMX not found in command packet TGT PKT/)
end
end

Expand All @@ -271,7 +271,7 @@ module Cosmos
tf.puts 'SELECT_COMMAND TGT PKT'
tf.puts ' SELECT_ITEM PARAM'
tf.close
expect { @pc.process_file(tf.path, "TGT") }.to raise_error(ConfigParser::Error, "SELECT_ITEM only applies to telemetry packets")
expect { @pc.process_file(tf.path, "TGT") }.to raise_error(ConfigParser::Error, /SELECT_ITEM only applies to telemetry packets/)
end

it "complains if the item is not found" do
Expand All @@ -289,7 +289,7 @@ module Cosmos
tf.puts ' SELECT_ITEM ITEMX'
tf.puts ' DESCRIPTION "New description"'
tf.close
expect { @pc.process_file(tf.path, "TGT") }.to raise_error(ConfigParser::Error, "ITEMX not found in telemetry packet TGT PKT")
expect { @pc.process_file(tf.path, "TGT") }.to raise_error(ConfigParser::Error, /ITEMX not found in telemetry packet TGT PKT/)
end
end

Expand Down Expand Up @@ -716,14 +716,14 @@ module Cosmos
tf.puts ' ITEM item1 0 8 UINT'
tf.puts ' REQUIRED'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "REQUIRED only applies to command parameters")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /REQUIRED only applies to command parameters/)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'COMMAND tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' REQUIRED'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "No current item for REQUIRED")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /No current item for REQUIRED/)
tf.unlink
end

Expand All @@ -748,23 +748,23 @@ module Cosmos
tf.puts ' APPEND_ITEM item1 16 UINT'
tf.puts ' MINIMUM_VALUE 1'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "MINIMUM_VALUE only applies to command parameters")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /MINIMUM_VALUE only applies to command parameters/)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' APPEND_ITEM item1 16 UINT'
tf.puts ' MAXIMUM_VALUE 3'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "MAXIMUM_VALUE only applies to command parameters")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /MAXIMUM_VALUE only applies to command parameters/)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' APPEND_ITEM item1 16 UINT'
tf.puts ' DEFAULT_VALUE 2'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "DEFAULT_VALUE only applies to command parameters")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /DEFAULT_VALUE only applies to command parameters/)
tf.unlink
end

Expand Down
6 changes: 3 additions & 3 deletions spec/packets/parsers/format_string_parser_spec.rb
Expand Up @@ -29,7 +29,7 @@ module Cosmos
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' FORMAT_STRING'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "No current item for FORMAT_STRING")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /No current item for FORMAT_STRING/)
tf.unlink
end

Expand Down Expand Up @@ -59,15 +59,15 @@ module Cosmos
tf.puts ' ITEM item1 0 8 INT'
tf.puts ' FORMAT_STRING "%*s"'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid FORMAT_STRING specified for type INT: %*s")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid FORMAT_STRING specified for type INT: \%\*s/)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' ITEM item1 0 8 STRING'
tf.puts ' FORMAT_STRING "%d"'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid FORMAT_STRING specified for type STRING: %d")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid FORMAT_STRING specified for type STRING: \%d/)
tf.unlink
end

Expand Down
20 changes: 10 additions & 10 deletions spec/packets/parsers/limits_parser_spec.rb
Expand Up @@ -28,7 +28,7 @@ module Cosmos
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' LIMITS mylimits 1 ENABLED 0 10 20 30 12 18'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "No current item for LIMITS")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /No current item for LIMITS/)
tf.unlink
end

Expand Down Expand Up @@ -157,31 +157,31 @@ module Cosmos
tf.puts ' APPEND_ITEM item1 16 UINT "Item"'
tf.puts ' LIMITS DEFAULT 3 ENABLED 2 1 3 4'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid limits specified. Ensure yellow limits are within red limits.")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid limits specified. Ensure yellow limits are within red limits./)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' APPEND_ITEM item1 16 UINT "Item"'
tf.puts ' LIMITS DEFAULT 3 ENABLED 1 5 3 7'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid limits specified. Ensure yellow limits are within red limits.")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid limits specified. Ensure yellow limits are within red limits./)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' APPEND_ITEM item1 16 UINT "Item"'
tf.puts ' LIMITS DEFAULT 3 ENABLED 1 2 5 4'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid limits specified. Ensure yellow limits are within red limits.")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid limits specified. Ensure yellow limits are within red limits./)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' APPEND_ITEM item1 16 UINT "Item"'
tf.puts ' LIMITS DEFAULT 3 ENABLED 1 2 3 0'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid limits specified. Ensure yellow limits are within red limits.")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid limits specified. Ensure yellow limits are within red limits./)
tf.unlink
end

Expand All @@ -191,39 +191,39 @@ module Cosmos
tf.puts ' APPEND_ITEM item1 16 UINT "Item"'
tf.puts ' LIMITS DEFAULT 3 ENABLED 1 2 6 7 0 5'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid limits specified. Ensure green limits are within yellow limits.")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid limits specified. Ensure green limits are within yellow limits./)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' APPEND_ITEM item1 16 UINT "Item"'
tf.puts ' LIMITS DEFAULT 3 ENABLED 1 3 6 7 2 5'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid limits specified. Ensure green limits are within yellow limits.")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid limits specified. Ensure green limits are within yellow limits./)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' APPEND_ITEM item1 16 UINT "Item"'
tf.puts ' LIMITS DEFAULT 3 ENABLED 1 2 6 8 3 7'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid limits specified. Ensure green limits are within yellow limits.")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid limits specified. Ensure green limits are within yellow limits./)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' APPEND_ITEM item1 16 UINT "Item"'
tf.puts ' LIMITS DEFAULT 3 ENABLED 1 2 6 8 3 9'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid limits specified. Ensure green limits are within yellow limits.")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid limits specified. Ensure green limits are within yellow limits./)
tf.unlink

tf = Tempfile.new('unittest')
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' APPEND_ITEM item1 16 UINT "Item"'
tf.puts ' LIMITS DEFAULT 3 ENABLED 1 2 6 8 4 3'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid limits specified. Ensure green limits are within yellow limits.")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid limits specified. Ensure green limits are within yellow limits./)
tf.unlink
end

Expand Down
4 changes: 2 additions & 2 deletions spec/packets/parsers/limits_response_parser_spec.rb
Expand Up @@ -28,7 +28,7 @@ module Cosmos
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' LIMITS_RESPONSE'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "No current item for LIMITS_RESPONSE")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /No current item for LIMITS_RESPONSE/)
tf.unlink
end

Expand All @@ -48,7 +48,7 @@ module Cosmos
tf.puts ' APPEND_PARAMETER item1 16 UINT 0 0 0 "Item"'
tf.puts ' LIMITS_RESPONSE test.rb'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "LIMITS_RESPONSE only applies to telemetry items")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /LIMITS_RESPONSE only applies to telemetry items/)
tf.unlink
end

Expand Down
2 changes: 1 addition & 1 deletion spec/packets/parsers/macro_parser_spec.rb
Expand Up @@ -27,7 +27,7 @@ module Cosmos
tf = Tempfile.new('unittest')
tf.puts ' MACRO_APPEND_START'
tf.close
expect { @pc.process_file(tf.path, "SYSTEM") }.to raise_error(ConfigParser::Error, "No current packet for MACRO_APPEND_START")
expect { @pc.process_file(tf.path, "SYSTEM") }.to raise_error(ConfigParser::Error, /No current packet for MACRO_APPEND_START/)
end

it "complains if there are not enough parameters" do
Expand Down
2 changes: 1 addition & 1 deletion spec/packets/parsers/packet_parser_spec.rb
Expand Up @@ -48,7 +48,7 @@ module Cosmos
tf = Tempfile.new('unittest')
tf.puts keyword + ' tgt1 pkt1 MIDDLE_ENDIAN "Packet"'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "Invalid endianness MIDDLE_ENDIAN. Must be BIG_ENDIAN or LITTLE_ENDIAN.")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /Invalid endianness MIDDLE_ENDIAN. Must be BIG_ENDIAN or LITTLE_ENDIAN./)
tf.unlink
end
end
Expand Down
4 changes: 2 additions & 2 deletions spec/packets/parsers/processor_parser_spec.rb
Expand Up @@ -28,7 +28,7 @@ module Cosmos
tf = Tempfile.new('unittest')
tf.puts('PROCESSOR')
tf.close
expect { @pc.process_file(tf.path, "SYSTEM") }.to raise_error(ConfigParser::Error, "No current packet for PROCESSOR")
expect { @pc.process_file(tf.path, "SYSTEM") }.to raise_error(ConfigParser::Error, /No current packet for PROCESSOR/)
tf.unlink
end

Expand Down Expand Up @@ -105,7 +105,7 @@ module Cosmos
tf.puts 'COMMAND tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts ' PROCESSOR P1 processor1.rb'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "PROCESSOR only applies to telemetry packets")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /PROCESSOR only applies to telemetry packets/)
tf.unlink
end
end
Expand Down
2 changes: 1 addition & 1 deletion spec/packets/parsers/state_parser_spec.rb
Expand Up @@ -29,7 +29,7 @@ module Cosmos
tf.puts 'TELEMETRY tgt1 pkt1 LITTLE_ENDIAN "Packet"'
tf.puts 'STATE'
tf.close
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, "No current item for STATE")
expect { @pc.process_file(tf.path, "TGT1") }.to raise_error(ConfigParser::Error, /No current item for STATE/)
tf.unlink
end

Expand Down

0 comments on commit 3d098ed

Please sign in to comment.