webroar 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +18 -1
- data/README +86 -0
- data/doc/user-guide.html +116 -74
- data/doc/user-guide.txt +3 -2
- data/lib/dependencies.rb +1 -1
- data/src/admin_panel/config/environment.rb +1 -1
- data/src/admin_panel/public/blank_iframe.html +2 -0
- data/src/admin_panel/public/images/calendar_date_select/calendar.gif +0 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/calendar_date_select.js +443 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/format_american.js +34 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/format_db.js +27 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/format_euro_24hr.js +7 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +7 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/format_finnish.js +32 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/format_hyphen_ampm.js +37 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/format_iso_date.js +46 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/format_italian.js +24 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/locale/de.js +11 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/locale/fi.js +10 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/locale/fr.js +10 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/locale/pl.js +10 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/locale/pt.js +11 -0
- data/src/admin_panel/public/javascripts/calendar_date_select/locale/ru.js +10 -0
- data/src/admin_panel/public/stylesheets/calendar_date_select/blue.css +130 -0
- data/src/admin_panel/public/stylesheets/calendar_date_select/default.css +135 -0
- data/src/admin_panel/public/stylesheets/calendar_date_select/plain.css +128 -0
- data/src/admin_panel/public/stylesheets/calendar_date_select/red.css +135 -0
- data/src/admin_panel/public/stylesheets/calendar_date_select/silver.css +133 -0
- data/src/head/wr_config.h +1 -1
- data/src/ruby_lib/analyzer/db_connect.rb +3 -3
- data/src/ruby_lib/mailer/smtpmail.rb +3 -3
- data/src/ruby_lib/ruby_interface/version.rb +1 -1
- data/src/ruby_lib/webroar_app_loader.rb +62 -57
- data/src/worker/wkr_http.c +5 -137
- data/src/worker/wkr_main.c +2 -2
- data/tasks/gem.rake +4 -3
- data/tasks/test.rake +4 -2
- data/test/spec/test_app/config/environment.rb +1 -1
- 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.
|
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', '
|
24
|
-
gem 'activerecord', '
|
25
|
-
require '
|
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', '
|
26
|
-
gem 'actionmailer', '
|
27
|
-
require '
|
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
|
@@ -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
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
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.
|
55
|
+
require File.join(File.dirname(__FILE__), 'exception_tracker', 'webroar_exception.rb')
|
62
56
|
else
|
63
|
-
Webroar.log_info("
|
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
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
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 #
|
79
|
-
|
80
|
-
|
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
|
data/src/worker/wkr_http.c
CHANGED
@@ -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
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
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
|
|
data/src/worker/wkr_main.c
CHANGED
@@ -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', '
|
48
|
+
s.add_dependency 'rails', '>= 2.3.5'
|
49
49
|
s.add_dependency 'calendar_date_select', '>= 1.15'
|
50
|
-
s.add_dependency 'rack', '>= 0.
|
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
|
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.
|
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')
|