webroar 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/CHANGELOG +18 -1
  2. data/README +86 -0
  3. data/doc/user-guide.html +116 -74
  4. data/doc/user-guide.txt +3 -2
  5. data/lib/dependencies.rb +1 -1
  6. data/src/admin_panel/config/environment.rb +1 -1
  7. data/src/admin_panel/public/blank_iframe.html +2 -0
  8. data/src/admin_panel/public/images/calendar_date_select/calendar.gif +0 -0
  9. data/src/admin_panel/public/javascripts/calendar_date_select/calendar_date_select.js +443 -0
  10. data/src/admin_panel/public/javascripts/calendar_date_select/format_american.js +34 -0
  11. data/src/admin_panel/public/javascripts/calendar_date_select/format_db.js +27 -0
  12. data/src/admin_panel/public/javascripts/calendar_date_select/format_euro_24hr.js +7 -0
  13. data/src/admin_panel/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +7 -0
  14. data/src/admin_panel/public/javascripts/calendar_date_select/format_finnish.js +32 -0
  15. data/src/admin_panel/public/javascripts/calendar_date_select/format_hyphen_ampm.js +37 -0
  16. data/src/admin_panel/public/javascripts/calendar_date_select/format_iso_date.js +46 -0
  17. data/src/admin_panel/public/javascripts/calendar_date_select/format_italian.js +24 -0
  18. data/src/admin_panel/public/javascripts/calendar_date_select/locale/de.js +11 -0
  19. data/src/admin_panel/public/javascripts/calendar_date_select/locale/fi.js +10 -0
  20. data/src/admin_panel/public/javascripts/calendar_date_select/locale/fr.js +10 -0
  21. data/src/admin_panel/public/javascripts/calendar_date_select/locale/pl.js +10 -0
  22. data/src/admin_panel/public/javascripts/calendar_date_select/locale/pt.js +11 -0
  23. data/src/admin_panel/public/javascripts/calendar_date_select/locale/ru.js +10 -0
  24. data/src/admin_panel/public/stylesheets/calendar_date_select/blue.css +130 -0
  25. data/src/admin_panel/public/stylesheets/calendar_date_select/default.css +135 -0
  26. data/src/admin_panel/public/stylesheets/calendar_date_select/plain.css +128 -0
  27. data/src/admin_panel/public/stylesheets/calendar_date_select/red.css +135 -0
  28. data/src/admin_panel/public/stylesheets/calendar_date_select/silver.css +133 -0
  29. data/src/head/wr_config.h +1 -1
  30. data/src/ruby_lib/analyzer/db_connect.rb +3 -3
  31. data/src/ruby_lib/mailer/smtpmail.rb +3 -3
  32. data/src/ruby_lib/ruby_interface/version.rb +1 -1
  33. data/src/ruby_lib/webroar_app_loader.rb +62 -57
  34. data/src/worker/wkr_http.c +5 -137
  35. data/src/worker/wkr_main.c +2 -2
  36. data/tasks/gem.rake +4 -3
  37. data/tasks/test.rake +4 -2
  38. data/test/spec/test_app/config/environment.rb +1 -1
  39. metadata +33 -94
