Skip to content

Commit c3d3611

Browse files
authored
chore: Add JUnit XML reporting to Spanner veneer test suites (#253)
1 parent e494681 commit c3d3611

5 files changed

Lines changed: 43 additions & 0 deletions

File tree

google-cloud-spanner/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@ jsondoc/*
77

88
# Ignore YARD stuffs
99
.yardoc
10+
11+
# Ignore transient test outputs
12+
tmp
13+

google-cloud-spanner/Gemfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ gem "irb", "~> 1.17"
1616
gem "minitest", "~> 5.25"
1717
gem "minitest-autotest", "~> 1.0"
1818
gem "minitest-focus", "~> 1.4"
19+
gem "minitest-reporters", "~> 1.7"
1920
gem "minitest-rg", "~> 5.3"
21+
2022
gem "mutex_m", "~> 0.3.0"
2123
gem "pry", group: :development, require: false
2224
gem "rake"

google-cloud-spanner/Gemfile.lock

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ GEM
1414
specs:
1515
addressable (2.9.0)
1616
public_suffix (>= 2.0.2, < 8.0)
17+
ansi (1.6.0)
1718
ast (2.4.3)
1819
autotest-suffix (1.1.0)
1920
backport (1.2.0)
2021
base64 (0.3.0)
2122
benchmark (0.5.0)
2223
bigdecimal (3.3.1)
24+
builder (3.3.0)
2325
coderay (1.1.3)
2426
concurrent-ruby (1.3.7)
2527
date (3.5.1)
@@ -151,6 +153,11 @@ GEM
151153
path_expander (~> 2.0)
152154
minitest-focus (1.4.1)
153155
minitest (> 5.0)
156+
minitest-reporters (1.8.0)
157+
ansi
158+
builder
159+
minitest (>= 5.0, < 7)
160+
ruby-progressbar
154161
minitest-rg (5.4.0)
155162
minitest (>= 5.0, < 7)
156163
minitest-server (1.0.10)
@@ -307,6 +314,7 @@ DEPENDENCIES
307314
minitest (~> 5.25)
308315
minitest-autotest (~> 1.0)
309316
minitest-focus (~> 1.4)
317+
minitest-reporters (~> 1.7)
310318
minitest-rg (~> 5.3)
311319
mutex_m (~> 0.3.0)
312320
pry
@@ -319,12 +327,14 @@ DEPENDENCIES
319327

320328
CHECKSUMS
321329
addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af
330+
ansi (1.6.0)
322331
ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
323332
autotest-suffix (1.1.0) sha256=9bb29331b7b66a9659b01ef10839bd61fc1a6e95477c8ea710bd01e10c380977
324333
backport (1.2.0) sha256=912c7dfdd9ee4625d013ddfccb6205c3f92da69a8990f65c440e40f5b2fc7f75
325334
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
326335
benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
327336
bigdecimal (3.3.1) sha256=eaa01e228be54c4f9f53bf3cc34fe3d5e845c31963e7fcc5bedb05a4e7d52218
337+
builder (3.3.0)
328338
bundler (4.0.12) sha256=7f8b757d28dfb636e7b24fba2344ac6dd13b5b24f4b46d62573d483f211825ac
329339
coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
330340
concurrent-ruby (1.3.7) sha256=4412caec3a5ea2e5fdc52076724c071a81f2c0593d83b2ac8cbb8ca63b3151b0
@@ -379,6 +389,7 @@ CHECKSUMS
379389
minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
380390
minitest-autotest (1.2.0) sha256=60d031cba705215450662b0060f03f96507682b346a19c27f6756751ad92d2b4
381391
minitest-focus (1.4.1) sha256=394517cbe2dcb2d992d8ffc41a3b2b6315777a4daa69239de4fefe7110dd810e
392+
minitest-reporters (1.8.0)
382393
minitest-rg (5.4.0) sha256=54d42bb8ce876381245be5866f3c1dd704ef79c06ba5c9ff280c0aa28c56effb
383394
minitest-server (1.0.10) sha256=275439bf3ffc433fcbe161733248f1d9749ebf122892cf010bf864aaa95cef75
384395
multi_json (1.21.1) sha256=e6126a31808e3b4d19f483c775ceac34df190dffa62adfb63a165ee14ba68080

google-cloud-spanner/acceptance/spanner_helper.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,19 @@
1818
require "minitest/autorun"
1919
require "minitest/focus"
2020

21+
if ENV["CI"] || ENV["KOKORO_JOB_NAME"]
22+
# Load the shared JUnit preloader from googleapis/ruby-common-tools to format
23+
# minitest output as JUnit XML (writing to tmp/reports/sponge_log.xml).
24+
# This enables test result indexing and health tracking on TestGrid dashboards.
25+
begin
26+
require "gapic/minitest_junit_preloader"
27+
rescue LoadError
28+
# Fallback when running outside of Kokoro task environments without the preloader
29+
end
30+
end
31+
32+
33+
2134
require "google/cloud/spanner"
2235
require "google/cloud/spanner/admin/database"
2336

google-cloud-spanner/test/helper.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,19 @@
1818
require "minitest/autorun"
1919
require "minitest/focus"
2020
require "minitest/rg"
21+
22+
if ENV["CI"] || ENV["KOKORO_JOB_NAME"]
23+
# Load the shared JUnit preloader from googleapis/ruby-common-tools to format
24+
# minitest output as JUnit XML (writing to tmp/reports/sponge_log.xml).
25+
# This enables test result indexing and health tracking on TestGrid dashboards.
26+
begin
27+
require "gapic/minitest_junit_preloader"
28+
rescue LoadError
29+
# Fallback when running outside of Kokoro task environments without the preloader
30+
end
31+
end
32+
33+
2134
require "ostruct"
2235
require "json"
2336
require "base64"

0 commit comments

Comments
 (0)