Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: e7917bd9c1a8
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: b2b9df7236b7
Choose a head ref
  • 8 commits
  • 3 files changed
  • 1 contributor

Commits on Dec 1, 2016

  1. Copy the full SHA
    a51125f View commit details
  2. Copy the full SHA
    de7db14 View commit details
  3. Copy the full SHA
    32c47dd View commit details
  4. [Truffle] Name failures.

    chrisseaton committed Dec 1, 2016
    Copy the full SHA
    5c54ea9 View commit details
  5. Copy the full SHA
    9fd0bb7 View commit details
  6. [Truffle] Typo.

    chrisseaton committed Dec 1, 2016
    Copy the full SHA
    8da1adb View commit details
  7. Copy the full SHA
    5f443a2 View commit details
  8. Copy the full SHA
    b2b9df7 View commit details
Showing with 80 additions and 10 deletions.
  1. +1 −0 .gitignore
  2. +16 −10 ci.hocon
  3. +63 −0 tool/truffle/fail-if-any-failed.rb
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -23,6 +23,7 @@ Makefile
cext-output.txt
bench-results.json
bench-results-processed.json
failures

.DS_Store
.debug.properties
26 changes: 16 additions & 10 deletions ci.hocon
Original file line number Diff line number Diff line change
@@ -271,18 +271,24 @@ bench: {
]
}

post-process-and-upload-results-wait: [
[tool/truffle/post-process-results-json.rb, bench-results.json, bench-results-processed.json],
[bench-uploader.py, bench-results-processed.json],
[tool/truffle/fail-if-any-failed.rb, bench-results-processed.json, --wait]
]

post-process-and-upload-results: [
[tool/truffle/post-process-results-json.rb, bench-results.json, bench-results-processed.json],
[cat, bench-results-processed.json],
[bench-uploader.py, bench-results-processed.json]
[bench-uploader.py, bench-results-processed.json],
[tool/truffle/fail-if-any-failed.rb, bench-results-processed.json]
]

metrics: {
run: ${bench.setup} [
${bench.cmd} [allocation]
] ${post-process-and-upload-results} [
] ${post-process-and-upload-results-wait} [
${bench.cmd} [minheap]
] ${post-process-and-upload-results} [
] ${post-process-and-upload-results-wait} [
${bench.cmd} [time]
] ${post-process-and-upload-results}
timelimit: "00:25:00"
@@ -291,9 +297,9 @@ metrics: {
compiler-metrics: {
run: ${bench.setup} [
${bench.cmd} ["allocation:compile-mandelbrot"]
] ${post-process-and-upload-results} [
] ${post-process-and-upload-results-wait} [
${bench.cmd} ["minheap:compile-mandelbrot"]
] ${post-process-and-upload-results} [
] ${post-process-and-upload-results-wait} [
${bench.cmd} ["time:compile-mandelbrot"]
] ${post-process-and-upload-results}
timelimit: "00:50:00"
@@ -334,13 +340,13 @@ asciidoctor-benchmarks: {
other-benchmarks: {
run: ${bench.setup} [
${bench.cmd} [image-demo]
] ${post-process-and-upload-results} [
] ${post-process-and-upload-results-wait} [
${bench.cmd} [optcarrot]
] ${post-process-and-upload-results} [
] ${post-process-and-upload-results-wait} [
${bench.cmd} [savina]
] ${post-process-and-upload-results} [
] ${post-process-and-upload-results-wait} [
${bench.cmd} [synthetic]
] ${post-process-and-upload-results} [
] ${post-process-and-upload-results-wait} [
${bench.cmd} [micro]
] ${post-process-and-upload-results}
timelimit: "00:40:00"
63 changes: 63 additions & 0 deletions tool/truffle/fail-if-any-failed.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#!/usr/bin/env ruby
# Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
# This code is released under a tri EPL/GPL/LGPL license. You can use it,
# redistribute it and/or modify it under the terms of the:
#
# Eclipse Public License version 1.0
# GNU General Public License version 2
# GNU Lesser General Public License version 2.1

require 'json'

result = JSON.parse(File.read(ARGV[0]))
wait = ARGV[1] == '--wait'

failures = []

known_failures = [
["server", "graal-enterprise-no-om", "jruby", "truffle", "asciidoctor", "asciidoctor:load-file"],
["server", "graal-enterprise-no-om", "jruby", "truffle", "server", "tcp-server"],
["server", "graal-enterprise", "jruby", "truffle", "server", "tcp-server"],
["server", "graal-enterprise", "jruby", "truffle", "asciidoctor", "asciidoctor:load-file"],
["server", "graal-core", "jruby", "truffle", "server", "tcp-server"],
["server", "graal-core", "jruby", "truffle", "asciidoctor", "asciidoctor:load-file"],
["server", "graal-vm", "jruby", "truffle", "asciidoctor", "asciidoctor:load-file"],
["server", "graal-vm", "jruby", "truffle", "server", "tcp-server"],
["server", "graal-vm-snap", "jruby", "truffle", "server", "tcp-server"],
["server", "graal-vm-snap", "jruby", "truffle", "asciidoctor", "asciidoctor:load-file"],
["server", "graal-vm", "jruby", "truffle", "chunky", "chunky-decode-png-image-pass"],
["server", "graal-vm-snap", "jruby", "truffle", "chunky", "chunky-decode-png-image-pass"]
]

if File.exist?('failures')
failures = File.read('failures').split("\n").map { |failure| eval(failure) }
else
failures = []
end

(result['queries'] || []).any? do |q|
if q['extra.error'] == 'failed'
failures.push [q['host-vm'], q['host-vm-config'], q['guest-vm'], q['guest-vm-config'], q['bench-suite'], q['benchmark']]
end
end

known_failures.each do |known_failure|
if failures.delete(known_failure)
STDERR.puts "#{known_failure.inspect} failed, but we know about that"
end
end

if wait
if !failures.empty?
STDERR.puts 'waiting to return failure...'
File.write('failures', failures.map(&:inspect).join("\n"))
end
else
if !failures.empty? || File.exist?('failures')
STDERR.puts 'these failed:'
failures.each do |failure|
STDERR.puts failure.inspect
end
exit 1
end
end