@@ -0,0 +1,133 @@
1
+ .calendar_date_select {
2
+ color:white;
3
+ border:#777 1px solid;
4
+ display:block;
5
+ width:195px;
6
+ z-index: 1000;
7
+ }
8
+ /* this is a fun ie6 hack to get drop downs to stay behind the popup window. This should always be just underneath .calendar_date_select */
9
+ iframe.ie6_blocker {
10
+ position: absolute;
11
+ z-index: 999;
12
+ }
13
+
14
+ .calendar_date_select thead th {
15
+ font-weight:bold;
16
+ background-color: #000;
17
+ border-top:1px solid #777;
18
+ border-bottom:2px solid #333;
19
+ color: white !important;
20
+ }
21
+
22
+ .calendar_date_select .cds_buttons {
23
+ text-align:center;
24
+ padding:5px 0px;
25
+ background-color: #555;
26
+ }
27
+
28
+ .calendar_date_select .cds_footer {
29
+ background-color: black;
30
+ padding:3px;
31
+ font-size:12px;
32
+ text-align:center;
33
+ }
34
+
35
+ .calendar_date_select table {
36
+ margin: 0px;
37
+ padding: 0px;
38
+ }
39
+
40
+
41
+ .calendar_date_select .cds_header {
42
+ background-color: #ccc;
43
+ border-bottom: 2px solid #aaa;
44
+ text-align:center;
45
+ }
46
+
47
+ .calendar_date_select .cds_header span {
48
+ font-size:15px;
49
+ color: black;
50
+ font-weight: bold;
51
+ }
52
+
53
+ .calendar_date_select select { font-size:11px;}
54
+
55
+ .calendar_date_select .cds_header a:hover {
56
+ color: white;
57
+ }
58
+ .calendar_date_select .cds_header a {
59
+ width:22px;
60
+ height:20px;
61
+ text-decoration: none;
62
+ font-size:14px;
63
+ color:black !important;
64
+ }
65
+
66
+ .calendar_date_select .cds_header a.prev {
67
+ float:left;
68
+ }
69
+ .calendar_date_select .cds_header a.next {
70
+ float:right;
71
+ }
72
+ .calendar_date_select .cds_header a.close {
73
+ float:right;
74
+ display:none;
75
+ }
76
+
77
+ .calendar_date_select .cds_header select.month {
78
+ width:90px;
79
+ }
80
+
81
+ .calendar_date_select .cds_header select.year {
82
+ width:61px;
83
+ }
84
+
85
+ .calendar_date_select .cds_buttons a {
86
+ color: white;
87
+ font-size: 9px;
88
+ }
89
+ .calendar_date_select td {
90
+ font-size:12px;
91
+ width: 24px;
92
+ height: 21px;
93
+ text-align:center;
94
+ vertical-align: middle;
95
+ background-color: #666666;
96
+ }
97
+ .calendar_date_select td.weekend {
98
+ background-color: #606060;
99
+ }
100
+
101
+ .calendar_date_select td div {
102
+ color: #fff;
103
+ }
104
+ .calendar_date_select td div.other {
105
+ color: #888;
106
+ }
107
+ .calendar_date_select td.selected div {
108
+ color:black;
109
+ }
110
+
111
+ .calendar_date_select tbody td {
112
+ border-bottom: 1px solid #555;
113
+ }
114
+ .calendar_date_select td.selected {
115
+ background-color:white;
116
+ }
117
+
118
+ .calendar_date_select td:hover {
119
+ background-color:#ccc;
120
+ }
121
+
122
+ .calendar_date_select td.today {
123
+ border: 1px dashed #999;
124
+ }
125
+
126
+ .calendar_date_select td.disabled div {
127
+ color: #454545;
128
+ }
129
+
130
+
131
+ .fieldWithErrors .calendar_date_select {
132
+ border: 2px solid red;
133
+ }
data/src/head/wr_config.h CHANGED
@@ -81,7 +81,7 @@
81
81
  // File to store Server process id
82
82
  #define WR_PID_FILE "/var/run/webroar.pid"
83
83
  #define WR_SERVER "WebROaR"
84
- #define WR_VERSION "0.2.4"
84
+ #define WR_VERSION "0.2.5"
85
85
  #define WR_MIME_TYPE_PATH "/conf/mime_type.yml"
86
86
  #define WR_CONF_PATH "/conf/config.yml"
87
87
  #define WR_SERVER_INTERNAL_CONF_PATH "/conf/server_internal_config.yml"
@@ -20,9 +20,9 @@ ADMIN_PANEL_ROOT = File.join(WEBROAR_ROOT, 'src', 'admin_panel').freeze
20
20
  #$LOAD_PATH.unshift("#{File.join(ADMIN_PANEL_ROOT,'vendor', 'rails', 'activerecord', 'lib')}")
21
21
  #$LOAD_PATH.unshift("#{File.join(ADMIN_PANEL_ROOT,'vendor', 'rails', 'activesupport', 'lib')}")
22
22
  #require File.join(ADMIN_PANEL_ROOT,'vendor', 'rails', 'activerecord', 'lib', 'active_record')
23
- gem 'activesupport', '=2.3.2'
24
- gem 'activerecord', '=2.3.2'
25
- require 'activerecord'
23
+ gem 'activesupport', '>= 2.3.5'
24
+ gem 'activerecord', '>= 2.3.5'
25
+ require 'active_record'
26
26
 
27
27
  module Webroar
28
28
  module Analyzer
@@ -22,9 +22,9 @@
22
22
  #$LOAD_PATH.unshift("#{File.join(ADMIN_PANEL_ROOT,'vendor', 'rails', 'actionmailer', 'lib')}")
