summaryrefslogtreecommitdiff
path: root/tool/lib/test/unit.rb
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-10-10 19:23:52 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-10-10 19:23:52 +0900
commitcec61d16d2fb50812a003338a719f186a6bd88ef (patch)
treef9516f996fb6bfe4afc85ba3465f6d0beeda34c5 /tool/lib/test/unit.rb
parentfb9ea391cf36f103a960ccb476271dcc912f2e69 (diff)
Run JIT tests first when random order instead of no-sort
Diffstat (limited to 'tool/lib/test/unit.rb')
-rw-r--r--tool/lib/test/unit.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/tool/lib/test/unit.rb b/tool/lib/test/unit.rb
index 9671df1ad4..15e290e5f1 100644
--- a/tool/lib/test/unit.rb
+++ b/tool/lib/test/unit.rb
@@ -70,6 +70,12 @@ module Test
alias sort_by_string sort_by_name
def group(list)
+ list
+ end
+ end
+
+ module JITFirst
+ def group(list)
# JIT first
jit, others = list.partition {|e| /test_jit/ =~ e}
jit + others
@@ -77,6 +83,8 @@ module Test
end
class Alpha < NoSort
+ include JITFirst
+
def sort_by_name(list)
list.sort_by(&:name)
end
@@ -89,6 +97,8 @@ module Test
# shuffle test suites based on CRC32 of their names
Shuffle = Struct.new(:seed, :salt) do
+ include JITFirst
+
def initialize(seed)
self.class::CRC_TBL ||= (0..255).map {|i|
(0..7).inject(i) {|c,| (c & 1 == 1) ? (0xEDB88320 ^ (c >> 1)) : (c >> 1) }
@@ -106,10 +116,6 @@ module Test
list.sort_by {|e| randomize_key(e)}
end
- def group(list)
- list
- end
-
private
def crc32(str, crc32 = 0xffffffff)