trema 0.4.6 → 0.4.7

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.
Files changed (291) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/.travis.yml +24 -7
  4. data/Gemfile +19 -27
  5. data/Guardfile +6 -0
  6. data/README.md +13 -5
  7. data/Rakefile +418 -415
  8. data/bin/quality +2 -2
  9. data/bin/trema +103 -105
  10. data/bin/trema-config +7 -7
  11. data/build.rb +2 -2
  12. data/cruise.rb +109 -83
  13. data/features/dsl/switch_port_specifier.feature +1 -1
  14. data/features/examples/dumper.feature +9 -41
  15. data/features/examples/hello_trema.feature +1 -1
  16. data/features/examples/learning_switch.feature +7 -7
  17. data/features/examples/list_switches.feature +5 -5
  18. data/features/examples/message.set_config.feature +11 -11
  19. data/features/examples/message.vendor-action.feature +7 -7
  20. data/features/examples/message.vendor-stats-request.feature +1 -1
  21. data/features/examples/multi_learning_switch.feature +7 -7
  22. data/features/examples/openflow_message.echo.feature +15 -15
  23. data/features/examples/openflow_message.features_request.feature +12 -12
  24. data/features/examples/openflow_message.hello.feature +13 -13
  25. data/features/examples/packet_in.feature +8 -8
  26. data/features/examples/patch_panel.feature +1 -1
  27. data/features/examples/repeater_hub.feature +7 -7
  28. data/features/examples/switch_info.feature +16 -16
  29. data/features/examples/switch_monitor.feature +11 -11
  30. data/features/examples/transparent_firewall.feature +73 -0
  31. data/features/handlers/switch_ready.feature +1 -1
  32. data/features/step_definitions/misc_steps.rb +24 -24
  33. data/features/step_definitions/send_packets_steps.rb +2 -2
  34. data/features/step_definitions/stats_steps.rb +6 -6
  35. data/features/support/env.rb +15 -15
  36. data/features/support/hooks.rb +9 -9
  37. data/features/switch_event/add_forward_entry.feature +3 -3
  38. data/features/switch_event/delete_forward_entry.feature +3 -3
  39. data/features/switch_event/dump_forward_entries.feature +2 -2
  40. data/features/switch_event/set_forward_entries.feature +2 -2
  41. data/features/trema_commands/dump_flows.feature +1 -0
  42. data/features/trema_commands/help.feature +1 -0
  43. data/features/trema_commands/help_option.feature +1 -0
  44. data/features/trema_commands/kill.feature +1 -0
  45. data/features/trema_commands/killall.feature +1 -0
  46. data/features/trema_commands/port_down.feature +1 -0
  47. data/features/trema_commands/port_up.feature +1 -0
  48. data/features/trema_commands/reset_stats.feature +1 -0
  49. data/features/trema_commands/run.feature +1 -0
  50. data/features/trema_commands/send_packets.feature +2 -1
  51. data/features/trema_commands/show_stats.feature +1 -0
  52. data/features/trema_commands/up.feature +1 -0
  53. data/features/trema_commands/version.feature +1 -0
  54. data/features/trema_commands/version_option.feature +1 -0
  55. data/rubocop-todo.yml +159 -0
  56. data/ruby/blocker.rb +15 -17
  57. data/ruby/extconf.rb +19 -19
  58. data/ruby/sub-process.rb +29 -29
  59. data/ruby/trema/aggregate-stats-reply.rb +2 -2
  60. data/ruby/trema/app.rb +13 -13
  61. data/ruby/trema/cli.rb +45 -45
  62. data/ruby/trema/command.rb +14 -14
  63. data/ruby/trema/command/dump_flows.rb +5 -5
  64. data/ruby/trema/command/kill.rb +13 -13
  65. data/ruby/trema/command/killall.rb +1 -1
  66. data/ruby/trema/command/netns.rb +3 -3
  67. data/ruby/trema/command/port_down.rb +7 -7
  68. data/ruby/trema/command/port_up.rb +7 -7
  69. data/ruby/trema/command/reset_stats.rb +6 -6
  70. data/ruby/trema/command/ruby.rb +2 -2
  71. data/ruby/trema/command/run.rb +23 -23
  72. data/ruby/trema/command/send_packets.rb +9 -9
  73. data/ruby/trema/command/shell.rb +14 -16
  74. data/ruby/trema/command/show_stats.rb +9 -9
  75. data/ruby/trema/command/up.rb +4 -4
  76. data/ruby/trema/command/version.rb +1 -1
  77. data/ruby/trema/controller.rb +10 -10
  78. data/ruby/trema/custom-switch.rb +4 -4
  79. data/ruby/trema/daemon.rb +21 -21
  80. data/ruby/trema/desc-stats-reply.rb +2 -2
  81. data/ruby/trema/dsl.rb +5 -5
  82. data/ruby/trema/dsl/configuration.rb +7 -7
  83. data/ruby/trema/dsl/context.rb +10 -10
  84. data/ruby/trema/dsl/custom-switch.rb +3 -3
  85. data/ruby/trema/dsl/link.rb +2 -2
  86. data/ruby/trema/dsl/netns.rb +9 -9
  87. data/ruby/trema/dsl/parser.rb +14 -14
  88. data/ruby/trema/dsl/rswitch.rb +3 -3
  89. data/ruby/trema/dsl/run.rb +4 -4
  90. data/ruby/trema/dsl/runner.rb +20 -20
  91. data/ruby/trema/dsl/stanza.rb +5 -5
  92. data/ruby/trema/dsl/switch.rb +14 -14
  93. data/ruby/trema/dsl/syntax.rb +54 -54
  94. data/ruby/trema/dsl/vhost.rb +9 -9
  95. data/ruby/trema/dsl/vswitch.rb +4 -4
  96. data/ruby/trema/enqueue.rb +11 -11
  97. data/ruby/trema/exact-match.rb +1 -1
  98. data/ruby/trema/executables.rb +19 -19
  99. data/ruby/trema/flow-stats-reply.rb +2 -2
  100. data/ruby/trema/flow.rb +8 -8
  101. data/ruby/trema/hardware-switch.rb +2 -2
  102. data/ruby/trema/host.rb +18 -18
  103. data/ruby/trema/link.rb +9 -9
  104. data/ruby/trema/mac.rb +1 -5
  105. data/ruby/trema/match.c +0 -1
  106. data/ruby/trema/monkey-patch/integer.rb +3 -3
  107. data/ruby/trema/monkey-patch/integer/base-conversions.rb +1 -1
  108. data/ruby/trema/monkey-patch/integer/ranges.rb +2 -2
  109. data/ruby/trema/monkey-patch/integer/validators.rb +1 -1
  110. data/ruby/trema/monkey-patch/module.rb +2 -2
  111. data/ruby/trema/monkey-patch/module/class-method.rb +2 -2
  112. data/ruby/trema/monkey-patch/module/deprecation.rb +1 -1
  113. data/ruby/trema/monkey-patch/string.rb +1 -1
  114. data/ruby/trema/monkey-patch/string/inflectors.rb +7 -7
  115. data/ruby/trema/netns.rb +6 -6
  116. data/ruby/trema/network-component.rb +7 -7
  117. data/ruby/trema/ofctl.rb +13 -13
  118. data/ruby/trema/open-vswitch.rb +25 -25
  119. data/ruby/trema/openflow-switch.rb +1 -1
  120. data/ruby/trema/ordered-hash.rb +8 -8
  121. data/ruby/trema/packet-in.c +0 -1
  122. data/ruby/trema/packet-queue.rb +8 -8
  123. data/ruby/trema/packetin-filter.rb +9 -9
  124. data/ruby/trema/path.rb +32 -32
  125. data/ruby/trema/phost.rb +5 -5
  126. data/ruby/trema/port-mod.c +0 -1
  127. data/ruby/trema/port-stats-reply.rb +2 -2
  128. data/ruby/trema/port-status-add.rb +2 -2
  129. data/ruby/trema/port-status-delete.rb +2 -2
  130. data/ruby/trema/port-status-modify.rb +2 -2
  131. data/ruby/trema/port.c +0 -1
  132. data/ruby/trema/process.rb +7 -7
  133. data/ruby/trema/queue-stats-reply.rb +2 -2
  134. data/ruby/trema/ruby-switch.rb +6 -6
  135. data/ruby/trema/send-out-port.rb +11 -11
  136. data/ruby/trema/set-eth-addr.rb +5 -5
  137. data/ruby/trema/set-eth-dst-addr.rb +1 -1
  138. data/ruby/trema/set-eth-src-addr.rb +1 -1
  139. data/ruby/trema/set-ip-addr.rb +6 -6
  140. data/ruby/trema/set-ip-dst-addr.rb +1 -1
  141. data/ruby/trema/set-ip-src-addr.rb +1 -1
  142. data/ruby/trema/set-ip-tos.rb +6 -6
  143. data/ruby/trema/set-transport-dst-port.rb +2 -2
  144. data/ruby/trema/set-transport-port.rb +7 -7
  145. data/ruby/trema/set-transport-src-port.rb +3 -3
  146. data/ruby/trema/set-vlan-priority.rb +6 -6
  147. data/ruby/trema/set-vlan-vid.rb +6 -6
  148. data/ruby/trema/shell.rb +10 -10
  149. data/ruby/trema/shell/down.rb +3 -3
  150. data/ruby/trema/shell/killall.rb +1 -1
  151. data/ruby/trema/shell/link.rb +14 -14
  152. data/ruby/trema/shell/reset_stats.rb +6 -6
  153. data/ruby/trema/shell/run.rb +7 -7
  154. data/ruby/trema/shell/send_packets.rb +3 -3
  155. data/ruby/trema/shell/show_stats.rb +7 -7
  156. data/ruby/trema/shell/up.rb +5 -5
  157. data/ruby/trema/shell/vhost.rb +4 -4
  158. data/ruby/trema/shell/vswitch.rb +7 -7
  159. data/ruby/trema/stats-helper.rb +3 -3
  160. data/ruby/trema/stats-reply.c +0 -1
  161. data/ruby/trema/strip-vlan-header.rb +1 -1
  162. data/ruby/trema/switch-daemon.rb +9 -9
  163. data/ruby/trema/switch-manager.rb +9 -9
  164. data/ruby/trema/switch.rb +7 -7
  165. data/ruby/trema/table-stats-reply.rb +2 -2
  166. data/ruby/trema/timers.rb +12 -12
  167. data/ruby/trema/trema.c +0 -1
  168. data/ruby/trema/tremashark.rb +1 -1
  169. data/ruby/trema/util.rb +25 -27
  170. data/ruby/trema/vendor-action.rb +10 -10
  171. data/ruby/trema/vendor-stats-reply.rb +2 -2
  172. data/ruby/trema/version.rb +1 -1
  173. data/spec/spec_helper.rb +50 -52
  174. data/spec/support/action.rb +9 -12
  175. data/spec/support/mandatory-option.rb +15 -18
  176. data/spec/support/matchers/constant.rb +7 -7
  177. data/spec/support/openflow-message.rb +76 -79
  178. data/spec/support/port-status.rb +7 -10
  179. data/spec/trema/app_spec.rb +27 -27
  180. data/spec/trema/barrier-reply_spec.rb +10 -10
  181. data/spec/trema/barrier-request_spec.rb +35 -35
  182. data/spec/trema/cli_spec.rb +63 -63
  183. data/spec/trema/controller_spec.rb +3 -3
  184. data/spec/trema/default-logger_spec.rb +4 -4
  185. data/spec/trema/dsl/configuration_spec.rb +47 -47
  186. data/spec/trema/dsl/link_spec.rb +11 -11
  187. data/spec/trema/dsl/run_spec.rb +19 -19
  188. data/spec/trema/dsl/runner_spec.rb +91 -91
  189. data/spec/trema/dsl/switch_spec.rb +16 -16
  190. data/spec/trema/dsl/syntax_spec.rb +22 -22
  191. data/spec/trema/dsl/vhost_spec.rb +37 -37
  192. data/spec/trema/dsl/vswitch_spec.rb +21 -21
  193. data/spec/trema/echo-reply_spec.rb +29 -29
  194. data/spec/trema/echo-request_spec.rb +54 -54
  195. data/spec/trema/enqueue_spec.rb +25 -25
  196. data/spec/trema/error_spec.rb +30 -30
  197. data/spec/trema/executables_spec.rb +20 -20
  198. data/spec/trema/features-reply_spec.rb +41 -41
  199. data/spec/trema/features-request_spec.rb +35 -35
  200. data/spec/trema/flow-mod_spec.rb +32 -32
  201. data/spec/trema/flow-removed_spec.rb +62 -62
  202. data/spec/trema/get-config-reply_spec.rb +14 -12
  203. data/spec/trema/get-config-request_spec.rb +35 -35
  204. data/spec/trema/hardware-switch_spec.rb +12 -12
  205. data/spec/trema/hello_spec.rb +17 -17
  206. data/spec/trema/host_spec.rb +71 -71
  207. data/spec/trema/link_spec.rb +13 -13
  208. data/spec/trema/list-switches-reply_spec.rb +10 -10
  209. data/spec/trema/match_spec.rb +41 -41
  210. data/spec/trema/open-vswitch_spec.rb +45 -45
  211. data/spec/trema/openflow-error_spec.rb +67 -65
  212. data/spec/trema/packet-in_spec.rb +450 -446
  213. data/spec/trema/packet-out_spec.rb +42 -42
  214. data/spec/trema/packetin-filter_spec.rb +5 -5
  215. data/spec/trema/port-mod_spec.rb +32 -32
  216. data/spec/trema/port-status-add_spec.rb +3 -3
  217. data/spec/trema/port-status-delete_spec.rb +3 -3
  218. data/spec/trema/port-status-modify_spec.rb +16 -16
  219. data/spec/trema/port-status_spec.rb +2 -2
  220. data/spec/trema/port_spec.rb +21 -21
  221. data/spec/trema/process_spec.rb +22 -22
  222. data/spec/trema/queue-get-config-reply_spec.rb +21 -20
  223. data/spec/trema/queue-get-config-request_spec.rb +24 -24
  224. data/spec/trema/send-out-port_spec.rb +42 -42
  225. data/spec/trema/set-config_spec.rb +31 -31
  226. data/spec/trema/set-eth-addr_spec.rb +21 -21
  227. data/spec/trema/set-ip-addr_spec.rb +29 -29
  228. data/spec/trema/set-ip-tos_spec.rb +26 -26
  229. data/spec/trema/set-transport-dst-port_spec.rb +22 -22
  230. data/spec/trema/set-transport-src-port_spec.rb +22 -22
  231. data/spec/trema/set-vlan-priority_spec.rb +23 -23
  232. data/spec/trema/set-vlan-vid_spec.rb +23 -23
  233. data/spec/trema/shell/vhost_spec.rb +21 -21
  234. data/spec/trema/shell/vswitch_spec.rb +30 -30
  235. data/spec/trema/stats-reply_spec.rb +183 -173
  236. data/spec/trema/stats-request_spec.rb +66 -66
  237. data/spec/trema/strip-vlan-header_spec.rb +11 -11
  238. data/spec/trema/switch-daemon_spec.rb +34 -34
  239. data/spec/trema/switch-disconnected_spec.rb +17 -17
  240. data/spec/trema/switch-manager_spec.rb +6 -6
  241. data/spec/trema/tremashark_spec.rb +4 -4
  242. data/spec/trema/util_spec.rb +35 -35
  243. data/spec/trema/vendor-action_spec.rb +26 -26
  244. data/spec/trema/vendor_spec.rb +27 -27
  245. data/spec/trema_spec.rb +2 -2
  246. data/src/examples/cbench_switch/cbench-switch.rb +3 -3
  247. data/src/examples/dumper/dumper.rb +31 -31
  248. data/src/examples/hello_trema/hello-trema.rb +2 -2
  249. data/src/examples/learning_switch/fdb.rb +14 -14
  250. data/src/examples/learning_switch/learning-switch.rb +12 -10
  251. data/src/examples/learning_switch/learning_switch.c +22 -39
  252. data/src/examples/list_switches/list-switches.rb +3 -3
  253. data/src/examples/match_compare/match-compare.rb +20 -20
  254. data/src/examples/multi_learning_switch/multi-learning-switch.rb +12 -12
  255. data/src/examples/openflow_message/echo.rb +4 -4
  256. data/src/examples/openflow_message/example.rb +7 -7
  257. data/src/examples/openflow_message/features-request.rb +31 -31
  258. data/src/examples/openflow_message/hello.rb +2 -2
  259. data/src/examples/openflow_message/set-config.rb +4 -4
  260. data/src/examples/openflow_message/vendor-action.rb +3 -3
  261. data/src/examples/openflow_message/vendor-stats-request.rb +9 -9
  262. data/src/examples/packet_in/packet-in.rb +2 -2
  263. data/src/examples/patch_panel/patch-panel.rb +9 -9
  264. data/src/examples/repeater_hub/repeater-hub.rb +4 -4
  265. data/src/examples/repeater_hub/repeater-hub_spec.rb +65 -65
  266. data/src/examples/simple_router/arp-table.rb +7 -7
  267. data/src/examples/simple_router/interface.rb +10 -10
  268. data/src/examples/simple_router/routing-table.rb +4 -4
  269. data/src/examples/simple_router/simple-router.rb +3 -3
  270. data/src/examples/switch_info/switch-info.rb +9 -9
  271. data/src/examples/switch_monitor/switch-monitor.rb +4 -4
  272. data/src/examples/traffic_monitor/counter.rb +6 -6
  273. data/src/examples/traffic_monitor/fdb.rb +4 -4
  274. data/src/examples/traffic_monitor/traffic-monitor.rb +12 -12
  275. data/src/examples/transparent_firewall/README.md +61 -0
  276. data/src/examples/transparent_firewall/aggregated-delegated-afrinic.txt +713 -0
  277. data/src/examples/transparent_firewall/aggregated-delegated-apnic.txt +3440 -0
  278. data/src/examples/transparent_firewall/aggregated-delegated-arin.txt +11342 -0
  279. data/src/examples/transparent_firewall/aggregated-delegated-lacnic.txt +1937 -0
  280. data/src/examples/transparent_firewall/aggregated-delegated-ripencc.txt +7329 -0
  281. data/src/examples/transparent_firewall/block-rfc1918.rb +86 -0
  282. data/src/examples/transparent_firewall/pass-delegated.rb +178 -0
  283. data/src/examples/transparent_firewall/regen_aggregated.sh +53 -0
  284. data/src/examples/transparent_firewall/stats-to-cidrs.rb +59 -0
  285. data/src/lib/messenger.c +14 -5
  286. data/src/lib/openflow_message.c +0 -5
  287. data/tasks/rubocop.rake +22 -0
  288. data/trema +1 -1
  289. data/trema-config +1 -1
  290. data/trema.gemspec +22 -22
  291. metadata +30 -16
