allow running each test with pure ruby path/to/test.rb

also:
 - makes test dependencies obvious
 - makes tests runnable from within subfolders
上级 6da2152d
......@@ -7,7 +7,6 @@ task default: :test
task :package
Rake::TestTask.new do |t|
t.libs << "test"
t.pattern = "test/**/*_test.rb"
t.warning = true
t.verbose = true
......@@ -21,7 +20,7 @@ end
namespace :test do
task :isolated do
Dir.glob("test/**/*_test.rb").all? do |file|
sh(Gem.ruby, "-w", "-Ilib:test", file)
sh(Gem.ruby, "-w", file)
end || raise("Failures")
end
......@@ -31,7 +30,6 @@ namespace :test do
task("env:#{driver}") { ENV["REDIS_DRIVER"] = driver }
Rake::TestTask.new(driver => "env:#{driver}") do |t|
t.libs << "test"
t.test_files = ["test/cache/stores/redis_cache_store_test.rb"]
t.warning = true
t.verbose = true
......
......@@ -2,6 +2,7 @@
ORIG_ARGV = ARGV.dup
require "bundler/setup"
require "active_support/core_ext/kernel/reporting"
silence_warnings do
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/actionable_error"
class ActionableErrorTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/core_ext/array"
class ArrayInquirerTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
class TestAutoloadModule < ActiveSupport::TestCase
include ActiveSupport::Testing::Isolation
......@@ -16,6 +16,11 @@ module Autoload
def setup
@some_class_path = File.expand_path("test/fixtures/autoload/some_class.rb")
@another_class_path = File.expand_path("test/fixtures/autoload/another_class.rb")
$LOAD_PATH << "test"
end
def teardown
$LOAD_PATH.pop
end
test "the autoload module works like normal autoload" do
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
class BenchmarkableTest < ActiveSupport::TestCase
include ActiveSupport::Benchmarkable
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
module ActiveSupport
class BroadcastLoggerTest < TestCase
......
# frozen_string_literal: true
require "dependencies_test_helpers"
require_relative "../../dependencies_test_helpers"
module AutoloadingCacheBehavior
include DependenciesTestHelpers
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/cache"
class CacheEntryTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/cache"
class CacheKeyTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/cache"
class CacheStoreLoggerTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/cache"
class CacheStoreNamespaceTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/cache"
require "dalli"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/cache"
module ActiveSupport
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/cache"
require_relative "../behaviors"
require "pathname"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/cache"
require_relative "../behaviors"
require "dalli"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/cache"
require_relative "../behaviors"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/cache"
require_relative "../behaviors"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/cache"
require "active_support/cache/redis_cache_store"
require_relative "../behaviors"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
class GrandParent
include ActiveSupport::Callbacks
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
module CallbacksTest
class Record
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/dependencies"
module ActiveSupport
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
class BacktraceCleanerFilterTest < ActiveSupport::TestCase
def setup
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "stringio"
require "active_support/logger"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/concern"
class ConcernTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "concurrent/atomic/count_down_latch"
require "active_support/concurrency/load_interlock_aware_monitor"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/configurable"
class ConfigurableActiveSupport < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "dependencies_test_helpers"
require_relative "dependencies_test_helpers"
module Ace
module Base
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/array"
class AccessTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/array"
require "active_support/core_ext/big_decimal"
require "active_support/core_ext/hash"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/array"
require "active_support/core_ext/hash"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/array"
class ExtractTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/array"
class GroupingTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/array"
class PrependAppendTest < ActiveSupport::TestCase
def test_requiring_prepend_and_append_is_deprecated
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/array"
class WrapTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/big_decimal"
class BigDecimalTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/class/attribute"
class ClassAttributeTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/class"
require "set"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
module DateAndTimeBehavior
def test_yesterday
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/time"
require "time_zone_test_helpers"
require_relative "../time_zone_test_helpers"
class DateAndTimeCompatibilityTest < ActiveSupport::TestCase
include TimeZoneTestHelpers
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/time"
require "core_ext/date_and_time_behavior"
require "time_zone_test_helpers"
require_relative "../core_ext/date_and_time_behavior"
require_relative "../time_zone_test_helpers"
class DateExtCalculationsTest < ActiveSupport::TestCase
def date_time_init(year, month, day, *args)
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/time"
require "core_ext/date_and_time_behavior"
require "time_zone_test_helpers"
require_relative "../core_ext/date_and_time_behavior"
require_relative "../time_zone_test_helpers"
class DateTimeExtCalculationsTest < ActiveSupport::TestCase
def date_time_init(year, month, day, hour, minute, second, usec = 0)
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/digest/uuid"
class DigestUUIDExt < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/inflector"
require "active_support/time"
require "active_support/json"
require "time_zone_test_helpers"
require_relative "../time_zone_test_helpers"
require "yaml"
class DurationTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/array"
require "active_support/core_ext/enumerable"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/file"
class AtomicWriteTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/hash/indifferent_access"
class TransformValuesDeprecatedRequireTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/hash"
require "bigdecimal"
require "active_support/core_ext/string/access"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/integer"
class IntegerExtTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/kernel/concern"
class KernelConcernTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/kernel"
class KernelTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/load_error"
class TestLoadError < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/marshal"
require "dependencies_test_helpers"
require_relative "../dependencies_test_helpers"
class MarshalTest < ActiveSupport::TestCase
include ActiveSupport::Testing::Isolation
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/module/anonymous"
class AnonymousTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/module/attr_internal"
class AttrInternalTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/module/attribute_accessors_per_thread"
class ModuleAttributeAccessorPerThreadTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/module/attribute_accessors"
class ModuleAttributeAccessorTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/module/aliasing"
module AttributeAliasing
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/module/concerning"
class ModuleConcerningTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/module/introspection"
module ParentA
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/module/remove_method"
module RemoveMethodTests
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/module"
Somewhere = Struct.new(:street, :city) do
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/name_error"
class NameErrorTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/time"
require "active_support/core_ext/numeric"
require "active_support/core_ext/integer"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/date/acts_like"
require "active_support/core_ext/time/acts_like"
require "active_support/core_ext/date_time/acts_like"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/object/blank"
class BlankTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/object/deep_dup"
class DeepDupTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "bigdecimal"
require "active_support/core_ext/object/duplicable"
require "active_support/core_ext/numeric/time"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/object/inclusion"
class InTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/object/instance_variables"
class ObjectInstanceVariableTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
# These test cases were added to test that cherry-picking the json extensions
# works correctly, primarily for dependencies problems reported in #16131. They
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "json"
require "json/encoding_test_cases"
require_relative "../../json/encoding_test_cases"
# These test cases were added to test that we do not interfere with json gem's
# output when the AS encoder is loaded, primarily for problems reported in
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/core_ext/object/to_param"
class ToParamTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../../abstract_unit"
require "active_support/ordered_hash"
require "active_support/core_ext/object/to_query"
require "active_support/core_ext/string/output_safety"
......
# frozen_string_literal: true
require "abstract_unit"
require "active_support/core_ext/object/try"
require_relative "../../abstract_unit"
require "active_support/core_ext/object"
class ObjectTryTest < ActiveSupport::TestCase
def setup
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/time"
require "active_support/core_ext/numeric"
require "active_support/core_ext/range"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/regexp"
class RegexpExtAccessTests < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/core_ext/securerandom"
class SecureRandomTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "date"
require "abstract_unit"
require_relative "../abstract_unit"
require "timeout"
require "inflector_test_cases"
require "constantize_test_cases"
require_relative "../inflector_test_cases"
require_relative "../constantize_test_cases"
require "active_support/inflector"
require "active_support/core_ext/string"
......@@ -12,7 +12,7 @@
require "active_support/core_ext/string/output_safety"
require "active_support/core_ext/string/indent"
require "active_support/core_ext/string/strip"
require "time_zone_test_helpers"
require_relative "../time_zone_test_helpers"
require "yaml"
class StringInflectionsTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/time"
require "core_ext/date_and_time_behavior"
require "time_zone_test_helpers"
require_relative "../core_ext/date_and_time_behavior"
require_relative "../time_zone_test_helpers"
class TimeExtCalculationsTest < ActiveSupport::TestCase
def date_time_init(year, month, day, hour, minute, second, usec = 0)
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/time"
require "time_zone_test_helpers"
require_relative "../time_zone_test_helpers"
require "yaml"
class TimeWithZoneTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "uri"
require "active_support/core_ext/uri"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
class CurrentAttributesTest < ActiveSupport::TestCase
Person = Struct.new(:id, :name, :time_zone)
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "pp"
require "active_support/dependencies"
require "dependencies_test_helpers"
require_relative "dependencies_test_helpers"
module ModuleWithMissing
mattr_accessor :missing_count
......@@ -21,11 +22,13 @@ class DependenciesTest < ActiveSupport::TestCase
setup do
@loaded_features_copy = $LOADED_FEATURES.dup
$LOAD_PATH << "test"
end
teardown do
ActiveSupport::Dependencies.clear
$LOADED_FEATURES.replace(@loaded_features_copy)
$LOAD_PATH.pop
end
def test_depend_on_path
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/deprecation"
class MethodWrappersTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "../abstract_unit"
require "active_support/deprecation"
class ProxyWrappersTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/testing/stream"
class Deprecatee
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/descendants_tracker"
require "active_support/dependencies"
require "descendants_tracker_test_cases"
require_relative "descendants_tracker_test_cases"
class DescendantsTrackerWithAutoloadingTest < ActiveSupport::TestCase
include DescendantsTrackerTestCases
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/descendants_tracker"
require "descendants_tracker_test_cases"
require_relative "descendants_tracker_test_cases"
class DescendantsTrackerWithoutAutoloadingTest < ActiveSupport::TestCase
include DescendantsTrackerTestCases
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "openssl"
class DigestTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/encrypted_configuration"
class EncryptedConfigurationTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/encrypted_file"
class EncryptedFileTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "pathname"
require "file_update_checker_shared_tests"
require_relative "file_update_checker_shared_tests"
class EventedFileUpdateCheckerTest < ActiveSupport::TestCase
include FileUpdateCheckerSharedTests
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
class ExecutorTest < ActiveSupport::TestCase
class DummyError < RuntimeError
......
# frozen_string_literal: true
require "abstract_unit"
require "file_update_checker_shared_tests"
require_relative "abstract_unit"
require_relative "file_update_checker_shared_tests"
class FileUpdateCheckerTest < ActiveSupport::TestCase
include FileUpdateCheckerSharedTests
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
class ForkTrackerTest < ActiveSupport::TestCase
def test_object_fork
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/core_ext/object/blank"
class GzipTest < ActiveSupport::TestCase
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/core_ext/hash"
require "bigdecimal"
require "active_support/core_ext/string/access"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/time"
require "active_support/core_ext/array/conversions"
......
# frozen_string_literal: true
require "abstract_unit"
require_relative "abstract_unit"
require "active_support/inflector"
require "inflector_test_cases"
require "constantize_test_cases"
require_relative "inflector_test_cases"
require_relative "constantize_test_cases"
class InflectorTest < ActiveSupport::TestCase
include InflectorTestCases
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册