most 0.7.3

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 (96) hide show
  1. data/Copying.txt +679 -0
  2. data/History.txt +15 -0
  3. data/Manifest.txt +95 -0
  4. data/PostInstall.txt +6 -0
  5. data/Rakefile +44 -0
  6. data/Readme.rdoc +146 -0
  7. data/bin/most +31 -0
  8. data/lib/most.rb +52 -0
  9. data/lib/most/context.rb +244 -0
  10. data/lib/most/core.rb +171 -0
  11. data/lib/most/di/container.rb +148 -0
  12. data/lib/most/di/proxy.rb +55 -0
  13. data/lib/most/di/service.rb +63 -0
  14. data/lib/most/di/service_factory.rb +40 -0
  15. data/lib/most/environment.rb +67 -0
  16. data/lib/most/executor.rb +80 -0
  17. data/lib/most/helpers/array.rb +31 -0
  18. data/lib/most/helpers/hash.rb +25 -0
  19. data/lib/most/helpers/kernel.rb +35 -0
  20. data/lib/most/helpers/memory_out.rb +93 -0
  21. data/lib/most/helpers/numeric.rb +59 -0
  22. data/lib/most/helpers/object.rb +65 -0
  23. data/lib/most/helpers/symbol.rb +31 -0
  24. data/lib/most/interfaces/meta_programmable.rb +59 -0
  25. data/lib/most/starter.rb +126 -0
  26. data/lib/most/structures/box.rb +199 -0
  27. data/lib/most/structures/submission.rb +117 -0
  28. data/lib/most/structures/test_case.rb +173 -0
  29. data/lib/most/structures/test_runner.rb +103 -0
  30. data/lib/most/structures/types/options.rb +67 -0
  31. data/lib/most/structures/types/path.rb +39 -0
  32. data/lib/most/structures/types/report.rb +84 -0
  33. data/lib/most/submissions/cpp_memory_out_sample.rb +34 -0
  34. data/lib/most/submissions/cpp_sample.rb +36 -0
  35. data/lib/most/submissions/cpp_timeout_sample.rb +34 -0
  36. data/lib/most/submissions/cs_sample.rb +36 -0
  37. data/lib/most/submissions/erlang_sample.rb +36 -0
  38. data/lib/most/submissions/haskell_sample.rb +36 -0
  39. data/lib/most/submissions/java_sample.rb +36 -0
  40. data/lib/most/submissions/lisp_sample.rb +32 -0
  41. data/lib/most/submissions/lua_sample.rb +36 -0
  42. data/lib/most/submissions/ocaml_sample.rb +36 -0
  43. data/lib/most/submissions/pascal_sample.rb +36 -0
  44. data/lib/most/submissions/perl_sample.rb +32 -0
  45. data/lib/most/submissions/php_sample.rb +32 -0
  46. data/lib/most/submissions/python_sample.rb +32 -0
  47. data/lib/most/submissions/ruby_sample.rb +32 -0
  48. data/lib/most/submissions/vb_sample.rb +36 -0
  49. data/lib/most/tasks/general/win/cs.rb +60 -0
  50. data/lib/most/tasks/general/win/erlang.rb +86 -0
  51. data/lib/most/tasks/general/win/gcc.rb +39 -0
  52. data/lib/most/tasks/general/win/haskell.rb +75 -0
  53. data/lib/most/tasks/general/win/java.rb +72 -0
  54. data/lib/most/tasks/general/win/lisp.rb +59 -0
  55. data/lib/most/tasks/general/win/lua.rb +75 -0
  56. data/lib/most/tasks/general/win/ocaml.rb +77 -0
  57. data/lib/most/tasks/general/win/pascal.rb +73 -0
  58. data/lib/most/tasks/general/win/perl.rb +61 -0
  59. data/lib/most/tasks/general/win/php.rb +59 -0
  60. data/lib/most/tasks/general/win/python.rb +59 -0
  61. data/lib/most/tasks/general/win/ruby.rb +61 -0
  62. data/lib/most/tasks/general/win/vb.rb +60 -0
  63. data/lib/most/tasks/general/win/vc.rb +79 -0
  64. data/lib/most/tasks/general/win/vs.rb +52 -0
  65. data/samples/problem/solutions/cpp/main.cpp +9 -0
  66. data/samples/problem/solutions/cpp/tests.yml +19 -0
  67. data/samples/problem/solutions/cs/main.cs +17 -0
  68. data/samples/problem/solutions/cs/tests.yml +19 -0
  69. data/samples/problem/solutions/erlang/main.erl +2 -0
  70. data/samples/problem/solutions/erlang/tests.yml +19 -0
  71. data/samples/problem/solutions/haskell/main.hs +5 -0
  72. data/samples/problem/solutions/haskell/tests.yml +19 -0
  73. data/samples/problem/solutions/java/Main.java +14 -0
  74. data/samples/problem/solutions/java/tests.yml +19 -0
  75. data/samples/problem/solutions/lisp/main.lisp +1 -0
  76. data/samples/problem/solutions/lisp/tests.yml +19 -0
  77. data/samples/problem/solutions/lua/main.lua +4 -0
  78. data/samples/problem/solutions/lua/tests.yml +19 -0
  79. data/samples/problem/solutions/ocaml/main.ml +3 -0
  80. data/samples/problem/solutions/ocaml/tests.yml +19 -0
  81. data/samples/problem/solutions/pascal/main.pas +5 -0
  82. data/samples/problem/solutions/pascal/tests.yml +19 -0
  83. data/samples/problem/solutions/perl/main.pl +2 -0
  84. data/samples/problem/solutions/perl/tests.yml +19 -0
  85. data/samples/problem/solutions/php/main.php +1 -0
  86. data/samples/problem/solutions/php/tests.yml +19 -0
  87. data/samples/problem/solutions/python/main.py +1 -0
  88. data/samples/problem/solutions/python/tests.yml +19 -0
  89. data/samples/problem/solutions/ruby/main.rb +1 -0
  90. data/samples/problem/solutions/ruby/tests.yml +19 -0
  91. data/samples/problem/solutions/vb/main.vb +14 -0
  92. data/samples/problem/solutions/vb/tests.yml +19 -0
  93. data/samples/time_memory/solutions/cpp/main.cpp +21 -0
  94. data/samples/time_memory/solutions/cpp/tests.yml +19 -0
  95. data/tasks/samples.rb +31 -0
  96. metadata +242 -0