@@ -16,22 +16,22 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
20
- require "trema"
19
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
20
+ require 'trema'
21
21
 
22
22
 
23
- describe BarrierReply, ".new( VALID OPTIONS )" do
24
- subject { BarrierReply.new( 0xabc, 1234 ) }
25
- its ( :datapath_id ) { should == 0xabc }
26
- its( :transaction_id ) { should == 1234 }
23
+ describe BarrierReply, '.new( VALID OPTIONS )' do
24
+ subject { BarrierReply.new(0xabc, 1234) }
25
+ its ( :datapath_id) { should == 0xabc }
26
+ its(:transaction_id) { should == 1234 }
27
27
  end
28
28
 
29
29
 
30
- describe BarrierReply, ".new( MANDATORY OPTIONS MISSING )" do
31
- it "should raise ArgumentError" do
32
- expect {
30
+ describe BarrierReply, '.new( MANDATORY OPTIONS MISSING )' do
31
+ it 'should raise ArgumentError' do
32
+ expect do
33
33
  BarrierReply.new
34
- }.to raise_error( ArgumentError )
34
+ end.to raise_error(ArgumentError)
35
35
  end
36
36
  end
37
37
 
@@ -16,71 +16,71 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
20
- require "trema"
19
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
20
+ require 'trema'
21
21
 
