gettc 1.3 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/Rakefile +1 -1
  2. data/dist/template/bin/runner.sh +113 -113
  3. metadata +17 -11
  4. checksums.yaml +0 -7
data/Rakefile CHANGED
@@ -13,7 +13,7 @@ spec = Gem::Specification.new do |s|
13
13
  s.name = 'gettc'
14
14
  s.summary = 'Download TopCoder problem and generate a skeleton solution'
15
15
  s.description = 'Given a TopCoder problem ID, gettc downloads the problem specification, parses the whole thing into a Markdown file, generates inputs/outputs based on the Examples and System Tests given, and finally generates basic solution files for you to get started.'
16
- s.version = '1.3'
16
+ s.version = '1.3.1'
17
17
 
18
18
  s.author = 'Seri'
19
19
  s.email = 'seritrinh@gmail.com'
@@ -1,113 +1,113 @@
1
- mode="$1"
2
- solver="$2"
3
- data_d="$3"
4
- output_d="$4"
5
- ostream=/dev/null
6
-
7
- timeit () {
8
- if [ -x /usr/bin/time ]; then
9
- /usr/bin/time -o $ostream "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
10
- elif [ $mode = 'verbose' ]; then
11
- time "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
12
- else
13
- "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
14
- fi
15
- }
16
-
17
- puts () {
18
- echo "$1" > $ostream
19
- }
20
-
21
- write () {
22
- echo -n "$1" > $ostream
23
- }
24
-
25
- view_file () {
26
- filename="$1"
27
- write '<'
28
- cat "$filename" > $ostream
29
- puts '>'
30
- }
31
-
32
- report_case () {
33
- write ' Input: '
34
- view_file "$data_d/$test_case.in"
35
- write ' Expected: '
36
- view_file "$data_d/$test_case.out"
37
- write ' Received: '
38
- view_file "$output_d/$test_case.out"
39
- }
40
-
41
- init () {
42
- export TIME="Time: %es - Memory: %MK"
43
- export TIMEFORMAT=%3lR
44
-
45
- if [ ! -d "$output_d" ]; then
46
- mkdir "$output_d"
47
- fi
48
-
49
- if [ "$mode" = 'verbose' ]; then
50
- ostream=/dev/stdout
51
- elif [ "$mode" = 'file' ]; then
52
- ostream=log
53
- fi
54
-
55
- dir=`dirname $0`
56
- checker="$dir/../build/check"
57
- if [ ! -x "$checker" ]; then
58
- undo=`pwd`
59
- cd "$dir/../util/check"
60
- make
61
- cd "$undo"
62
- fi
63
- }
64
-
65
- main () {
66
- cases=0
67
-
68
- fails=0
69
-
70
- errors=0
71
- failstr=''
72
-
73
- errorstr=''
74
- for input in "$data_d"/*.in; do
75
- if [ -f "$input" ]; then
76
- cases=$(( cases + 1 ))
77
-
78
- test_case=`basename "$input"`
79
- test_case=${test_case%.in}
80
-
81
- write "Check $test_case ... "
82
- timeit "$solver" "$data_d/$test_case.in" "$output_d/$test_case.out"
83
- "$checker" "$data_d/$test_case.out" "$output_d/$test_case.out" > $ostream
84
- retcode=$?
85
-
86
- if [ $retcode -eq 0 ]; then
87
- puts 'Passed'
88
-
89
- elif [ $retcode -eq 1 ]; then
90
- fails=$(( fails + 1 ))
91
- failstr="$failstr $test_case"
92
- puts 'Failed'
93
- report_case "$test_case"
94
-
95
- else
96
- errors=$(( errors + 1 ))
97
- errorstr="$errorstr $test_case"
98
- puts 'Error'
99
- report_case "$test_case"
100
- fi
101
- fi
102
- done
103
- echo "$cases cases checked, $fails failed, $errors errored"
104
- if [ $fails -gt 0 ]; then
105
- echo "Failed cases:${failstr}"
106
- fi
107
- if [ $errors -gt 0 ]; then
108
- echo "Errored cases:${errorstr}"
109
- fi
110
-
111
- }
112
- init
113
- main
1
+ mode="$1"
2
+ solver="$2"
3
+ data_d="$3"
4
+ output_d="$4"
5
+ ostream=/dev/null
6
+
7
+ timeit () {
8
+ if [ -x /usr/bin/time ]; then
9
+ /usr/bin/time -o $ostream "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
10
+ elif [ $mode = 'verbose' ]; then
11
+ time "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
12
+ else
13
+ "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
14
+ fi
15
+ }
16
+
17
+ puts () {
18
+ echo "$1" > $ostream
19
+ }
20
+
21
+ write () {
22
+ echo -n "$1" > $ostream
23
+ }
24
+
25
+ view_file () {
26
+ filename="$1"
27
+ write '<'
28
+ cat "$filename" > $ostream
29
+ puts '>'
30
+ }
31
+
32
+ report_case () {
33
+ write ' Input: '
34
+ view_file "$data_d/$test_case.in"
35
+ write ' Expected: '
36
+ view_file "$data_d/$test_case.out"
37
+ write ' Received: '
38
+ view_file "$output_d/$test_case.out"
39
+ }
40
+
41
+ init () {
42
+ export TIME="Time: %es - Memory: %MK"
43
+ export TIMEFORMAT=%3lR
44
+
45
+ if [ ! -d "$output_d" ]; then
46
+ mkdir "$output_d"
47
+ fi
48
+
49
+ if [ "$mode" = 'verbose' ]; then
50
+ ostream=/dev/stdout
51
+ elif [ "$mode" = 'file' ]; then
52
+ ostream=log
53
+ fi
54
+
55
+ dir=`dirname $0`
56
+ checker="$dir/../build/check"
57
+ if [ ! -x "$checker" ]; then
58
+ undo=`pwd`
59
+ cd "$dir/../util/check"
60
+ make
61
+ cd "$undo"
62
+ fi
63
+ }
64
+
65
+ main () {
66
+ cases=0
67
+
68
+ fails=0
69
+
70
+ errors=0
71
+ failstr=''
72
+
73
+ errorstr=''
74
+ for input in "$data_d"/*.in; do
75
+ if [ -f "$input" ]; then
76
+ cases=$(( cases + 1 ))
77
+
78
+ test_case=`basename "$input"`
79
+ test_case=${test_case%.in}
80
+
81
+ write "Check $test_case ... "
82
+ timeit "$solver" "$data_d/$test_case.in" "$output_d/$test_case.out"
83
+ "$checker" "$data_d/$test_case.out" "$output_d/$test_case.out" > $ostream
84
+ retcode=$?
85
+
86
+ if [ $retcode -eq 0 ]; then
87
+ puts 'Passed'
88
+
89
+ elif [ $retcode -eq 1 ]; then
90
+ fails=$(( fails + 1 ))
91
+ failstr="$failstr $test_case"
92
+ puts 'Failed'
93
+ report_case "$test_case"
94
+
95
+ else
96
+ errors=$(( errors + 1 ))
97
+ errorstr="$errorstr $test_case"
98
+ puts 'Error'
99
+ report_case "$test_case"
100
+ fi
101
+ fi
102
+ done
103
+ echo "$cases cases checked, $fails failed, $errors errored"
104
+ if [ $fails -gt 0 ]; then
105
+ echo "Failed cases:${failstr}"
106
+ fi
107
+ if [ $errors -gt 0 ]; then
108
+ echo "Errored cases:${errorstr}"
109
+ fi
110
+
111
+ }
112
+ init
113
+ main
metadata CHANGED
@@ -1,41 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gettc
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.3'
4
+ version: 1.3.1
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Seri
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-07-03 00:00:00.000000000 Z
12
+ date: 2013-07-05 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: hpricot
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rdiscount
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  description: Given a TopCoder problem ID, gettc downloads the problem specification,
@@ -92,26 +97,27 @@ files:
92
97
  - core/test/topcoder/types_test.rb
93
98
  homepage: http://seri.github.io/gettc
94
99
  licenses: []
95
- metadata: {}
96
100
  post_install_message:
97
101
  rdoc_options: []
98
102
  require_paths:
99
103
  - core/lib
100
104
  required_ruby_version: !ruby/object:Gem::Requirement
105
+ none: false
101
106
  requirements:
102
- - - '>='
107
+ - - ! '>='
103
108
  - !ruby/object:Gem::Version
104
109
  version: '0'
105
110
  required_rubygems_version: !ruby/object:Gem::Requirement
111
+ none: false
106
112
  requirements:
107
- - - '>='
113
+ - - ! '>='
108
114
  - !ruby/object:Gem::Version
109
115
  version: '0'
110
116
  requirements: []
111
117
  rubyforge_project:
112
- rubygems_version: 2.0.2
118
+ rubygems_version: 1.8.25
113
119
  signing_key:
114
- specification_version: 4
120
+ specification_version: 3
115
121
  summary: Download TopCoder problem and generate a skeleton solution
116
122
  test_files:
117
123
  - core/test/topcoder/download_test.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 6da782156ab1219febecce10ac6d71eb335575c5
4
- data.tar.gz: cd6573718505dd788da31ad9c6acc2818a6444f7
5
- SHA512:
6
- metadata.gz: c370151c234ab1c0229015b0b758ac8e870909759d928aa8170fb12c8c1c559a06813db7b0ecec48fbc233f92edd81e1d80c6e2fe26e112a5ae4a409f3871b42
7
- data.tar.gz: 4c0fc25883795a409fb052d61c04f9b36c3f8d276f066a5348d79c5ca00d57d2165b325381924e12fba5bff15b9039a7fa012da2319ac62b7caa730d2975b25f