acpc_dealer 2.4.1 → 3.0.0

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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/Brickfile +6 -0
  3. data/README.md +7 -6
  4. data/Rakefile +30 -14
  5. data/acpc_dealer.gemspec +2 -1
  6. data/bin/acpc_dealer +4 -0
  7. data/ext/hand_evaluator/extconf.rb +10 -0
  8. data/lib/acpc_dealer/version.rb +1 -1
  9. data/lib/hand_evaluator.bundle +0 -0
  10. data/spec/dealer_runner_spec.rb +76 -72
  11. metadata +19 -82
  12. data/vendor/project_acpc_server/LICENCE +0 -23
  13. data/vendor/project_acpc_server/Makefile +0 -35
  14. data/vendor/project_acpc_server/README +0 -113
  15. data/vendor/project_acpc_server/README.submission +0 -42
  16. data/vendor/project_acpc_server/acpc_play_match.pl +0 -101
  17. data/vendor/project_acpc_server/bm_run_matches.c +0 -238
  18. data/vendor/project_acpc_server/bm_server.c +0 -1604
  19. data/vendor/project_acpc_server/bm_server.config +0 -78
  20. data/vendor/project_acpc_server/bm_widget.c +0 -230
  21. data/vendor/project_acpc_server/dealer.c +0 -1293
  22. data/vendor/project_acpc_server/evalHandTables +0 -4269
  23. data/vendor/project_acpc_server/example_player.c +0 -204
  24. data/vendor/project_acpc_server/example_player.limit.2p.sh +0 -3
  25. data/vendor/project_acpc_server/example_player.limit.3p.sh +0 -3
  26. data/vendor/project_acpc_server/example_player.nolimit.2p.sh +0 -3
  27. data/vendor/project_acpc_server/example_player.nolimit.3p.sh +0 -3
  28. data/vendor/project_acpc_server/game.c +0 -1792
  29. data/vendor/project_acpc_server/game.h +0 -253
  30. data/vendor/project_acpc_server/holdem.limit.2p.reverse_blinds.game +0 -13
  31. data/vendor/project_acpc_server/holdem.limit.3p.game +0 -13
  32. data/vendor/project_acpc_server/holdem.nolimit.2p.reverse_blinds.game +0 -12
  33. data/vendor/project_acpc_server/holdem.nolimit.3p.game +0 -12
  34. data/vendor/project_acpc_server/kuhn.limit.3p.game +0 -14
  35. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player.sf1.sh +0 -3
  36. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player.sf2.sh +0 -3
  37. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player.sf3.sh +0 -3
  38. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/LICENCE +0 -23
  39. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/Makefile +0 -127
  40. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/README.md +0 -35
  41. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/CExceptionConfig.h +0 -12
  42. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/dealer_connection.c +0 -49
  43. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/dealer_connection.h +0 -22
  44. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/kuhn_3p_equilibrium_player.c +0 -483
  45. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/kuhn_3p_equilibrium_player.h +0 -108
  46. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/main.c +0 -84
  47. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/player_config.c +0 -253
  48. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/player_config.h +0 -21
  49. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/support/test_helper.c +0 -45
  50. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/support/test_helper.h +0 -27
  51. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/test_kuhn_3p_equilibrium_player.c +0 -698
  52. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/test_kuhn_3p_equilibrium_player_sub_family_1.c +0 -324
  53. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/test_kuhn_3p_equilibrium_player_sub_family_2.c +0 -262
  54. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/test_kuhn_3p_equilibrium_player_sub_family_3.c +0 -177
  55. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/docs/license.txt +0 -30
  56. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/docs/readme.txt +0 -242
  57. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/lib/CException.c +0 -43
  58. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/lib/CException.h +0 -86
  59. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/release/build.info +0 -2
  60. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/release/version.info +0 -2
  61. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/History.md +0 -27
  62. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/Makefile +0 -8
  63. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/Readme.md +0 -103
  64. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/package.json +0 -9
  65. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/src/commander.c +0 -250
  66. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/src/commander.h +0 -88
  67. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/test.c +0 -34
  68. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/colour_prompt.rb +0 -94
  69. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/colour_reporter.rb +0 -39
  70. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/generate_config.yml +0 -36
  71. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/generate_module.rb +0 -202
  72. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/generate_test_runner.rb +0 -316
  73. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/test_file_filter.rb +0 -23
  74. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/unity_test_summary.rb +0 -139
  75. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/docs/Unity Summary.txt +0 -216
  76. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/docs/license.txt +0 -31
  77. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/release/build.info +0 -2
  78. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/release/version.info +0 -2
  79. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/src/unity.c +0 -1146
  80. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/src/unity.h +0 -245
  81. data/vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/src/unity_internals.h +0 -546
  82. data/vendor/project_acpc_server/net.c +0 -218
  83. data/vendor/project_acpc_server/net.h +0 -62
  84. data/vendor/project_acpc_server/play_match.pl +0 -99
  85. data/vendor/project_acpc_server/protocol.md +0 -239
  86. data/vendor/project_acpc_server/protocol.odt +0 -0
  87. data/vendor/project_acpc_server/protocol.pdf +0 -0
  88. data/vendor/project_acpc_server/rng.c +0 -139
  89. data/vendor/project_acpc_server/rng.h +0 -63
  90. data/vendor/project_acpc_server/validate_submission.pl +0 -546
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c4fa53f651257274bf2aef2413cce48c12293cc2
4
- data.tar.gz: df26215d5c964c16c787474f3e3a903979eabec0
3
+ metadata.gz: 542b5073d045209f50bb901d42889333d11cf2c6
4
+ data.tar.gz: d2d0ca0919f50b6a8c74e94e45ce3d3785375a5a
5
5
  SHA512:
