webroar 0.2.4 → 0.2.5
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.
- 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')
|