22
22
 
23
- shared_examples_for "barrier request message" do
23
+ shared_examples_for 'barrier request message' do
24
24
  class BarrierRequestController < Controller; end
25
25
 
26
26
  it "should be logged to the switch's log", :sudo => true do
27
- network {
28
- vswitch( "barrier-request" ) { datapath_id 0xabc }
29
- }.run( BarrierRequestController ) {
30
- controller( "BarrierRequestController" ).send_message( 0xabc, subject )
27
+ network do
28
+ vswitch('barrier-request') { datapath_id 0xabc }
29
+ end.run(BarrierRequestController) do
30
+ controller('BarrierRequestController').send_message(0xabc, subject)
31
31
  sleep 2 # FIXME: wait to send_message
32
- expect( IO.read( File.join( Trema.log, "openflowd.barrier-request.log" ) ) ).to include( "OFPT_BARRIER_REQUEST" )
33
- }
32
+ expect(IO.read(File.join(Trema.log, 'openflowd.barrier-request.log'))).to include('OFPT_BARRIER_REQUEST')
33
+ end
34
34
  end
35
35
  end
36
36
 
37
37
 
38
38
  module Trema
39
- describe BarrierRequest, ".new" do
40
- it_should_behave_like "any Openflow message with default transaction ID"
41
- it_should_behave_like "barrier request message"
39
+ describe BarrierRequest, '.new' do
40
+ it_should_behave_like 'any Openflow message with default transaction ID'
41
+ it_should_behave_like 'barrier request message'
42
42
  end