6
- metadata.gz: b3d5cf620ff3c03cd4e1fcf9c881866288eeae0e2020dbe7a5d5ad16e8140d840e2f200f26d20a838ef0c6ef5db9613bd0da81741a376a87fe76c6136a0603c2
7
- data.tar.gz: f315138fc37434e1941dab2c8c0adf237e7b31fa12f25ceecfbea45960a3b7220153f59509a2b9c609dcf22f7aded0a4543cf58893a27b33d0f8d9443f3cfec8
6
+ metadata.gz: 02b2d87deefe40a81943b2294f1d8782fc90ebc22c1119653f3257aa680ce784037e860f0c7b55a96af47c10dd83745047c14b5bea4680e428215c97e282fbb2
7
+ data.tar.gz: 905ddacae6985df06de5155353b6bb6c2b995a60583830158106318cf39f6fd255f79a88680cd309fb08b7afbbf1c8a6f38d2640be54305622f47aba21a71d28
data/Brickfile ADDED
@@ -0,0 +1,6 @@
1
+ -
2
+ name: project_acpc_server
3
+ version: 41
4
+ location:
5
+ method: svn
6
+ url: http://www.computerpokercompetition.org/repos/project_acpc_server/trunk/
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  ACPC Dealer
2
2
  ============
3
3
 