23
23
  #require File.join(ADMIN_PANEL_ROOT,'vendor', 'rails', 'actionmailer', 'lib', 'action_mailer')
24
24
 
25
- gem 'actionpack', '=2.3.2'
26
- gem 'actionmailer', '=2.3.2'
27
- require 'actionmailer'
25
+ gem 'actionpack', '>= 2.3.5'
26
+ gem 'actionmailer', '>= 2.3.5'
27
+ require 'action_mailer'
28
28
  require 'yaml'
29
29
 
30
30
  module Email
@@ -21,7 +21,7 @@ module Webroar
21
21
  module VERSION #:nodoc:
22
22
  MAJOR = "0"
23
23
  MINOR = "2"
24
- TINY = "4"
24
+ TINY = "5"
25
25
 
26
26
  STRING = [MAJOR, MINOR, TINY].join('.')
27
27
  end
@@ -15,66 +15,71 @@
15
15
  #
16
16
  # You should have received a copy of the GNU General Public License
17
17
  # along with WebROaR. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- require File.join(File.expand_path(File.dirname(__FILE__)), 'ruby_interface', 'ruby_interface')
20
-
21
- #turn it on to see the Ruby exception
22
- $DEBUG = $g_options['debug']
18
+ begin
19
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'ruby_interface', 'ruby_interface')
20
+
21
+ #turn it on to see the Ruby exception
22
+ $DEBUG = $g_options['debug']
23
23
  =begin
24
- $g_options = Hash.new
25
- $g_options["root"]="/home/dshah/work/rails_workspace/test2.3"
26
- #$g_options["root"]="/home/dharmarth/work/merb_workspace/iBlogs-activerecord"
27
- $g_options["app_type"]="rails"
28
- $g_options["app_name"]="Planning Poker"
29
- $g_options["prefix"] = "/test"
30
- $g_options["app_profiling"]="no"
31
- $g_options["webroar_root"] = "/home/dshah/workspace/webroar"
24
+ $g_options = Hash.new
25
+ $g_options["root"]="/home/dshah/work/rails_workspace/test2.3"
26
+ #$g_options["root"]="/home/dharmarth/work/merb_workspace/iBlogs-activerecord"
27
+ $g_options["app_type"]="rails"
28
+ $g_options["app_name"]="Planning Poker"
29
+ $g_options["prefix"] = "/test"
30
+ $g_options["app_profiling"]="no"
31
+ $g_options["webroar_root"] = "/home/dshah/workspace/webroar"
32
32
  =end
33
-
34
- module Webroar
35
- class AdapterLoader
36
- ADAPTER_FILES.each { |f|
37
- if f.include?("#{$g_options["app_type"]}.rb")
38
- require f
39
- break
40
- end
41
- }
42
- ADAPTER = Adapter.get($g_options["app_type"])
43
- $app = ADAPTER.new($g_options)
44
- $app = Webroar::Deflater.new($app)
45
-
46
- #left over for debugging
47
- # STDIN.reopen('/dev/null')
48
- # STDOUT.reopen("/home/dshah/workspace/webroar/webroar_prof", "a")
49
- # STDOUT.sync = true
50
- # STDERR.reopen(STDOUT)
51
- # STDERR.sync = true
52
- # puts '...........file opened..............'
53
- require File.join(File.dirname(__FILE__), 'profiler', 'message_dispatcher') #to send pid of worker
54
- if $pid_sent
55
- require File.join(File.dirname(__FILE__), 'exception_tracker', 'webroar_exception.rb')
56
- else
57
- Webroar.log_info("Exception notification would not work.")
58
- end
59
- if $g_options["app_profiling"] == "yes"
33
+
34
+ module Webroar
35
+ class AdapterLoader
36
+ ADAPTER_FILES.each { |f|
37
+ if f.include?("#{$g_options["app_type"]}.rb")
38
+ require f
39
+ break
40
+ end
41
+ }
42
+ ADAPTER = Adapter.get($g_options["app_type"])
43
+ $app = ADAPTER.new($g_options)
44
+ $app = Webroar::Deflater.new($app)
45
+
46
+ #left over for debugging
47
+ # STDIN.reopen('/dev/null')
48
+ # STDOUT.reopen("/home/dshah/workspace/webroar/webroar_prof", "a")
49
+ # STDOUT.sync = true
50
+ # STDERR.reopen(STDOUT)
51
+ # STDERR.sync = true
52
+ # puts '...........file opened..............'
53
+ require File.join(File.dirname(__FILE__), 'profiler', 'message_dispatcher') #to send pid of worker
60
54
  if $pid_sent