43
43
 
44
44
 
45
- describe BarrierRequest, ".new(nil)" do
46
- subject { BarrierRequest.new( nil ) }
47
- it_should_behave_like "any Openflow message with default transaction ID"
48
- it_should_behave_like "barrier request message"
45
+ describe BarrierRequest, '.new(nil)' do
46
+ subject { BarrierRequest.new(nil) }
47
+ it_should_behave_like 'any Openflow message with default transaction ID'
48
+ it_should_behave_like 'barrier request message'
49
49
  end
50
50
 
51
51
 
52
- describe BarrierRequest, ".new(transaction_id)" do
53
- subject { BarrierRequest.new( transaction_id ) }
54
- it_should_behave_like "any Openflow message with transaction ID"
55
- context "when sent to a switch" do
56
- let( :transaction_id ) { 123 }
57
- it_should_behave_like "barrier request message"
52
+ describe BarrierRequest, '.new(transaction_id)' do
53
+ subject { BarrierRequest.new(transaction_id) }
54
+ it_should_behave_like 'any Openflow message with transaction ID'
55
+ context 'when sent to a switch' do
56
+ let(:transaction_id) { 123 }
57
+ it_should_behave_like 'barrier request message'
58
58
  end
59
59
  end
60
60
 
61
61
 
62
- describe BarrierRequest, ".new(:transaction_id => value)" do
63
- subject { BarrierRequest.new( :transaction_id => transaction_id ) }
64
- it_should_behave_like "any Openflow message with transaction ID"
65
- context "when sent to a switch" do
66
- let( :transaction_id ) { 123 }
67
- it_should_behave_like "barrier request message"
62
+ describe BarrierRequest, '.new(:transaction_id => value)' do
63
+ subject { BarrierRequest.new(:transaction_id => transaction_id) }
64
+ it_should_behave_like 'any Openflow message with transaction ID'
65
+ context 'when sent to a switch' do
66
+ let(:transaction_id) { 123 }
67
+ it_should_behave_like 'barrier request message'
68
68
  end
