Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mruby
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
mruby
Commits
7201404e
Commit
7201404e
authored
Feb 26, 2014
by
take_cheeze
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
compile assert.rb once
parent
e203383d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
9 deletions
+28
-9
tasks/mrbgem_spec.rake
tasks/mrbgem_spec.rake
+1
-1
tasks/mrbgems_test.rake
tasks/mrbgems_test.rake
+11
-3
test/init_mrbtest.c
test/init_mrbtest.c
+2
-0
test/mrbtest.rake
test/mrbtest.rake
+14
-5
No files found.
tasks/mrbgem_spec.rake
View file @
7201404e
...
@@ -62,7 +62,7 @@ module MRuby
...
@@ -62,7 +62,7 @@ module MRuby
@test_objs
=
Dir
.
glob
(
"
#{
dir
}
/test/*.{c,cpp,cxx,m,asm,S}"
).
map
do
|
f
|
@test_objs
=
Dir
.
glob
(
"
#{
dir
}
/test/*.{c,cpp,cxx,m,asm,S}"
).
map
do
|
f
|
objfile
(
f
.
relative_path_from
(
dir
).
to_s
.
pathmap
(
"
#{
build_dir
}
/%X"
))
objfile
(
f
.
relative_path_from
(
dir
).
to_s
.
pathmap
(
"
#{
build_dir
}
/%X"
))
end
end
@test_preload
=
'test/assert.rb'
@test_preload
=
nil
#
'test/assert.rb'
@test_args
=
{}
@test_args
=
{}
@bins
=
[]
@bins
=
[]
...
...
tasks/mrbgems_test.rake
View file @
7201404e
...
@@ -6,11 +6,15 @@ MRuby.each_target do
...
@@ -6,11 +6,15 @@ MRuby.each_target do
file
g
.
test_rbireps
=>
[
g
.
test_rbfiles
].
flatten
+
[
g
.
build
.
mrbcfile
]
do
|
t
|
file
g
.
test_rbireps
=>
[
g
.
test_rbfiles
].
flatten
+
[
g
.
build
.
mrbcfile
]
do
|
t
|
open
(
t
.
name
,
'w'
)
do
|
f
|
open
(
t
.
name
,
'w'
)
do
|
f
|
g
.
print_gem_test_header
(
f
)
g
.
print_gem_test_header
(
f
)
test_preload
=
[
g
.
dir
,
MRUBY_ROOT
].
map
{
|
dir
|
test_preload
=
g
.
test_preload
and
[
g
.
dir
,
MRUBY_ROOT
].
map
{
|
dir
|
File
.
expand_path
(
g
.
test_preload
,
dir
)
File
.
expand_path
(
g
.
test_preload
,
dir
)
}.
find
{
|
file
|
File
.
exist?
(
file
)
}
}.
find
{
|
file
|
File
.
exist?
(
file
)
}
g
.
build
.
mrbc
.
run
f
,
test_preload
,
"gem_test_irep_
#{
g
.
funcname
}
_preload"
if
test_preload
.
nil?
f
.
puts
%Q[extern const uint8_t mrbtest_assert_irep[];]
else
g
.
build
.
mrbc
.
run
f
,
test_preload
,
"gem_test_irep_
#{
g
.
funcname
}
_preload"
end
g
.
test_rbfiles
.
flatten
.
each_with_index
do
|
rbfile
,
i
|
g
.
test_rbfiles
.
flatten
.
each_with_index
do
|
rbfile
,
i
|
g
.
build
.
mrbc
.
run
f
,
rbfile
,
"gem_test_irep_
#{
g
.
funcname
}
_
#{
i
}
"
g
.
build
.
mrbc
.
run
f
,
rbfile
,
"gem_test_irep_
#{
g
.
funcname
}
_
#{
i
}
"
end
end
...
@@ -31,7 +35,11 @@ MRuby.each_target do
...
@@ -31,7 +35,11 @@ MRuby.each_target do
f
.
puts
%Q[ if (mrb_test(val3)) {]
f
.
puts
%Q[ if (mrb_test(val3)) {]
f
.
puts
%Q[ mrb_gv_set(mrb2, mrb_intern_cstr(mrb2, "$mrbtest_verbose"), val3);]
f
.
puts
%Q[ mrb_gv_set(mrb2, mrb_intern_cstr(mrb2, "$mrbtest_verbose"), val3);]
f
.
puts
%Q[ }]
f
.
puts
%Q[ }]
f
.
puts
%Q[ mrb_load_irep(mrb2, gem_test_irep_
#{
g
.
funcname
}
_preload);]
if
test_preload
.
nil?
f
.
puts
%Q[ mrb_load_irep(mrb2, mrbtest_assert_irep);]
else
f
.
puts
%Q[ mrb_load_irep(mrb2, gem_test_irep_
#{
g
.
funcname
}
_preload);]
end
f
.
puts
%Q[ if (mrb2->exc) {]
f
.
puts
%Q[ if (mrb2->exc) {]
f
.
puts
%Q[ mrb_p(mrb2, mrb_obj_value(mrb2->exc));]
f
.
puts
%Q[ mrb_p(mrb2, mrb_obj_value(mrb2->exc));]
f
.
puts
%Q[ exit(EXIT_FAILURE);]
f
.
puts
%Q[ exit(EXIT_FAILURE);]
...
...
test/init_mrbtest.c
View file @
7201404e
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
#include "mruby.h"
#include "mruby.h"
#include "mruby/irep.h"
#include "mruby/irep.h"
extern
const
uint8_t
mrbtest_assert_irep
[];
extern
const
uint8_t
mrbtest_irep
[];
extern
const
uint8_t
mrbtest_irep
[];
void
mrbgemtest_init
(
mrb_state
*
mrb
);
void
mrbgemtest_init
(
mrb_state
*
mrb
);
...
@@ -9,6 +10,7 @@ void mrbgemtest_init(mrb_state* mrb);
...
@@ -9,6 +10,7 @@ void mrbgemtest_init(mrb_state* mrb);
void
void
mrb_init_mrbtest
(
mrb_state
*
mrb
)
mrb_init_mrbtest
(
mrb_state
*
mrb
)
{
{
mrb_load_irep
(
mrb
,
mrbtest_assert_irep
);
mrb_load_irep
(
mrb
,
mrbtest_irep
);
mrb_load_irep
(
mrb
,
mrbtest_irep
);
#ifndef DISABLE_GEMS
#ifndef DISABLE_GEMS
mrbgemtest_init
(
mrb
);
mrbgemtest_init
(
mrb
);
...
...
test/mrbtest.rake
View file @
7201404e
...
@@ -8,10 +8,11 @@ MRuby.each_target do
...
@@ -8,10 +8,11 @@ MRuby.each_target do
mlib
=
clib
.
ext
(
exts
.
object
)
mlib
=
clib
.
ext
(
exts
.
object
)
mrbs
=
Dir
.
glob
(
"
#{
current_dir
}
/t/*.rb"
)
mrbs
=
Dir
.
glob
(
"
#{
current_dir
}
/t/*.rb"
)
init
=
"
#{
current_dir
}
/init_mrbtest.c"
init
=
"
#{
current_dir
}
/init_mrbtest.c"
asslib
=
"
#{
current_dir
}
/assert.rb"
ass_c
=
"
#{
current_build_dir
}
/assert.c"
ass_lib
=
ass_c
.
ext
(
exts
.
object
)
mrbtest_lib
=
libfile
(
"
#{
current_build_dir
}
/mrbtest"
)
mrbtest_lib
=
libfile
(
"
#{
current_build_dir
}
/mrbtest"
)
file
mrbtest_lib
=>
[
mlib
,
gems
.
map
(
&
:test_objs
),
gems
.
map
{
|
g
|
g
.
test_rbireps
.
ext
(
exts
.
object
)
}].
flatten
do
|
t
|
file
mrbtest_lib
=>
[
mlib
,
ass_lib
,
gems
.
map
(
&
:test_objs
),
gems
.
map
{
|
g
|
g
.
test_rbireps
.
ext
(
exts
.
object
)
}].
flatten
do
|
t
|
archiver
.
run
t
.
name
,
t
.
prerequisites
archiver
.
run
t
.
name
,
t
.
prerequisites
end
end
...
@@ -27,13 +28,21 @@ MRuby.each_target do
...
@@ -27,13 +28,21 @@ MRuby.each_target do
end
end
end
end
file
mlib
=>
[
clib
]
file
ass_lib
=>
ass_c
file
clib
=>
[
mrbcfile
,
init
,
asslib
]
+
mrbs
do
|
t
|
file
ass_c
=>
"
#{
current_dir
}
/assert.rb"
do
|
t
|
FileUtils
.
mkdir_p
File
.
dirname
t
.
name
open
(
t
.
name
,
'w'
)
do
|
f
|
mrbc
.
run
f
,
[
t
.
prerequisites
],
'mrbtest_assert_irep'
end
end
file
mlib
=>
clib
file
clib
=>
[
mrbcfile
,
init
]
+
mrbs
do
|
t
|
_pp
"GEN"
,
"*.rb"
,
"
#{
clib
.
relative_path
}
"
_pp
"GEN"
,
"*.rb"
,
"
#{
clib
.
relative_path
}
"
FileUtils
.
mkdir_p
File
.
dirname
(
clib
)
FileUtils
.
mkdir_p
File
.
dirname
(
clib
)
open
(
clib
,
'w'
)
do
|
f
|
open
(
clib
,
'w'
)
do
|
f
|
f
.
puts
IO
.
read
(
init
)
f
.
puts
IO
.
read
(
init
)
mrbc
.
run
f
,
[
asslib
]
+
mrbs
,
'mrbtest_irep'
mrbc
.
run
f
,
mrbs
,
'mrbtest_irep'
gems
.
each
do
|
g
|
gems
.
each
do
|
g
|
f
.
puts
%Q[void GENERATED_TMP_mrb_
#{
g
.
funcname
}
_gem_test(mrb_state *mrb);]
f
.
puts
%Q[void GENERATED_TMP_mrb_
#{
g
.
funcname
}
_gem_test(mrb_state *mrb);]
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment