Fix failures on btest for NativeClient.

* bootstraptest/runner.rb (nacl?): New method to distinguish NaCl
  corss build.

* bootstraptest/test_io.rb: Skip unsupported operations.

* bootstraptest/test_literal.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
yugui 2013-01-03 15:39:15 +00:00
Родитель 0626021e13
Коммит 6efba755da
6 изменённых файлов: 29 добавлений и 6 удалений

Просмотреть файл

@ -1,3 +1,13 @@
Fri Jan 4 00:35:11 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
Fix failures on btest for NativeClient.
* bootstraptest/runner.rb (nacl?): New method to distinguish NaCl
corss build.
* bootstraptest/test_io.rb: Skip unsupported operations.
* bootstraptest/test_literal.rb: ditto.
Fri Jan 4 00:29:40 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
* io.c (rb_cloexec_fcntl_dupfd): Fix failures in

Просмотреть файл

@ -229,6 +229,12 @@ rescue Exception => err
error err.message, message
end
# NativeClient is special. The binary is cross-compiled. But runs on the build environment.
# So RUBY_PLATFORM in this process is not useful to detect it.
def nacl?
@ruby and File.basename(@ruby.split(/\s/).first)['sel_ldr']
end
def assert_check(testsrc, message = '', opt = '')
show_progress(message) {
result = get_result_string(testsrc, opt)

Просмотреть файл

@ -53,7 +53,7 @@ assert_equal 'ok', %q{
STDIN.reopen(rw)
STDIN.reopen(save)
rw.close
File.unlink(tmpname)
File.unlink(tmpname) unless RUBY_PLATFORM['nacl']
:ok
}
@ -70,7 +70,7 @@ assert_equal 'ok', %q{
STDIN.print "a"
STDIN.reopen(save)
rw.close
File.unlink(tmpname)
File.unlink(tmpname) unless RUBY_PLATFORM['nacl']
:ok
}

Просмотреть файл

@ -65,8 +65,10 @@ assert_equal ':a3c', ':"a#{1+2}c".inspect'
assert_equal 'Symbol', ':"a#{1+2}c".class'
# xstring
assert_equal "foo\n", %q(`echo foo`)
assert_equal "foo\n", %q(s = "foo"; `echo #{s}`)
unless nacl?
assert_equal "foo\n", %q(`echo foo`)
assert_equal "foo\n", %q(s = "foo"; `echo #{s}`)
end
# regexp
assert_equal '', '//.source'

Просмотреть файл

@ -1294,9 +1294,10 @@ $POSTLINK"
[superux*], [ ac_cv_func_setitimer=no
],
[nacl], [
LIBS="-lm -lnosys $LIBS"
LIBS="-lm $LIBS"
if test "${nacl_cv_build_variant}" = "newlib"; then
RUBY_APPEND_OPTION(CPPFLAGS, -DNACL_NEWLIB)
RUBY_APPEND_OPTION(LIBS, '-lnosys')
else
RUBY_APPEND_OPTION(XCFLAGS, -fPIC)
fi
@ -2707,6 +2708,10 @@ AS_CASE("$enable_shared", [yes], [
[haiku], [
# gcc supports PIE, but doesn't work correctly in Haiku
pie=no
],
[nacl], [
# -pie implies -shared for NaCl.
pie=no
])
if test "$GCC" = yes -a -z "$EXTSTATIC" -a "x$pie" != xno; then
RUBY_TRY_CFLAGS(-fPIE, [pie=yes], [pie=no])

Просмотреть файл

@ -6,7 +6,7 @@
You need to install the following things before building NaCl port of Ruby.
* Ruby 1.9.3 or later
* Python 2.6 or later
* NativeClient SDK pepper 18 or later
* NativeClient SDK pepper 22 or later
* GNU make
== Steps