69
69
  end
70
70
 
71
71
 
72
- describe BarrierRequest, ".new(:xid => value)" do
73
- subject { BarrierRequest.new( :xid => xid ) }
74
- it_should_behave_like "any Openflow message with xid"
75
- context "when sent to a switch" do
76
- let( :xid ) { 123 }
77
- it_should_behave_like "barrier request message"
72
+ describe BarrierRequest, '.new(:xid => value)' do
73
+ subject { BarrierRequest.new(:xid => xid) }
74
+ it_should_behave_like 'any Openflow message with xid'
75
+ context 'when sent to a switch' do
76
+ let(:xid) { 123 }
77
+ it_should_behave_like 'barrier request message'
78
78
  end
79
79
  end
80
80
 
81
81
 
82
82
  describe BarrierRequest, '.new("INVALID OPTION")', :nosudo => true do
83
- it { expect { BarrierRequest.new "INVALID OPTION" }.to raise_error( TypeError ) }
83
+ it { expect { BarrierRequest.new 'INVALID OPTION' }.to raise_error(TypeError) }
84
84
  end
85
85
  end
86
86
 
@@ -16,132 +16,132 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
20
- require "trema/cli"
19
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
20
+ require 'trema/cli'
21
21
 
22
22
 
23
23
  module Trema
24
24
  describe Cli do
25
25
  before :each do
26
- @source = mock( "source", :interface => "trema-0", :ip => "192.168.0.1" )
27
- @dest = mock( "dest", :interface => "trema-1", :ip => "192.168.0.2" )
28
- @cli = Cli.new( @source )
26
+ @source = mock('source', :interface => 'trema-0', :ip => '192.168.0.1')
27
+ @dest = mock('dest', :interface => 'trema-1', :ip => '192.168.0.2')
28
+ @cli = Cli.new(@source)
29
29
  end
30
30
 
31
31
 
32
- context "when sending packets" do
33
- it "should send packets (default)" do
34
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22$/ )
35
- @cli.send_packets( @dest )
32
+ context 'when sending packets' do
33
+ it 'should send packets (default)' do
34
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22$/)
35
+ @cli.send_packets(@dest)
36
36
  end