@@ -0,0 +1,2 @@
1
+ use List::Util 'sum';
2
+ print sum(split(' ', <>));
@@ -0,0 +1,19 @@
1
+ ---
2
+ # Correct Tests
3
+ - :memory: 10485760
4
+ :input: 15 27
5
+ :time: 10
6
+ :output: "42"
7
+ - :memory: 10485760
8
+ :input: 33 9
9
+ :time: 10
10
+ :output: "42"
11
+ # Incorrect Tests
12
+ - :memory: 10485760
13
+ :input: 47774 65656
14
+ :time: 10
15
+ :output: "42"
16
+ - :memory: 10485760
17
+ :input: 547584 4857487
18
+ :time: 10
19
+ :output: "42"
@@ -0,0 +1 @@
1
+ <?php echo array_sum(explode(" ", fgets(fopen('php://stdin', 'r')))); ?>
@@ -0,0 +1,19 @@
1
+ ---
2
+ # Correct Tests
3
+ - :memory: 10485760
4
+ :input: 15 27
5
+ :time: 10
6
+ :output: "42"
7
+ - :memory: 10485760
8
+ :input: 33 9
9
+ :time: 10
10
+ :output: "42"
11
+ # Incorrect Tests
12
+ - :memory: 10485760
13
+ :input: 47774 65656
14
+ :time: 10
15
+ :output: "42"
16
+ - :memory: 10485760
17
+ :input: 547584 4857487
18
+ :time: 10
19
+ :output: "42"
@@ -0,0 +1 @@
1
+ print reduce(lambda x, y: int(x) + int(y), raw_input().split())
@@ -0,0 +1,19 @@
1
+ ---
2
+ # Correct Tests
3
+ - :memory: 10485760
4
+ :input: 15 27
5
+ :time: 10
6
+ :output: "42"
7
+ - :memory: 10485760
8
+ :input: 33 9
9
+ :time: 10
10
+ :output: "42"
11
+ # Incorrect Tests
12
+ - :memory: 10485760
13
+ :input: 47774 65656
14
+ :time: 10
15
+ :output: "42"
16
+ - :memory: 10485760
17
+ :input: 547584 4857487
18
+ :time: 10
19
+ :output: "42"
@@ -0,0 +1 @@
1
+ puts(gets.split.map do |x| x.to_i() end.inject() do |x, y| x + y end)
@@ -0,0 +1,19 @@
1
+ ---
2
+ # Correct Tests
3
+ - :memory: 10485760
4
+ :input: 15 27
5
+ :time: 10
6
+ :output: "42"
7
+ - :memory: 10485760
8
+ :input: 33 9
9
+ :time: 10
10
+ :output: "42"
11
+ # Incorrect Tests
12
+ - :memory: 10485760
13
+ :input: 47774 65656
14
+ :time: 10
15
+ :output: "42"
16
+ - :memory: 10485760
17
+ :input: 547584 4857487
18
+ :time: 10
19
+ :output: "42"
@@ -0,0 +1,14 @@
1
+ Imports System
2
+
3
+ Module Main
4
+
5
+ Sub Main()
6
+ Dim numbers As String() = Console.ReadLine().Split(New Char() {" "c})
7
+
8
+ Dim a As Integer = Integer.Parse(numbers.First)
9
+ Dim b As Integer = Integer.Parse(numbers.Last)
10
+
11
+ System.Console.WriteLine(a + b)
12
+ End Sub
13
+
14
+ End Module
@@ -0,0 +1,19 @@
1
+ ---
2
+ # Correct Tests
3
+ - :memory: 10485760
4
+ :input: 15 27
5
+ :time: 10
6
+ :output: "42"
7
+ - :memory: 10485760
8
+ :input: 33 9
9
+ :time: 10
10
+ :output: "42"
11
+ # Incorrect Tests
12
+ - :memory: 10485760
13
+ :input: 47774 65656
14
+ :time: 10
15
+ :output: "42"
16
+ - :memory: 10485760
17
+ :input: 547584 4857487
18
+ :time: 10
19
+ :output: "42"
@@ -0,0 +1,21 @@
1
+ #include <iostream>
2
+
3
+ using namespace std;
4
+
5
+ void main()
6
+ {
7
+ // Testing MemoryOut
8
+ long long *bigArray = new long long[10000000];
9
+
10
+ // Prevent compiler optimization
11
+ for (int i = 0; i < 10000000; i++)
12
+ {
13
+ bigArray[i] = 100;
14
+ }
15
+
16
+ // Testing Timeout
17
+ while (true)
18
+ {
19
+ cout << "Infinite loop..." << endl;
20
+ }
21
+ }
@@ -0,0 +1,19 @@
1
+ ---
2
+ # Correct Tests
3
+ - :memory: 10485760
4
+ :input: 15 27
5
+ :time: 10
6
+ :output: "42"
7
+ - :memory: 10485760
8
+ :input: 33 9
9
+ :time: 10
10
+ :output: "42"
11
+ # Incorrect Tests
12
+ - :memory: 10485760
13
+ :input: 47774 65656
14
+ :time: 10
15
+ :output: "42"
16
+ - :memory: 10485760
17
+ :input: 547584 4857487
18
+ :time: 10
19
+ :output: "42"
data/tasks/samples.rb ADDED
@@ -0,0 +1,31 @@
1
+ # Most - Modular Open Software Tester.
2
+ # Copyright (C) 2009 Dmitrii Toksaitov
3
+ #
4
+ # This file is part of Most.
5
+ #
6
+ # Most is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # Most is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License
17
+ # along with Most. If not, see <http://www.gnu.org/licenses/>.
18
+
19
+ namespace :samples do
20
+
21
+ desc "Copy sample solutions and tests to the base ('.most') temp directory"
22
+ task :prepare do
23
+ require 'fileutils'
24
+
25
+ source = File.join(MOST_ROOT, 'samples', '.')
26
+ destination = Most::DIRECTORIES[:temp].first
27
+
28
+ FileUtils.cp_r(source, destination, {:verbose => true})
29
+ end
30
+
31
+ end
metadata ADDED
@@ -0,0 +1,242 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: most
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.3
5
+ platform: ruby
6
+ authors:
7
+ - Toksaitov Dmitrii Alexandrovich
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-28 00:00:00 +06:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: sys-proctable
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.9.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: open4
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.0.1
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: win32-open3
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.3.1
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: newgem
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.5.1
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: hoe
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 2.3.3
64
+ version:
65
+ description: |-
66
+ Most is a simple academic modular open software tester.
67
+
68
+ Most, the Core is the main part of the system. Most provides
69
+ the environment and interface bridges for modules that will
70
+ implement the basic functionality of the testing system.
71
+
72
+ In general Most, the Core consists form two main interfaces:
73
+ the connector and the tester.
74
+
75
+ The connector interface offers the basic bridge to make
76
+ an implementation of a module which will act as a controlling
77
+ interface of the system. It can be a command line interface or
78
+ it can be a module which will set up a server providing a network
79
+ access for end users.
80
+
81
+ The tester interface allows building an implementation of
82
+ the software validator. By default the Most ships with
83
+ the tester compliant with the ICPC Validator Standard. The Most system
84
+ proposes to implement a testing system following this standard, but
85
+ it is not obligatory. The 3-rd party implementation can vary
86
+ significantly considering the user preferences.
87
+
88
+ It is possible to build other interface bridges using the abstract
89
+ interface classes provided by the Most system to extend
90
+ the functionality of the modules. For example the implementation of
91
+ the connector interface in the form of the network server can build
92
+ a tunnel interface bridge, so that developers can make implementations,
93
+ for example, of a SSH tunnel in order to provide a secure connection
94
+ with the testing system.
95
+
96
+ The default system bundle is shipped with a number of basic interface
97
+ implementations (modules). Please, consider taking a look on realize
98
+ notes for the list of supplied modules.
99
+ email:
100
+ - most.support@85.17.184.9
101
+ executables:
102
+ - most
103
+ extensions: []
104
+
105
+ extra_rdoc_files:
106
+ - Copying.txt
107
+ - History.txt
108
+ - Manifest.txt
109
+ - PostInstall.txt
110
+ files:
111
+ - Copying.txt
112
+ - History.txt
113
+ - Manifest.txt
114
+ - PostInstall.txt
115
+ - Rakefile
116
+ - Readme.rdoc
117
+ - bin/most
118
+ - lib/most.rb
119
+ - lib/most/context.rb
120
+ - lib/most/core.rb
121
+ - lib/most/di/container.rb
122
+ - lib/most/di/proxy.rb
123
+ - lib/most/di/service.rb
124
+ - lib/most/di/service_factory.rb
125
+ - lib/most/environment.rb
126
+ - lib/most/executor.rb
127
+ - lib/most/helpers/array.rb
128
+ - lib/most/helpers/hash.rb
129
+ - lib/most/helpers/kernel.rb
130
+ - lib/most/helpers/memory_out.rb
131
+ - lib/most/helpers/numeric.rb
132
+ - lib/most/helpers/object.rb
133
+ - lib/most/helpers/symbol.rb
134
+ - lib/most/interfaces/meta_programmable.rb
135
+ - lib/most/starter.rb
136
+ - lib/most/structures/box.rb
137
+ - lib/most/structures/submission.rb
138
+ - lib/most/structures/test_case.rb
139
+ - lib/most/structures/test_runner.rb
140
+ - lib/most/structures/types/options.rb
141
+ - lib/most/structures/types/path.rb
142
+ - lib/most/structures/types/report.rb
143
+ - lib/most/submissions/cpp_memory_out_sample.rb
144
+ - lib/most/submissions/cpp_sample.rb
145
+ - lib/most/submissions/cpp_timeout_sample.rb
146
+ - lib/most/submissions/cs_sample.rb
147
+ - lib/most/submissions/erlang_sample.rb
148
+ - lib/most/submissions/haskell_sample.rb
149
+ - lib/most/submissions/java_sample.rb
150
+ - lib/most/submissions/lisp_sample.rb
151
+ - lib/most/submissions/lua_sample.rb
152
+ - lib/most/submissions/ocaml_sample.rb
153
+ - lib/most/submissions/pascal_sample.rb
154
+ - lib/most/submissions/perl_sample.rb
155
+ - lib/most/submissions/php_sample.rb
156
+ - lib/most/submissions/python_sample.rb
157
+ - lib/most/submissions/ruby_sample.rb
158
+ - lib/most/submissions/vb_sample.rb
159
+ - lib/most/tasks/general/win/cs.rb
160
+ - lib/most/tasks/general/win/erlang.rb
161
+ - lib/most/tasks/general/win/gcc.rb
162
+ - lib/most/tasks/general/win/haskell.rb
163
+ - lib/most/tasks/general/win/java.rb
164
+ - lib/most/tasks/general/win/lisp.rb
165
+ - lib/most/tasks/general/win/lua.rb
166
+ - lib/most/tasks/general/win/ocaml.rb
167
+ - lib/most/tasks/general/win/pascal.rb
168
+ - lib/most/tasks/general/win/perl.rb
169
+ - lib/most/tasks/general/win/php.rb
170
+ - lib/most/tasks/general/win/python.rb
171
+ - lib/most/tasks/general/win/ruby.rb
172
+ - lib/most/tasks/general/win/vb.rb
173
+ - lib/most/tasks/general/win/vc.rb
174
+ - lib/most/tasks/general/win/vs.rb
175
+ - samples/problem/solutions/cpp/main.cpp
176
+ - samples/problem/solutions/cpp/tests.yml
177
+ - samples/problem/solutions/cs/main.cs
178
+ - samples/problem/solutions/cs/tests.yml
179
+ - samples/problem/solutions/erlang/main.erl
180
+ - samples/problem/solutions/erlang/tests.yml
181
+ - samples/problem/solutions/haskell/main.hs
182
+ - samples/problem/solutions/haskell/tests.yml
183
+ - samples/problem/solutions/java/Main.java
184
+ - samples/problem/solutions/java/tests.yml
185
+ - samples/problem/solutions/lisp/main.lisp
186
+ - samples/problem/solutions/lisp/tests.yml
187
+ - samples/problem/solutions/lua/main.lua
188
+ - samples/problem/solutions/lua/tests.yml
189
+ - samples/problem/solutions/ocaml/main.ml
190
+ - samples/problem/solutions/ocaml/tests.yml
191
+ - samples/problem/solutions/pascal/main.pas
192
+ - samples/problem/solutions/pascal/tests.yml
193
+ - samples/problem/solutions/perl/main.pl
194
+ - samples/problem/solutions/perl/tests.yml
195
+ - samples/problem/solutions/php/main.php
196
+ - samples/problem/solutions/php/tests.yml
197
+ - samples/problem/solutions/python/main.py
198
+ - samples/problem/solutions/python/tests.yml
199
+ - samples/problem/solutions/ruby/main.rb
200
+ - samples/problem/solutions/ruby/tests.yml
201
+ - samples/problem/solutions/vb/main.vb
202
+ - samples/problem/solutions/vb/tests.yml
203
+ - samples/time_memory/solutions/cpp/main.cpp
204
+ - samples/time_memory/solutions/cpp/tests.yml
205
+ - tasks/samples.rb
206
+ has_rdoc: true
207
+ homepage:
208
+ licenses: []
209
+
210
+ post_install_message: |-
211
+ Thank you for installing the Most system
212
+
213
+ Please be sure to read Readme.rdoc and History.rdoc
214
+ for useful information about this release.
215
+
216
+ For more information on Most, see http:/85.17.184.9/most
217
+ rdoc_options:
218
+ - --main
219
+ - README.rdoc
220
+ require_paths:
221
+ - lib
222
+ required_ruby_version: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ version: "0"
227
+ version:
228
+ required_rubygems_version: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: "0"
233
+ version:
234
+ requirements: []
235
+
236
+ rubyforge_project: most
237
+ rubygems_version: 1.3.5
238
+ signing_key:
239
+ specification_version: 3
240
+ summary: Most is a simple academic modular open software tester
241
+ test_files: []
242
+