summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/mspec/lib/mspec/runner/actions/timeout.rb15
-rw-r--r--spec/mspec/tool/sync/sync-rubyspec.rb2
2 files changed, 15 insertions, 2 deletions
diff --git a/spec/mspec/lib/mspec/runner/actions/timeout.rb b/spec/mspec/lib/mspec/runner/actions/timeout.rb
index c85bf49ad3..fd5578be87 100644
--- a/spec/mspec/lib/mspec/runner/actions/timeout.rb
+++ b/spec/mspec/lib/mspec/runner/actions/timeout.rb
@@ -36,8 +36,21 @@ class TimeoutAction
elapsed = now - @started
if elapsed > @timeout
STDERR.puts "\n#{@current_state.description}"
+ STDERR.puts "Example took longer than the configured timeout of #{@timeout}s"
STDERR.flush
- abort "Example took longer than the configured timeout of #{@timeout}s"
+
+ if RUBY_ENGINE == 'truffleruby'
+ STDERR.puts 'Java stacktraces:'
+ Process.kill :SIGQUIT, Process.pid
+ sleep 1
+
+ if defined?(Truffle::Debug.show_backtraces)
+ STDERR.puts "\nRuby backtraces:"
+ Truffle::Debug.show_backtraces
+ end
+ end
+
+ exit 2
end
end
end
diff --git a/spec/mspec/tool/sync/sync-rubyspec.rb b/spec/mspec/tool/sync/sync-rubyspec.rb
index b4c79d2afc..13f1d8004d 100644
--- a/spec/mspec/tool/sync/sync-rubyspec.rb
+++ b/spec/mspec/tool/sync/sync-rubyspec.rb
@@ -20,7 +20,7 @@ IMPLS = {
MSPEC = ARGV.delete('--mspec')
-CHECK_LAST_MERGE = ENV['CHECK_LAST_MERGE'] != 'false'
+CHECK_LAST_MERGE = !MSPEC && ENV['CHECK_LAST_MERGE'] != 'false'
TEST_MASTER = ENV['TEST_MASTER'] != 'false'
MSPEC_REPO = File.expand_path("../../..", __FILE__)