37
37
 
38
38
 
39
- it "should send packets (inc_ip_src)" do
40
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_ip_src$/ )
41
- @cli.send_packets( @dest, :inc_ip_src => true )
39
+ it 'should send packets (inc_ip_src)' do
40
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_ip_src$/)
41
+ @cli.send_packets(@dest, :inc_ip_src => true)
42
42
  end
43
43
 
44
44
 
45
- it "should send packets (inc_ip_src = 1)" do
46
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_ip_src=1$/ )
47
- @cli.send_packets( @dest, :inc_ip_src => 1 )
45
+ it 'should send packets (inc_ip_src = 1)' do
46
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_ip_src=1$/)
47
+ @cli.send_packets(@dest, :inc_ip_src => 1)
48
48
  end
49
49
 
50
50
 
51
- it "should send packets (inc_ip_dst)" do
52
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_ip_dst$/ )
53
- @cli.send_packets( @dest, :inc_ip_dst => true )
51
+ it 'should send packets (inc_ip_dst)' do
52
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_ip_dst$/)
53
+ @cli.send_packets(@dest, :inc_ip_dst => true)
54
54
  end
55
55
 
56
56
 
57
- it "should send packets (inc_ip_dst = 1)" do
58
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_ip_dst=1$/ )
59
- @cli.send_packets( @dest, :inc_ip_dst => 1 )
57
+ it 'should send packets (inc_ip_dst = 1)' do
58
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_ip_dst=1$/)
59
+ @cli.send_packets(@dest, :inc_ip_dst => 1)
60
60
  end
61
61
 
62
62
 
63
- it "should send_packets (tp_src = 60000)" do
64
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 60000 --tp_dst 1 --pps 1 --duration 1 --length 22$/ )
65
- @cli.send_packets( @dest, :tp_src => 60000 )
63
+ it 'should send_packets (tp_src = 60000)' do
64
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 60000 --tp_dst 1 --pps 1 --duration 1 --length 22$/)
65
+ @cli.send_packets(@dest, :tp_src => 60000)
66
66
  end
67
67
 
68
68
 
69
- it "should send_packets (tp_dst = 10000)" do
70
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 10000 --pps 1 --duration 1 --length 22$/ )
71
- @cli.send_packets( @dest, :tp_dst => 10000 )
69
+ it 'should send_packets (tp_dst = 10000)' do
70
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 10000 --pps 1 --duration 1 --length 22$/)
71
+ @cli.send_packets(@dest, :tp_dst => 10000)
72
72
  end
73
73
 
74
74
 
75
- it "should send packets (inc_tp_src)" do
76
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_tp_src$/ )
77
- @cli.send_packets( @dest, :inc_tp_src => true )
75
+ it 'should send packets (inc_tp_src)' do
76
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_tp_src$/)
77
+ @cli.send_packets(@dest, :inc_tp_src => true)
78
78
  end
79
79
 
80
80
 
81
- it "should send packets (inc_tp_src = 1)" do
82
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_tp_src=1$/ )
83
- @cli.send_packets( @dest, :inc_tp_src => 1 )
81
+ it 'should send packets (inc_tp_src = 1)' do
82
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_tp_src=1$/)
83
+ @cli.send_packets(@dest, :inc_tp_src => 1)
84
84
  end
85
85
 
86
86
 
87
- it "should send_packets (pps = 100)" do
88
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 100 --duration 1 --length 22$/ )
89
- @cli.send_packets( @dest, :pps => 100 )
87
+ it 'should send_packets (pps = 100)' do
88
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 100 --duration 1 --length 22$/)
89
+ @cli.send_packets(@dest, :pps => 100)
90
90
  end
91
91
 
92
92
 
93
- it "should send packets (duration = 10)" do
94
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 10 --length 22$/ )
95
- @cli.send_packets( @dest, :duration => 10 )
93
+ it 'should send packets (duration = 10)' do
94
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 10 --length 22$/)
95
+ @cli.send_packets(@dest, :duration => 10)
96
96
  end
97
97
 
98
98
 
99
- it "should send packets (length = 1000)" do
100
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 1000$/ )
101
- @cli.send_packets( @dest, :length => 1000 )
99
+ it 'should send packets (length = 1000)' do
100
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 1000$/)
101
+ @cli.send_packets(@dest, :length => 1000)
102
102
  end
103
103
 
104
104
 
105
- it "should send_packets (inc_tp_dst)" do
106
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_tp_dst$/ )
107
- @cli.send_packets( @dest, :inc_tp_dst => true )
105
+ it 'should send_packets (inc_tp_dst)' do
106
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_tp_dst$/)
107
+ @cli.send_packets(@dest, :inc_tp_dst => true)
108
108
  end
109
109
 
110
110
 
111
- it "should send_packets (inc_tp_dst = 65534)" do
112
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_tp_dst=65534$/ )
113
- @cli.send_packets( @dest, :inc_tp_dst => 65534 )
111
+ it 'should send_packets (inc_tp_dst = 65534)' do
112
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_tp_dst=65534$/)
113
+ @cli.send_packets(@dest, :inc_tp_dst => 65534)
114
114
  end
115
115
 