4
+ [![Build Status](https://travis-ci.org/dmorrill10/acpc_dealer.svg?branch=master)](https://travis-ci.org/dmorrill10/acpc_dealer)
5
+
4
6
  The [Annual Computer Poker Competition Dealer][ACPC Dealer GitHub] gem wraps the [<em>ACPC Dealer Server</em>][ACPC competition server] in a handy gem with a convenient runner class, and a script for compiling and running the dealer and example players.
5
7
 
6
8
  ## Installation
@@ -17,15 +19,11 @@ Or install it yourself as:
17
19
 
18
20
  $ gem install acpc_dealer
19
21
 
20
- Then run (may need to restart your terminal first):
21
-
22
- $ acpc_dealer --compile
23
- to compile the ACPC Dealer and example players.
24
22
 
25
23
  ## Usage
26
24
 
27
25
  Run
28
-
26
+
29
27
  $ acpc_dealer -h
30
28
  to see a list of commands available in the command line interface.
31
29
 
@@ -45,9 +43,12 @@ See the [issue tracker](https://github.com/dmorrill10/acpc_dealer/issues) for cu
45
43
  4. Push to the branch (`git push origin my-new-feature`)
46
44
  5. Create new Pull Request
47
45
 
46
+ Please test your changes, otherwise I may not be able to find the time to
47
+ incorporate them into this project.
48
+
48
49
  Copyright
49
50
  ---------
50
- Copyright &copy; 2012 by the Computer Poker Research Group, University of Alberta. See [LICENSE](LICENSE.md) for details.
51
+ Copyright &copy; 2012-2017 by the Computer Poker Research Group, University of Alberta. See [LICENSE](LICENSE.md) for details.
51
52
 
52
53
 
53
54
  <!---
data/Rakefile CHANGED
@@ -8,15 +8,19 @@ require 'rubygems/package_task'
8
8
 
9
9
  require File.expand_path('../lib/acpc_dealer/version', __FILE__)
10
10
 
11
- desc 'Build gem'
12
- task :default => [:test]
11
+ task :default => :test
13
12
 
14
- task :compile => ['dealer:clean', 'dealer:compile']
13
+ desc 'Compile hand_evaluator and dealer'
14
+ task :compile => ['compile:hand_evaluator', 'compile:dealer']
15
15
 
16
+ desc 'Run tests'
16
17
  task :test => :compile
17
18
 
18
19
  task :build => :clean
19
20
 
21
+ desc 'Remove compiled products'
22
+ task :clean => ['clean:hand_evaluator', 'clean:dealer']
23
+
20
24
  Rake::TestTask.new do |t|
21
25
  t.libs << "lib" << 'spec/support'
22
26
  t.test_files = FileList['spec/**/*_spec.rb']
@@ -28,25 +32,37 @@ def gemspec
28
32
  @clean_gemspec ||= eval(File.read(File.expand_path('../acpc_dealer.gemspec', __FILE__)))
29
33
  end
30
34
 
31
- Gem::PackageTask.new(gemspec) { |pkg| }
35
+ Gem::PackageTask.new(gemspec)
32
36
  Rake::ExtensionTask.new('hand_evaluator', gemspec)
33
37
 
34
- task :clean => 'dealer:clean' do
35
- sh "rm -f lib/hand_evaluator.so"
36
- end
37
-
38
- namespace :dealer do
38
+ namespace :compile do
39
39
  desc 'Compile ACPC dealer'
40
- task :compile do
40
+ task :dealer do
41
41
  Dir.chdir(File.expand_path('../vendor/project_acpc_server', __FILE__)) do
42
42
  sh "make"
43
43
  end
44
44
  end
45
+ end
46
+
47
+ namespace :clean do
48
+ desc 'Clean hand_evaluator'
49
+ task :hand_evaluator do
50
+ Dir.chdir(File.expand_path('../ext/hand_evaluator', __FILE__)) do
51
+ begin
52
+ sh 'make clean'
53
+ rescue
54
+ end
55
+ end
56
+ sh "rm -f #{File.expand_path('../lib/hand_evaluator.so', __FILE__)}"
57
+ end
45
58
 
46
59
  desc 'Clean ACPC dealer'
47
- task :clean do
48
- Dir.chdir(File.expand_path('../vendor/project_acpc_server', __FILE__)) do
49
- sh "make clean"
60
+ task :dealer do
61
+ begin
62
+ Dir.chdir(File.expand_path('../vendor/project_acpc_server', __FILE__)) do
63
+ sh "make clean"
64
+ end
65
+ rescue Errno::ENOENT
50
66
  end
51
67
  end
52
- end
68
+ end
data/acpc_dealer.gemspec CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |gem|
15
15
  gem.add_dependency 'clive', '~> 1.2'
16
16
  gem.add_dependency 'process_runner', '~> 0.0'
17
17
  gem.add_dependency 'rake-compiler', '~> 0.8'
18
+ gem.add_dependency 'brick_and_mortar'
18
19
 
19
20
  gem.add_development_dependency 'minitest', '~> 5.0'
20
21
  gem.add_development_dependency 'mocha', '~> 0.13'
@@ -22,7 +23,7 @@ Gem::Specification.new do |gem|
22
23
  gem.add_development_dependency 'simplecov', '~> 0.7'
23
24
 
24
25
  gem.files = Dir.glob("lib/**/*") + Dir.glob("ext/**/*") + Dir.glob('*.gemspec') +
25
- %w(Rakefile README.md) + Dir.glob('spec/**/*') + Dir.glob("vendor/**/*")
26
+ %w(Rakefile README.md Brickfile) + Dir.glob('spec/**/*')
26
27
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
27
28
  gem.extensions = Dir.glob("ext/**/extconf.rb")
28
29
  gem.require_paths = ["lib"]
data/bin/acpc_dealer CHANGED
@@ -31,6 +31,10 @@ class AcpcDealerCli < Clive
31
31
  game_def
32
32
  end
33
33
 
34
+ opt :v, :version, "Display version" do
35
+ puts AcpcDealer::VERSION
36
+ end
37
+
34
38
  command :compile, 'Compiles the ACPC Dealer program' do
35
39
  opt :c, :clean, 'Do a clean and full recompile' do
36
40
  print 'Cleaning...'
@@ -2,4 +2,14 @@
2
2
  #Run 'ruby -r mkmf extconf.rb' to generate a Makefile
3
3
 
4
4
  require 'mkmf'
5
+ root_dir = File.expand_path('../../../', __FILE__)
6
+ Dir.chdir(root_dir) do
7
+ command = "mortar --store #{File.join(root_dir, '.bricks')}"
8
+ puts "Getting Bricks (non-gem dependencies): `#{command}`"
9
+ system command
10
+
11
+ command = 'rake compile:dealer'
12
+ puts "Compiling project_acpc_server: `#{command}`"
13
+ system command
14
+ end
5
15
  create_makefile("hand_evaluator")
@@ -1,3 +1,3 @@
1
1
  module AcpcDealer
2
- VERSION = "2.4.1"
2
+ VERSION = "3.0.0"
3
3
  end
Binary file
@@ -1,5 +1,5 @@
1
1
  require_relative 'support/spec_helper'
2
-
2
+ require 'timeout'
3
3
  require 'socket'
4
4
  require 'tmpdir'
5
5
 
@@ -8,13 +8,35 @@ require_relative '../lib/acpc_dealer/dealer_runner'
8
8
  include AcpcDealer
9
9
 
10
10
  describe DealerRunner do
11
- before do
12
- reset_state!
11
+ let(:various_numbers_of_players) { [2, 3] }
12
+
13
+ def cleanup(pid)
14
+ Process.kill 'KILL', pid
15
+ begin
16
+ Timeout::timeout(3) do
17
+ Process.getpgid(pid)
18
+ sleep 0.2
19
+ end
20
+ rescue Errno::ESRCH
21
+ else
22
+ ->() { Process.getpgid(pid) }.must_raise Errno::ESRCH
23
+ end
24
+ end
25
+
26
+ def check_process_exists(pid)
27
+ Process.getpgid(pid)
28
+ rescue Errno::ESRCH => e
29
+ flunk "Dealer with pid #{pid} does not exist: #{e.message}"
13
30
  end
14
31
 
15
- def reset_state!
16
- @pid = nil
17
- @port_numbers = nil
32
+ def check_ports_are_in_use(port_numbers)
33
+ port_numbers.each do |port|
34
+ begin
35
+ Socket.tcp('localhost', port, connect_timeout: 1)
36
+ rescue
37
+ flunk "No dealer listening on port #{port}"
38
+ end
39
+ end
18
40
  end
19
41
 
20
42
  describe '::ports_for_players' do
@@ -22,7 +44,7 @@ describe DealerRunner do
22
44
  various_numbers_of_players.each do |number_of_players|
23
45
  DealerRunner.ports_for_players(number_of_players).each do |port|
24
46
  begin
25
- TCPServer.open('localhost', port) { }
47
+ TCPServer.open('localhost', port) {}
26
48
  rescue Errno::EADDRINUSE => e
27
49
  flunk "Port #{port} is not open: #{e.message}"
28
50
  end
@@ -31,94 +53,76 @@ describe DealerRunner do
31
53
  end
32
54
  end
33
55
 
56
+ def in_tmp_dir_with_process_cleanup
57
+ Dir.mktmpdir do |temp_log_directory|
58
+ cleanup(yield(temp_log_directory))
59
+ end
60
+ end
61
+
34
62
  describe '::start' do
63
+ let(:options) { ['--start_timeout 1000'].join(' ') }
64
+ let(:match_name) { 'test_match' }
65
+ let(:hands) { 10 }
66
+ let(:random_seed) { 0 }
67
+
68
+ def player_names(number_of_players)
69
+ number_of_players.times.inject([]) do |names, i|
70
+ names << "p#{i}"
71
+ end.join(' ')
72
+ end
73
+
74
+ def game_def(number_of_players)
75
+ GAME_DEFINITION_FILE_PATHS[number_of_players][:limit]
76
+ end
77
+
35
78
  it 'starts a dealer asynchronously that can clean up after itself and returns both its PID and the ports that each player can use to connect' do
36
79
  various_numbers_of_players.each do |number_of_players|
37
- Dir.mktmpdir do |temp_log_directory|
38
- result = DealerRunner.start(
80
+ in_tmp_dir_with_process_cleanup do |temp_log_directory|
81
+ patient = DealerRunner.start(
39
82
  {
40
- match_name: 'test_match',
41
- game_def_file_name: GAME_DEFINITION_FILE_PATHS[number_of_players][:limit],
42
- hands: 10,
43
- random_seed: 0,
44
- player_names: number_of_players.times.inject([]) do |names, i|
45
- names << "p#{i}"
46
- end.join(' '),
47
- options: ['--start_timeout 1000'].join(' ')
83
+ match_name: match_name,
84
+ game_def_file_name: game_def(number_of_players),
85
+ hands: hands,
86
+ random_seed: random_seed,
87
+ player_names: player_names(number_of_players),
88
+ options: options
48
89
  },
49
90
  temp_log_directory
50
91
  )
51
92
 
52
- @pid = result[:pid]
53
- @port_numbers = result[:port_numbers]
54
-
55
- result[:log_directory].must_equal temp_log_directory
56
-
57
- check_ports_are_in_use
58
-
59
- check_process_exists
60
-
61
- cleanup
62
- reset_state!
93
+ patient[:log_directory].must_equal temp_log_directory
94
+ check_process_exists patient[:pid]
95
+ check_ports_are_in_use patient[:port_numbers]
96
+ patient[:pid]
63
97
  end
64
98
  end
65
99
  end
66
100
 
67
101
  it 'starts a dealer listening on specific ports' do
68
102
  various_numbers_of_players.each do |number_of_players|
69
- Dir.mktmpdir do |temp_log_directory|
70
- port_numbers = [10000, 20000]
71
- result = DealerRunner.start(
103
+ in_tmp_dir_with_process_cleanup do |temp_log_directory|
104
+ port_numbers = [10_000, 20_000]
105
+ patient = DealerRunner.start(
72
106
  {
73
- match_name: 'test_match',
74
- game_def_file_name: GAME_DEFINITION_FILE_PATHS[number_of_players][:limit],
75
- hands: 10,
76
- random_seed: 0,
77
- player_names: number_of_players.times.inject([]) do |names, i|
78
- names << "p#{i}"
79
- end.join(' '),
80
- options: ['--start_timeout 1000'].join(' ')
107
+ match_name: match_name,
108
+ game_def_file_name: game_def(number_of_players),
109
+ hands: hands,
110
+ random_seed: random_seed,
111
+ player_names: player_names(number_of_players),
112
+ options: options
81
113
  },
82
114
  temp_log_directory,
83
115
  port_numbers
84
116
  )
85
117
 
86
- @pid = result[:pid]
87
- @port_numbers = result[:port_numbers]
88
- (@port_numbers.map { |n| n.to_i })[0..port_numbers.length-1].must_equal port_numbers
118
+ patient[:port_numbers].map(&:to_i)[0..port_numbers.length - 1].must_equal port_numbers
89
119
 
90
- result[:log_directory].must_equal temp_log_directory
91
-
92
- check_ports_are_in_use
93
-
94
- check_process_exists
95
-
96
- cleanup
97
- reset_state!
120
+ patient[:log_directory].must_equal temp_log_directory
121
+ check_process_exists patient[:pid]
122
+ check_ports_are_in_use patient[:port_numbers]
123
+ patient[:pid]
98
124
  end
99
125
  end
100
126
  end
101
127
  end
102
-
103
- def cleanup
104
- Process.kill 'KILL', @pid
105
- sleep 1
106
-
107
- ->() { Process.getpgid(@pid) }.must_raise Errno::ESRCH
108
- end
109
- def check_process_exists
110
- begin
111
- Process.getpgid(@pid)
112
- rescue Errno::ESRCH => e
113
- flunk "Dealer with pid #{@pid} does not exist: #{e.message}"
114
- end
115
- end
116
- def check_ports_are_in_use
117
- @port_numbers.each do |port|
118
- ->() do
119
- TCPServer.open('localhost', port)
120
- end.must_raise Errno::EADDRINUSE
121
- end
122
- end
123
- def various_numbers_of_players() [2, 3] end
124
128
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acpc_dealer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dustin Morrill
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-15 00:00:00.000000000 Z
11
+ date: 2017-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clive
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.8'
55
+ - !ruby/object:Gem::Dependency
56
+ name: brick_and_mortar
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: minitest
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -117,6 +131,7 @@ extensions:
117
131
  - ext/hand_evaluator/extconf.rb
118
132
  extra_rdoc_files: []
119
133
  files:
134
+ - Brickfile
120
135
  - README.md
121
136
  - Rakefile
122
137
  - acpc_dealer.gemspec
@@ -126,88 +141,10 @@ files:
126
141
  - lib/acpc_dealer.rb
127
142
  - lib/acpc_dealer/dealer_runner.rb
128
143
  - lib/acpc_dealer/version.rb
144
+ - lib/hand_evaluator.bundle
129
145
  - spec/connection_information_spec.rb
130
146
  - spec/dealer_runner_spec.rb
131
147
  - spec/support/spec_helper.rb
132
- - vendor/project_acpc_server/LICENCE
133
- - vendor/project_acpc_server/Makefile
134
- - vendor/project_acpc_server/README
135
- - vendor/project_acpc_server/README.submission
136
- - vendor/project_acpc_server/acpc_play_match.pl
137
- - vendor/project_acpc_server/bm_run_matches.c
138
- - vendor/project_acpc_server/bm_server.c
139
- - vendor/project_acpc_server/bm_server.config
140
- - vendor/project_acpc_server/bm_widget.c
141
- - vendor/project_acpc_server/dealer.c
142
- - vendor/project_acpc_server/evalHandTables
143
- - vendor/project_acpc_server/example_player.c
144
- - vendor/project_acpc_server/example_player.limit.2p.sh
145
- - vendor/project_acpc_server/example_player.limit.3p.sh
146
- - vendor/project_acpc_server/example_player.nolimit.2p.sh
147
- - vendor/project_acpc_server/example_player.nolimit.3p.sh
148
- - vendor/project_acpc_server/game.c
149
- - vendor/project_acpc_server/game.h
150
- - vendor/project_acpc_server/holdem.limit.2p.reverse_blinds.game
151
- - vendor/project_acpc_server/holdem.limit.3p.game
152
- - vendor/project_acpc_server/holdem.nolimit.2p.reverse_blinds.game
153
- - vendor/project_acpc_server/holdem.nolimit.3p.game
154
- - vendor/project_acpc_server/kuhn.limit.3p.game
155
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player.sf1.sh
156
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player.sf2.sh
157
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player.sf3.sh
158
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/LICENCE
159
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/Makefile
160
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/README.md
161
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/CExceptionConfig.h
162
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/dealer_connection.c
163
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/dealer_connection.h
164
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/kuhn_3p_equilibrium_player.c
165
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/kuhn_3p_equilibrium_player.h
166
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/main.c
167
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/player_config.c
168
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/src/player_config.h
169
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/support/test_helper.c
170
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/support/test_helper.h
171
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/test_kuhn_3p_equilibrium_player.c
172
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/test_kuhn_3p_equilibrium_player_sub_family_1.c
173
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/test_kuhn_3p_equilibrium_player_sub_family_2.c
174
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/test/test_kuhn_3p_equilibrium_player_sub_family_3.c
175
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/docs/license.txt
176
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/docs/readme.txt
177
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/lib/CException.c
178
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/lib/CException.h
179
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/release/build.info
180
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/cexception/release/version.info
181
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/History.md
182
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/Makefile
183
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/Readme.md
184
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/package.json
185
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/src/commander.c
186
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/src/commander.h
187
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/commander.c/test.c
188
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/colour_prompt.rb
189
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/colour_reporter.rb
190
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/generate_config.yml
191
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/generate_module.rb
192
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/generate_test_runner.rb
193
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/test_file_filter.rb
194
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/auto/unity_test_summary.rb
195
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/docs/Unity Summary.txt
196
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/docs/license.txt
197
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/release/build.info
198
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/release/version.info
199
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/src/unity.c
200
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/src/unity.h
201
- - vendor/project_acpc_server/kuhn_3p_equilibrium_player/vendor/unity/src/unity_internals.h
202
- - vendor/project_acpc_server/net.c
203
- - vendor/project_acpc_server/net.h
204
- - vendor/project_acpc_server/play_match.pl
205
- - vendor/project_acpc_server/protocol.md
206
- - vendor/project_acpc_server/protocol.odt
207
- - vendor/project_acpc_server/protocol.pdf
208
- - vendor/project_acpc_server/rng.c
209
- - vendor/project_acpc_server/rng.h
210
- - vendor/project_acpc_server/validate_submission.pl
211
148
  homepage: https://github.com/dmorrill10/acpc_dealer
212
149
  licenses:
213
150
  - MIT
@@ -228,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
228
165
  version: '0'
229
166
  requirements: []
230
167
  rubyforge_project:
231
- rubygems_version: 2.2.2
168
+ rubygems_version: 2.5.1
232
169
  signing_key:
233
170
  specification_version: 4
234
171
  summary: Ruby interface to the Annual Computer Poker Competition's dealer program.