gettc 1.3 → 1.3.1

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 (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