116
116
 
117
- it "should send_packets (inc_payload)" do
118
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_payload$/ )
119
- @cli.send_packets( @dest, :inc_payload => true )
117
+ it 'should send_packets (inc_payload)' do
118
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_payload$/)
119
+ @cli.send_packets(@dest, :inc_payload => true)
120
120
  end
121
121
 
122
122
 
123
- it "should send_packets (inc_payload = 1000)" do
124
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_payload=1000$/ )
125
- @cli.send_packets( @dest, :inc_payload => 1000 )
123
+ it 'should send_packets (inc_payload = 1000)' do
124
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --duration 1 --length 22 --inc_payload=1000$/)
125
+ @cli.send_packets(@dest, :inc_payload => 1000)
126
126
  end
127
127
 
128
128
 
129
- it "should send_packets (n_pkts = 10)" do
130
- @cli.should_receive( :sh ).with( /cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --length 22 --n_pkts=10$/ )
131
- @cli.send_packets( @dest, :n_pkts => 10 )
129
+ it 'should send_packets (n_pkts = 10)' do
130
+ @cli.should_receive(:sh).with(/cli -i trema-0 send_packets --ip_src 192.168.0.1 --ip_dst 192.168.0.2 --tp_src 1 --tp_dst 1 --pps 1 --length 22 --n_pkts=10$/)
131
+ @cli.send_packets(@dest, :n_pkts => 10)
132
132
  end
133
133
 
134
134
 
135
- it "should raise if both --duration and --n_pkts are specified" do
136
- expect { @cli.send_packets( @dest, :duration => 10, :n_pkts => 10 ) }.to raise_error( "--duration and --n_pkts are exclusive." )
135
+ it 'should raise if both --duration and --n_pkts are specified' do
136
+ expect { @cli.send_packets(@dest, :duration => 10, :n_pkts => 10) }.to raise_error('--duration and --n_pkts are exclusive.')
137
137
  end
138
138
  end
139
139
 
140
140
 
141
- context "when resetting stats" do
142
- it "should reset_stats" do
143
- @cli.should_receive( :sh ).with( /cli -i trema-0 reset_stats --tx$/ )
144
- @cli.should_receive( :sh ).with( /cli -i trema-0 reset_stats --rx$/ )
141
+ context 'when resetting stats' do
142
+ it 'should reset_stats' do
143
+ @cli.should_receive(:sh).with(/cli -i trema-0 reset_stats --tx$/)
144
+ @cli.should_receive(:sh).with(/cli -i trema-0 reset_stats --rx$/)
145
145
  @cli.reset_stats
146
146
  end
147
147
  end
@@ -16,8 +16,8 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
20
- require "trema"
19
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
20
+ require 'trema'
21
21
 
22
22
 
23
23
  module Trema
@@ -35,7 +35,7 @@ module Trema
35
35
  it { should have_constant :OFPP_NONE }
36
36
 
37
37
 
38
- context ".new" do
38
+ context '.new' do
39
39
  subject { Controller.new }
40
40
 
41
41
  it { should respond_to :critical }
@@ -16,18 +16,18 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
20
- require "trema"
19
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
20
+ require 'trema'
21
21
 
22
22
 
23
23
  module Trema
24
24
  describe DefaultLogger do
25
- subject {
25
+ subject do
26
26
  class LoggingObject
27
27
  include Trema::DefaultLogger
28
28
  end
29
29
  LoggingObject.new
30
- }
30
+ end
31
31
 
32
32
  it { should respond_to :critical }
33
33
  it { should respond_to :error }
@@ -16,8 +16,8 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "..", "spec_helper" )
20
- require "trema/dsl/configuration"
19
+ require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
20
+ require 'trema/dsl/configuration'
21
21
 
22
22
 
23
23
  module Trema
@@ -28,84 +28,84 @@ module Trema
28
28
  end
29
29
 
30
30
 
31
- context "when parsing trema configurations" do
32
- it "should remember apps" do
33
- expect( @context ).to have( 0 ).apps
31
+ context 'when parsing trema configurations' do
32
+ it 'should remember apps' do
33
+ expect(@context).to have(0).apps
34
34
 
35
- Trema::App.add mock( "app #0", :name => "app #0" )
36
- Trema::App.add mock( "app #1", :name => "app #1" )
37
- Trema::App.add mock( "app #2", :name => "app #2" )
35
+ Trema::App.add mock('app #0', :name => 'app #0')
36
+ Trema::App.add mock('app #1', :name => 'app #1')
37
+ Trema::App.add mock('app #2', :name => 'app #2')
38
38
 
39
- expect( @context ).to have( 3 ).apps
39
+ expect(@context).to have(3).apps
40
40
 
41
- expect( @context.apps[ "app #0" ].name ).to eq( "app #0" )
42
- expect( @context.apps[ "app #1" ].name ).to eq( "app #1" )
43
- expect( @context.apps[ "app #2" ].name ).to eq( "app #2" )
41
+ expect(@context.apps[ 'app #0'].name).to eq('app #0')
42
+ expect(@context.apps[ 'app #1'].name).to eq('app #1')
43
+ expect(@context.apps[ 'app #2'].name).to eq('app #2')
44
44
  end
45
45
 
46
46
 
