Skip to content

Commit 826814c

Browse files
committed
Look at disabled specs
PullRequest: truffleruby/569
2 parents 0778fcc + 0311d08 commit 826814c

11 files changed

+58
-21
lines changed

doc/user/compatibility.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ Process.respond_to?(:fork)
5454

5555
#### Standard libraries
5656

57+
`win32ole` is unsupported.
58+
5759
Quite a few of the less commonly used standard libraries are currently not
5860
supported, such as `fiddle`, `sdbm`, `gdbm`, `tk`. It's quite hard to get an
5961
understanding of all the standard libraries that should be available, so it's
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
fails:Readline::HISTORY.<< tries to convert the passed Object to a String using #to_str
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
fails:Readline::HISTORY.push tries to convert the passed Object to a String using #to_str
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
slow:Readline.readline returns the input string
2+
slow:Readline.readline taints the returned strings
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
fails:Syslog.inspect includes the ident, options, facility and mask
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
fails:Syslog.mask returns the log priority mask
2+
fails:Syslog.mask defaults to 255
3+
fails:Syslog.mask returns nil if the log is closed
4+
fails:Syslog.mask resets if the log is reopened
5+
fails:Syslog.mask= sets the log priority mask
6+
fails:Syslog.mask= raises an error if the log is closed
7+
fails:Syslog.mask= only accepts numbers
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
fails:Syslog.open returns the module
2+
fails:Syslog.open receives an identity as first argument
3+
fails:Syslog.open defaults the identity to $0
4+
fails:Syslog.open receives the logging options as second argument
5+
fails:Syslog.open defaults the logging options to LOG_PID | LOG_CONS
6+
fails:Syslog.open receives a facility as third argument
7+
fails:Syslog.open defaults the facility to LOG_USER
8+
fails:Syslog.open receives a block and calls it with the module
9+
fails:Syslog.open closes the log if after it receives a block
10+
fails:Syslog.open raises an error if the log is opened
11+
fails:Syslog.open! reopens the log
12+
fails:Syslog.open! fails with RuntimeError if the log is closed
13+
fails:Syslog.open! receives the same parameters as Syslog.open
14+
fails:Syslog.open! returns the module
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fails:Syslog.opened? returns true if the log is opened
2+
fails:Syslog.opened? returns false otherwise
3+
fails:Syslog.opened? works inside a block
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
fails:Syslog.options returns the logging options
2+
fails:Syslog.options returns nil when the log is closed
3+
fails:Syslog.options defaults to LOG_PID | LOG_CONS
4+
fails:Syslog.options resets after each open call
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
fails:Syslog.reopen reopens the log
2+
fails:Syslog.reopen fails with RuntimeError if the log is closed
3+
fails:Syslog.reopen receives the same parameters as Syslog.open
4+
fails:Syslog.reopen returns the module

spec/truffle.mspec

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -65,41 +65,39 @@ class MSpecScript
6565
"spec/ruby/core",
6666
]
6767

68+
# Specs that need Sulong and should be tested in the Sulong gate
69+
library_cext_specs = %w[
70+
spec/ruby/library/etc
71+
spec/ruby/library/openssl
72+
spec/ruby/library/rbconfig/sizeof
73+
spec/ruby/library/syslog
74+
spec/ruby/library/yaml
75+
spec/ruby/library/zlib
76+
spec/ruby/security/cve_2017_17742_spec.rb
77+
]
78+
6879
set :library, [
6980
"spec/ruby/library",
7081

71-
# Not yet explored
82+
# Issues with monkey patching breaking our core
7283
"^spec/ruby/library/mathn",
73-
"^spec/ruby/library/readline",
74-
"^spec/ruby/library/syslog",
7584

76-
# Doesn't exist as Ruby code - basically need to write from scratch
77-
"^spec/ruby/library/win32ole",
78-
79-
# Hangs in CI
85+
# Trying to enable breaks a lot of things
8086
"^spec/ruby/library/net",
8187

88+
# Unsupported
89+
"^spec/ruby/library/win32ole",
90+
8291
# Tested separately as they need Sulong
83-
"^spec/ruby/library/openssl",
84-
"^spec/ruby/library/yaml",
85-
"^spec/ruby/library/zlib",
86-
"^spec/ruby/library/etc",
87-
"^spec/ruby/library/rbconfig/sizeof",
92+
*library_cext_specs.map { |path| "^#{path}" }
8893
]
8994

95+
set :library_cext, library_cext_specs
96+
9097
set :capi, [
9198
"spec/ruby/optional/capi"
9299
]
93100

94-
set :library_cext, [
95-
"spec/ruby/library/openssl",
96-
"spec/ruby/library/yaml",
97-
"spec/ruby/library/zlib",
98-
"spec/ruby/library/etc",
99-
"spec/ruby/library/rbconfig/sizeof",
100-
"spec/ruby/security/cve_2017_17742_spec.rb",
101-
]
102-
103101
set :truffle, [
104102
"spec/truffle",
105103
"^spec/truffle/capi"

0 commit comments

Comments
 (0)