61
- require File.expand_path(File.join($g_options["webroar_root"], 'src', 'ruby_lib', 'profiler', 'webroar_profiling.rb'))
55
+ require File.join(File.dirname(__FILE__), 'exception_tracker', 'webroar_exception.rb')
62
56
  else
63
- Webroar.log_info("Profiling did not started.")
57
+ Webroar.log_info("Exception notification would not work.")
58
+ end
59
+ if $g_options["app_profiling"] == "yes"
60
+ if $pid_sent
61
+ require File.expand_path(File.join($g_options["webroar_root"], 'src', 'ruby_lib', 'profiler', 'webroar_profiling.rb'))
62
+ else
63
+ Webroar.log_info("Profiling did not started.")
64
+ end
64
65
  end
65
- end
66
-
67
- # Taken from Mongrel cgi_multipart_eof_fix
68
- # Ruby 1.8.5 has a security bug in cgi.rb, we need to patch it.
69
- version = RUBY_VERSION.split('.').map { |i| i.to_i }
70
- if version[0] <= 1 && version[1] <= 8 && version[2] <= 5 && RUBY_PLATFORM !~ /java/
71
- begin
72
- require 'cgi_multipart_eof_fix'
73
- rescue LoadError
74
- Webroar.log_info "!! Ruby 1.8.5 is not secure please install cgi_multipart_eof_fix:"
75
- Webroar.log_info " gem install cgi_multipart_eof_fix"
66
+
67
+ # Taken from Mongrel cgi_multipart_eof_fix
68
+ # Ruby 1.8.5 has a security bug in cgi.rb, we need to patch it.
69
+ version = RUBY_VERSION.split('.').map { |i| i.to_i }
70
+ if version[0] <= 1 && version[1] <= 8 && version[2] <= 5 && RUBY_PLATFORM !~ /java/
71
+ begin
72
+ require 'cgi_multipart_eof_fix'
73
+ rescue LoadError
74
+ Webroar.log_info "!! Ruby 1.8.5 is not secure please install cgi_multipart_eof_fix:"
75
+ Webroar.log_info " gem install cgi_multipart_eof_fix"
76
+ end
76
77
  end
77
- end
78
- end #AdapterLoader
79
- end #Webroar
80
- Webroar.log_info("Application loaded successfully")
78
+ end #AdapterLoader
79
+ end #Webroar
80
+ Webroar.log_info("Application loaded successfully")
81
+ rescue Exception => e
82
+ error = e.to_s + "\n" + e.backtrace.join("\n").to_s
83
+ Webroar.log_error(error)
84
+ raise
85
+ end
@@ -230,102 +230,6 @@ err:
230
230
  return retval;
231
231
  }
232
232
 