47
- it "should remember hosts" do
48
- expect( @context ).to have( 0 ).hosts
47
+ it 'should remember hosts' do
48
+ expect(@context).to have(0).hosts
49
49
 
50
- Trema::Host.add mock( "host #0", :name => "host #0" )
51
- Trema::Host.add mock( "host #1", :name => "host #1" )
52
- Trema::Host.add mock( "host #2", :name => "host #2" )
50
+ Trema::Host.add mock('host #0', :name => 'host #0')
51
+ Trema::Host.add mock('host #1', :name => 'host #1')
52
+ Trema::Host.add mock('host #2', :name => 'host #2')
53
53
 
54
- expect( @context ).to have( 3 ).hosts
54
+ expect(@context).to have(3).hosts
55
55
 
56
- expect( @context.hosts[ "host #0" ].name ).to eq( "host #0" )
57
- expect( @context.hosts[ "host #1" ].name ).to eq( "host #1" )
58
- expect( @context.hosts[ "host #2" ].name ).to eq( "host #2" )
56
+ expect(@context.hosts[ 'host #0'].name).to eq('host #0')
57
+ expect(@context.hosts[ 'host #1'].name).to eq('host #1')
58
+ expect(@context.hosts[ 'host #2'].name).to eq('host #2')
59
59
  end
60
60
 
61
61
 
62
- it "should remember links" do
63
- expect( @context ).to have( 0 ).links
62
+ it 'should remember links' do
63
+ expect(@context).to have(0).links
64
64
 
65
- Trema::Link.add mock( "link #0", :name => "link #0" )
66
- Trema::Link.add mock( "link #1", :name => "link #1" )
67
- Trema::Link.add mock( "link #2", :name => "link #2" )
65
+ Trema::Link.add mock('link #0', :name => 'link #0')
66
+ Trema::Link.add mock('link #1', :name => 'link #1')
67
+ Trema::Link.add mock('link #2', :name => 'link #2')
68
68
 
69
- expect( @context ).to have( 3 ).links
69
+ expect(@context).to have(3).links
70
70
 
71
- expect( @context.links[ "link #0" ].name ).to eq( "link #0" )
72
- expect( @context.links[ "link #1" ].name ).to eq( "link #1" )
73
- expect( @context.links[ "link #2" ].name ).to eq( "link #2" )
71
+ expect(@context.links[ 'link #0'].name).to eq('link #0')
72
+ expect(@context.links[ 'link #1'].name).to eq('link #1')
73
+ expect(@context.links[ 'link #2'].name).to eq('link #2')
74
74
  end
75
75
 
76
76
 
77
- it "should remember filter settings" do
78
- expect( @context.packetin_filter ).to be_nil
77
+ it 'should remember filter settings' do
78
+ expect(@context.packetin_filter).to be_nil
79
79
 
80
- packetin_filter = mock( "filter", :name => "filter" )
80
+ packetin_filter = mock('filter', :name => 'filter')
81
81
  Trema::PacketinFilter.add packetin_filter
82
82
 
83
- expect( @context.packetin_filter ).to eq( packetin_filter )
83
+ expect(@context.packetin_filter).to eq(packetin_filter)
84
84
  end
85
85
 
86
86
 
87
- it "should remember switch manager" do
88
- expect( @context.switch_manager ).to be_nil
87
+ it 'should remember switch manager' do
88
+ expect(@context.switch_manager).to be_nil
89
89
 
90
- switch_manager = mock( "switch manager", :name => "switch manager" )
90
+ switch_manager = mock('switch manager', :name => 'switch manager')
91
91
  Trema::SwitchManager.add switch_manager
92
92
 
93
- expect( @context.switch_manager ).to eq( switch_manager )
93
+ expect(@context.switch_manager).to eq(switch_manager)
94
94
  end
95
95
 
96
96
 
97
- it "should remember switches" do
98
- expect( @context ).to have( 0 ).switches
97
+ it 'should remember switches' do
98
+ expect(@context).to have(0).switches
99
99
 
100
- Trema::OpenflowSwitch.add mock( "switch #0", :name => "switch #0" )
101
- Trema::OpenflowSwitch.add mock( "switch #1", :name => "switch #1" )
102
- Trema::OpenflowSwitch.add mock( "switch #2", :name => "switch #2" )
100
+ Trema::OpenflowSwitch.add mock('switch #0', :name => 'switch #0')
101
+ Trema::OpenflowSwitch.add mock('switch #1', :name => 'switch #1')
102
+ Trema::OpenflowSwitch.add mock('switch #2', :name => 'switch #2')
103
103
 
104
- expect( @context ).to have( 3 ).switches
104
+ expect(@context).to have(3).switches
105
105
 
106
- expect( @context.switches[ "switch #0" ].name ).to eq( "switch #0" )
107
- expect( @context.switches[ "switch #1" ].name ).to eq( "switch #1" )
108
- expect( @context.switches[ "switch #2" ].name ).to eq( "switch #2" )
106
+ expect(@context.switches[ 'switch #0'].name).to eq('switch #0')
107
+ expect(@context.switches[ 'switch #1'].name).to eq('switch #1')
108
+ expect(@context.switches[ 'switch #2'].name).to eq('switch #2')
109
109
  end
110
110
  end
111
111
  end