Description:
Merge branch 'master' into windows
Commit status:
[Not Reviewed]
References:
merge default
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r125:430281f7813c - - 4 files changed: 23 inserted, 2 deleted

@@ -0,0 +1,3
1 + sandbox
2 + coverage
3 +
@@ -0,0 +1,14
1 + require 'rake'
2 + require 'spec/rake/spectask'
3 +
4 + desc "Run all examples"
5 + Spec::Rake::SpecTask.new('spec') do |t|
6 + t.spec_files = FileList['*spec.rb']
7 + end
8 +
9 + desc "Run all examples with RCov"
10 + Spec::Rake::SpecTask.new('spec_with_rcov') do |t|
11 + t.spec_files = FileList['*spec.rb']
12 + t.rcov = true
13 + t.rcov_opts = ['--exclude', '.*_spec\.rb']
14 + end
@@ -42,26 +42,26
42 #raise "engine: user or problem is nil"
42 #raise "engine: user or problem is nil"
43 end
43 end
44
44
45 # TODO: this is another hack so that output only task can be judged
45 # TODO: this is another hack so that output only task can be judged
46 if submission.language!=nil
46 if submission.language!=nil
47 language = submission.language.name
47 language = submission.language.name
48 lang_ext = submission.language.ext
48 lang_ext = submission.language.ext
49 else
49 else
50 language = 'c'
50 language = 'c'
51 lang_ext = 'c'
51 lang_ext = 'c'
52 end
52 end
53
53
54 - # FIX THIS
54 + # This is needed because older version of std-scripts/compile
55 - talk 'some hack on language'
55 + # only look for c++.
56 if language == 'cpp'
56 if language == 'cpp'
57 language = 'c++'
57 language = 'c++'
58 end
58 end
59
59
60 # COMMENT: should it be only source.ext?
60 # COMMENT: should it be only source.ext?
61 if problem!=nil
61 if problem!=nil
62 source_name = "#{problem.name}.#{lang_ext}"
62 source_name = "#{problem.name}.#{lang_ext}"
63 else
63 else
64 source_name = "source.#{lang_ext}"
64 source_name = "source.#{lang_ext}"
65 end
65 end
66
66
67 begin
67 begin
@@ -68,24 +68,28
68 FileUtils.rm(params[:message_file])
68 FileUtils.rm(params[:message_file])
69 end
69 end
70
70
71 # Check if the source file exists before attempt compiling.
71 # Check if the source file exists before attempt compiling.
72 if !FileTest.exists? params[:source_file]
72 if !FileTest.exists? params[:source_file]
73 talk("ERROR: The source file does not exist!")
73 talk("ERROR: The source file does not exist!")
74 open(params[:message_file],"w") do |f|
74 open(params[:message_file],"w") do |f|
75 f.puts "ERROR: The source file did not exist."
75 f.puts "ERROR: The source file did not exist."
76 end
76 end
77 exit(127)
77 exit(127)
78 end
78 end
79
79
80 + if params[:prog_lang]=='cpp':
81 + params[:prog_lang] = 'c++'
82 + end
83 +
80 # Compile.
84 # Compile.
81 case params[:prog_lang]
85 case params[:prog_lang]
82
86
83 when "c"
87 when "c"
84 command = "#{C_COMPILER} #{params[:source_file]} -o #{params[:output_file]} #{C_OPTIONS} 2> #{params[:message_file]}"
88 command = "#{C_COMPILER} #{params[:source_file]} -o #{params[:output_file]} #{C_OPTIONS} 2> #{params[:message_file]}"
85 system(command)
89 system(command)
86
90
87 when "c++"
91 when "c++"
88 command = "#{CPLUSPLUS_COMPILER} #{params[:source_file]} -o #{params[:output_file]} #{CPLUSPLUS_OPTIONS} 2> #{params[:message_file]}"
92 command = "#{CPLUSPLUS_COMPILER} #{params[:source_file]} -o #{params[:output_file]} #{CPLUSPLUS_OPTIONS} 2> #{params[:message_file]}"
89 system(command)
93 system(command)
90
94
91 when "pas"
95 when "pas"
You need to be logged in to leave comments. Login now