Project

General

Profile

Actions

Bug #16973

closed

Rails Active Support unit test fails since 41582d5866

Added by yahonda (Yasuo Honda) over 4 years ago. Updated over 4 years ago.

Status:
Third Party's Issue
Assignee:
-
Target version:
-
ruby -v:
ruby 2.8.0dev (2020-06-18T15:18:31Z master 41582d5866) [x86_64-linux]
[ruby-core:98895]

Description

Recently Rails CI against Ruby 2.8.0dev has been failing since https://buildkite.com/rails/rails/builds/70219#79d96882-6c51-4854-8cab-28f50ac8bca1 .
The last successful one is https://buildkite.com/rails/rails/builds/70207#ff70c57d-1d72-493b-be63-0ac1827ea44d .

Compared Ruby commit https://github.com/ruby/ruby/compare/41a4c80d284a24360d3a6c5b6e5ca408ccca6efc...adbdf11f94afd52d276c7891515e0eb808f6003f then Based on git bisect between 41a4c80d284a24360d3a6c5b6e5ca408ccca6efc and adbdf11f94afd52d276c7891515e0eb808f6003f, I've found commit 41582d5866 triggers these failures.

Script to reproduce. saved as "rep.rb"

# frozen_string_literal: true

require "bundler/inline"

gemfile(true) do
  source "https://rubygems.org"

  git_source(:github) { |repo| "https://github.com/#{repo}.git" }

  gem "activesupport"
end

require 'active_support/all'
require "minitest/autorun"
require "logger"

class ToJsonTest < Minitest::Test
  def test_json_time_format
    ActiveSupport::JSON::Encoding.use_standard_json_time_format = false
    assert_equal '{"time":"2009/01/01 00:00:00 +0000"}', { time: Time.utc(2009) }.to_json
  end
end

Actual result with Ruby 2.8.0dev 41582d5866

$ ruby -v
ruby 2.8.0dev (2020-06-18T15:18:31Z master 41582d5866) [x86_64-linux]
$ ruby rep.rb 
Fetching gem metadata from https://rubygems.org/........
Resolving dependencies...
Using minitest 5.14.1
Using concurrent-ruby 1.1.6
Using thread_safe 0.3.6
Using zeitwerk 2.3.0
Using bundler 2.2.0.dev
Using tzinfo 1.2.7
Using i18n 1.8.3
Using activesupport 6.0.3.2
Run options: --seed 43482

# Running:

F

Finished in 0.004782s, 209.1063 runs/s, 209.1063 assertions/s.

  1) Failure:
ToJsonTest#test_json_time_format [rep.rb:20]:
--- expected
+++ actual
@@ -1 +1 @@
-"{\"time\":\"2009/01/01 00:00:00 +0000\"}"
+"{\"time\":\"2009-01-01 00:00:00 UTC\"}"


1 runs, 1 assertions, 1 failures, 0 errors, 0 skips
$

Expected result with Ruby 2.8.0dev 750203c514

$ ruby -v rep.rb 
ruby 2.8.0dev (2020-06-18T14:43:48Z master 750203c514) [x86_64-linux]
/home/yahonda/.rbenv/versions/2.8.0-dev/lib/ruby/2.8.0/bundler/vendored_persistent.rb:34: warning: instance variable @socket not initialized
Fetching gem metadata from https://rubygems.org/........
Resolving dependencies...
Using minitest 5.14.1
Using zeitwerk 2.3.0
Using concurrent-ruby 1.1.6
Using thread_safe 0.3.6
Using bundler 2.2.0.dev
Using i18n 1.8.3
Using tzinfo 1.2.7
Using activesupport 6.0.3.2
/home/yahonda/.rbenv/versions/2.8.0-dev/lib/ruby/gems/2.8.0/gems/activesupport-6.0.3.2/lib/active_support/core_ext/hash/except.rb:12: warning: method redefined; discarding old except
Run options: --seed 11397

# Running:

.

Finished in 0.002117s, 472.3315 runs/s, 472.3315 assertions/s.

1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
$

Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #9573: descendants of a module don't gain its future ancestors, but descendants of a class, doClosedActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0