233
- #if RUBY_VERSION < 190
234
- /* Exception handling code for Ruby script, loaded from embedded interpreter is
235
- based on code given at http://zzz.zggg.com/perl_ruby_multithreading_embedding.html
236
- */
237
- static inline void show_error_pos() {
238
- LOG_FUNCTION
239
- ID this_func = rb_frame_last_func();
240
- if (ruby_sourcefile) {
241
- if (this_func) {
242
- LOG_INFO("show_error_pos() %s:%s:in %s", ruby_sourcefile,ruby_sourceline,rb_id2name(this_func));
243
- } else {
244
- LOG_INFO("show_error_pos() %s:%s", ruby_sourcefile,ruby_sourceline);
245
- }
246
- }
247
- }
248
-
249
- static inline void show_exception_info() {
250
- LOG_FUNCTION
251
- if (NIL_P(ruby_errinfo))
252
- return;
253
-
254
- VALUE errat = rb_funcall(ruby_errinfo, rb_intern("backtrace"), 0);
255
- if (!NIL_P(errat)) {
256
- VALUE mesg = RARRAY_PTR(errat)[0];
257
-
258
- if (NIL_P(mesg)) {
259
- show_error_pos();
260
- } else {
261
- LOG_INFO("%s",RSTRING_PTR(mesg));
262
- }
263
- }
264
-
265
- VALUE eclass = CLASS_OF(ruby_errinfo);
266
-
267
- char* einfo;
268
- int elen;
269
- int state;
270
- VALUE estr = rb_protect(rb_obj_as_string, ruby_errinfo, &state);
271
- if (state) {
272
- einfo = "";
273
- elen = 0;
274
- } else {
275
- einfo = RSTRING_PTR(estr);
276
- elen = RSTRING_LEN(estr);
277
- }
278
-
279
- if (eclass == rb_eRuntimeError && elen == 0) {
280
- LOG_INFO(": unhandled exception");
281
- } else {
282
- VALUE epath;
283
- epath = rb_class_path(eclass);
284
- if (elen == 0) {
285
- LOG_INFO("%s: ",RSTRING_PTR(epath));
286
- } else {
287
- char* tail = 0;
288
- int len = elen;
289
-
290
- if ((RSTRING_PTR(epath))[0] == '#')
291
- epath = 0;
292
-
293
- if (tail = strchr(einfo, '\n')) {
294
- len = tail - einfo;
295
- tail++;
296
- }
297
- LOG_INFO("%s: ", einfo);
298
- if (epath) {
299
- LOG_INFO(" (%s",RSTRING_PTR(epath));
300
- }
301
-
302
- if (tail) {
303
- LOG_INFO("%s",tail);
304
- }
305
- }
306
- }
307
-
308
- if (!NIL_P(errat)) {
309
- const int TRACE_HEAD = 8;
310
- const int TRACE_TAIL = 5;
311
- const int TRACE_MAX = TRACE_HEAD + TRACE_TAIL + 5;
312
-
313
- long len = RARRAY_LEN(errat);
314
- int i = 1;
315
- for (i = 1; i < len; ++i) {
316
- if (TYPE(RARRAY_PTR(errat)[i]) == T_STRING) {
317
- LOG_INFO(" from %s ",RSTRING_PTR(RARRAY_PTR(errat)[i]));
318
- }
319
-
320
- if (i == TRACE_HEAD && len > TRACE_MAX) {
321
- LOG_INFO(" ... %d ld levels... ",len - TRACE_HEAD - TRACE_TAIL);
322
- i = len - TRACE_TAIL;
323
- }
324
- }
325
- }
326
- }
327
- #endif
328
-
329
233
  /** Load rack adapter */
330
234
  int load_rack_adapter(wkr_tmp_t *tmp) {
331
235
  LOG_FUNCTION
@@ -364,54 +268,18 @@ int load_rack_adapter(wkr_tmp_t *tmp) {
364
268
  LOG_DEBUG(DEBUG,"setting debug true");
365
269
  rb_hash_aset(g_options,rb_str_new("debug",5),Qtrue);
366
270
  #else
367
-
368
271
  LOG_DEBUG(DEBUG,"setting debug false");
369
272
  rb_hash_aset(g_options,rb_str_new("debug",5),Qfalse);
370
273
  #endif
371
274
 
372
275
  rb_gv_set("g_options",g_options);
373
276
 
374
- #if RUBY_VERSION < 190
375
-
376
- rb_load_protect(rb_str_new2(tmp->script_path.str), 0, &state);
377
- //free(path);
378
- LOG_DEBUG(DEBUG,"state=%d",state);
379
- if (state) {
380
- switch (state) {
381
- case 0x1: // TAG_RETURN
382
- LOG_INFO("unexpected return");
383
- show_error_pos();
384
- break;
385
- case 0x2: // TAG_BREAK
386
- LOG_INFO("unexpected break");
387
- show_error_pos();
388
- break;
389
- case 0x3: // TAG_NEXT
390
- LOG_INFO("unexpected next");
391
- show_error_pos();
392
- break;
393
- case 0x4: // TAG_RETRY
394
- LOG_INFO("retry outside of rescue clause");
395
- show_error_pos();
396
- break;
397
- case 0x5: // TAG_REDO
398
- LOG_INFO("unexpected redo");
399
- show_error_pos();
400
- break;
401
- case 0x6: // TAG_RAISE
402
- case 0x8: // TAG_FATAL
403
- show_exception_info();
404
- break;
405
- default:
406
- LOG_INFO("unknown long jump status ");
407
- }
408
- // TODO: No magic numbers please
409
- return -1;
277
+ rb_protect(RUBY_METHOD_FUNC(rb_require), (VALUE)tmp->script_path.str, &state);
278
+ LOG_DEBUG(DEBUG, "state=%d", state);
279
+ if ( state != 0 ) {
280
+ LOG_ERROR(FATAL, "Some problem occurred while loading application.");
281
+ return -1;
410
282
  }
411
- #else
412
- rb_require(tmp->script_path.str);
413
- #endif
414
-
415
283
  return 0;
416
284
  }
417
285
 
@@ -223,6 +223,7 @@ static inline wkr_tmp_t* parse_args(int argc, char **argv) {
223
223
 
224
224
  if(tmp->log_file.str){
225
225
  initialize_logger(tmp->log_file.str);
226
+ redirect_standard_io();
226
227
  #ifdef L_DEBUG
227
228
  set_log_severity(DEBUG);
228
229
  #else
@@ -303,8 +304,7 @@ int main(int argc, char **argv) {
303
304
  w = worker_new(loop, tmp);
304
305
  if(w==NULL)
305
306
  goto err;
306
- worker = w;
307
- redirect_standard_io();
307
+ worker = w;
308
308
 
309
309
  LOG_DEBUG(DEBUG,"control path = %s, Application baseuri = %s",
310
310
  w->tmp->ctl_path.str, w->tmp->resolver.str);
data/tasks/gem.rake CHANGED
@@ -45,15 +45,16 @@ spec = Gem::Specification.new do |s|
45
45
 
46
46
  s.required_ruby_version = '>= 1.8.5'
47
47
 
48
- s.add_dependency 'rails', '= 2.3.2'
48
+ s.add_dependency 'rails', '>= 2.3.5'
49
49
  s.add_dependency 'calendar_date_select', '>= 1.15'
50
- s.add_dependency 'rack', '>= 0.9.1'
50
+ s.add_dependency 'rack', '>= 1.0.1'
51
51
  s.add_dependency 'rake', '>= 0.8.1'
52
52
  s.add_dependency 'rspec', '>=1.2.2'
53
53
  s.add_dependency 'sqlite3-ruby', '>=1.2.3'
54
54
  s.add_dependency 'starling-starling', '>=0.10.0'
55
55
 
56
- s.files = FileList['Rakefile',
56
+ s.files = FileList['Rakefile',
57
+ 'README',
57
58
  'CHANGELOG',
58
59
  'COPYING',
59
60
  File.join('bin', 'webroar'),
data/tasks/test.rake CHANGED
@@ -28,6 +28,7 @@ REPORT_DIR = File.join(WEBROAR_ROOT,'report')
28
28
  TEST_DIR = File.join(WEBROAR_ROOT, 'test')
29
29
  DEBUG_LOG_DIR = File.join(TEST_DIR,'debug_log')
30
30
  ALL_SPECS = FileList[File.join(SPEC_DIR,'*_spec.rb')].exclude("conditional_spec.rb")
31
+ #ALL_SPECS = FileList[File.join(SPEC_DIR,'access_log_spec.rb')]
31
32
  #ALL_SPECS = FileList[File.join(SPEC_DIR,'*_spec.rb')].exclude(
32
33
  #File.join(SPEC_DIR,'host_name_spec.rb'),
33
34
  #File.join(SPEC_DIR,'connection_keep_alive_spec.rb'),
@@ -130,7 +131,7 @@ desc "Executes functional test"
130
131
  task :spec => :test_setup
131
132
  Spec::Rake::SpecTask.new(:spec) do |t|
132
133
  t.spec_files = ALL_SPECS
133
- t.spec_opts << "--format specdoc:#{TEST_RESULT}"
134
+ t.spec_opts << "--format specdoc"
134
135
  end
135
136
 
136
137
 
@@ -397,7 +398,8 @@ task :all_test do
397
398
  if(test_flag==1)
398
399
  t = Rake::Task[:spec]
399
400
  puts "Executing functional tests ..."
400
- begin
401
+ begin
402
+ ENV["SPEC_OPTS"] = "--format specdoc:#{TEST_RESULT}"
401
403
  t.invoke()
402
404
  rescue Exception => e
403
405
  File.open(exception_log,"a") do |f|
@@ -1,7 +1,7 @@
1
1
  # Be sure to restart your server when you modify this file
2
2
 
3
3
  # Specifies gem version of Rails to use when vendor/rails is not present
4
- RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
4
+ # RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION
5
5
 
6
6
  # Bootstrap the Rails environment, frameworks, and default configuration
7
7
  require File.join(File.dirname(__FILE__), 'boot')