shieru1214 opened a new pull request, #2607:
URL: https://github.com/apache/systemds/pull/2607

   <!DOCTYPE html><h2 cid="n2" mdtype="heading" class="md-end-block md-heading" 
style="box-sizing: border-box; white-space: pre-wrap; break-after: avoid-page; 
break-inside: avoid; orphans: 4; font-size: 1.75em; margin-top: 1rem; 
margin-bottom: 1rem; position: relative; font-weight: bold; line-height: 1.225; 
cursor: text; border-bottom-width: 1px; border-bottom-style: solid; 
border-bottom-color: rgb(238, 238, 238); caret-color: rgb(51, 51, 51); color: 
rgb(51, 51, 51); font-family: &quot;Open Sans&quot;, &quot;Clear Sans&quot;, 
&quot;Helvetica Neue&quot;, Helvetica, Arial, &quot;Segoe UI Emoji&quot;, 
sans-serif; font-style: normal; font-variant-caps: normal; letter-spacing: 
normal; text-align: start; text-indent: 0px; text-transform: none; 
word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 
255, 255); text-decoration: none;"><span md-inline="plain" class="md-plain 
md-expand" style="box-sizing: border-box;">Overview</span></h2><p cid="n3" 
mdtype="paragraph" cla
 ss="md-end-block md-p" style="box-sizing: border-box; line-height: inherit; 
orphans: 4; margin: 0.8em 0px; white-space: pre-wrap; position: relative; 
caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); font-family: &quot;Open 
Sans&quot;, &quot;Clear Sans&quot;, &quot;Helvetica Neue&quot;, Helvetica, 
Arial, &quot;Segoe UI Emoji&quot;, sans-serif; font-size: 16px; font-style: 
normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; 
text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;"><span md-inline="plain" class="md-plain" 
style="box-sizing: border-box;">The existing Scuro tests contained several 
groups of methods that exercised the</span><span md-inline="softbreak" 
class="md-softbreak" style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">same code with different modalities or operators. The join tests 
had a separate</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">problem: they ran a long processing chain but did not check the 
temporal mapping</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">produced by the join itself.</span></p><p cid="n4" 
mdtype="paragraph" class="md-end-block md-p" style="box-sizing: border-box; 
line-height: inherit; orphans: 4; margin: 0.8em 0px; white-space: pre-wrap; 
position: relative; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); 
font-family: &quot;Open Sans&quot;, &quot;Clear Sans&quot;, &quot;Helvetica 
Neue&quot;, Helvetica, Arial, &quot;Segoe UI Emoji&quot;, sans-serif; 
font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: 
400; letter-spacing: normal; text-align: start; text-indent: 0px; 
text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); text-decoration: none;"><span 
md-inline="plain" class="md-plain" style="box-sizing: border-box;">This PR 
parameterizes the repeated cases, separates join mapping from 
integration</span><span md-inline="softbreak" class="md-softbreak" styl
 e="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">coverage, strengthens several weak assertions, and fixes three 
defects exposed by</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">the new join tests.</span></p><figure class="md-table-fig 
table-figure" cid="n5" mdtype="table" style="box-sizing: border-box; margin: 
1.2em 0px; overflow-x: auto; max-width: calc(100% + 16px); padding: 0px; 
cursor: default; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); 
font-family: &quot;Open Sans&quot;, &quot;Clear Sans&quot;, &quot;Helvetica 
Neue&quot;, Helvetica, Arial, &quot;Segoe UI Emoji&quot;, sans-serif; 
font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: 
400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 
0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 
0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;">
   Stage | File | Change
   -- | -- | --
   Loading | test_data_loaders.py | Merge equivalent loader tests, 8 → 6 methods
   Join | test_multimodal_join.py | Split mapping and integration coverage, 5 → 
11 tests
   Join | modality/joined.py | Fix three defects exposed by the mapping tests
   Representation | test_unimodal_optimizer.py | Parameterize five 
modality-specific tests, 13 → 9 methods
   Representation | test_hp_tuner.py | Parameterize text and image cases, 3 → 2 
methods
   Representation | test_unimodal_representations.py | Reuse the existing audio 
fixture helper
   Window/context | test_window_operations.py | Merge three groups of repeated 
cases, 27 → 23 methods
   Window/context | test_text_context_operators.py | Replace random inputs with 
exact chunk and span expectations
   Fusion | test_fusion_orders.py | Replace four copied methods with one 
property table
   Scheduling | test_scheduler.py | Replace ineffective assertions with 
observable outcomes
   
   </figure><h3 cid="n118" mdtype="heading" class="md-end-block md-heading" 
style="box-sizing: border-box; white-space: pre-wrap; break-after: avoid-page; 
break-inside: avoid; orphans: 4; font-size: 1.5em; margin-top: 1rem; 
margin-bottom: 1rem; position: relative; font-weight: bold; line-height: 1.43; 
cursor: text; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); 
font-family: &quot;Open Sans&quot;, &quot;Clear Sans&quot;, &quot;Helvetica 
Neue&quot;, Helvetica, Arial, &quot;Segoe UI Emoji&quot;, sans-serif; 
font-style: normal; font-variant-caps: normal; letter-spacing: normal; 
text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;"><span md-inline="plain" class="md-plain" 
style="box-sizing: border-box;">Representation and optimization</span></h3><p 
cid="n119" mdtype="paragraph" class="md-end-block md-p" style="box-sizing: 
border-box; line-height: inherit; orphans: 4
 ; margin: 0.8em 0px; white-space: pre-wrap; position: relative; caret-color: 
rgb(51, 51, 51); color: rgb(51, 51, 51); font-family: &quot;Open Sans&quot;, 
&quot;Clear Sans&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, 
&quot;Segoe UI Emoji&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; 
text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;"><span md-inline="plain" class="md-plain" 
style="box-sizing: border-box;">Five methods in </span><span md-inline="code" 
spellcheck="false" class="md-pair-s" style="box-sizing: border-box;"><code 
style="box-sizing: border-box; font-family: var(--monospace); text-align: left; 
vertical-align: initial; border: 1px solid rgb(231, 234, 237); 
background-color: rgb(243, 244, 244); border-radius: 3px; padding: 0px 2px; 
font-size: 0.9em;">test_unimodal_optimizer
 .py</code></span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;"> built different modalities and then</span><span 
md-inline="softbreak" class="md-softbreak" style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">called the same helper. They are now one table-driven test with 
five labeled</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">modality-set cases.</span></p><p cid="n120" mdtype="paragraph" 
class="md-end-block md-p" style="box-sizing: border-box; line-height: inherit; 
orphans: 4; margin: 0.8em 0px; white-space: pre-wrap; position: relative; 
caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); font-family: &quot;Open 
Sans&quot;, &quot;Clear Sans&quot;, &quot;Helvetica Neue&quot;, Helvetica, 
Arial, &quot;Segoe UI Emoji&quot;, sans-serif; font-size: 16px; font-style: 
normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; 
text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;"><span md-inline="code" spellcheck="false" 
class="md-pair-s" style="box-sizing: border-box;"><code style="box-sizing: 
border-box; font-family: var(--monospace); text-align: left; vertical-align: 
initial; border: 1px solid 
 rgb(231, 234, 237); background-color: rgb(243, 244, 244); border-radius: 3px; 
padding: 0px 2px; font-size: 0.9em;">test_hp_tuner.py</code></span><span 
md-inline="plain" class="md-plain" style="box-sizing: border-box;"> uses the 
same structure for its text and image cases.</span><span md-inline="softbreak" 
class="md-softbreak" style="box-sizing: border-box;">
   </span><span md-inline="code" spellcheck="false" class="md-pair-s" 
style="box-sizing: border-box;"><code style="box-sizing: border-box; 
font-family: var(--monospace); text-align: left; vertical-align: initial; 
border: 1px solid rgb(231, 234, 237); background-color: rgb(243, 244, 244); 
border-radius: 3px; padding: 0px 2px; font-size: 
0.9em;">test_unimodal_representations.py</code></span><span md-inline="plain" 
class="md-plain" style="box-sizing: border-box;"> now reuses </span><span 
md-inline="code" spellcheck="false" class="md-pair-s" style="box-sizing: 
border-box;"><code style="box-sizing: border-box; font-family: 
var(--monospace); text-align: left; vertical-align: initial; border: 1px solid 
rgb(231, 234, 237); background-color: rgb(243, 244, 244); border-radius: 3px; 
padding: 0px 2px; font-size: 
0.9em;">_create_audio_modality()</code></span><span md-inline="plain" 
class="md-plain" style="box-sizing: border-box;">.</span></p><p cid="n121" 
mdtype="paragraph" class="md-end-block md
 -p" style="box-sizing: border-box; line-height: inherit; orphans: 4; margin: 
0.8em 0px; white-space: pre-wrap; position: relative; caret-color: rgb(51, 51, 
51); color: rgb(51, 51, 51); font-family: &quot;Open Sans&quot;, &quot;Clear 
Sans&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, &quot;Segoe UI 
Emoji&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; 
text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;"><span md-inline="plain" class="md-plain" 
style="box-sizing: border-box;">The separate </span><span md-inline="code" 
spellcheck="false" class="md-pair-s" style="box-sizing: border-box;"><code 
style="box-sizing: border-box; font-family: var(--monospace); text-align: left; 
vertical-align: initial; border: 1px solid rgb(231, 234, 237); 
background-color: rgb(243, 244, 244); border-radius: 3
 px; padding: 0px 2px; font-size: 0.9em;">transform()</code></span><span 
md-inline="plain" class="md-plain" style="box-sizing: border-box;"> and 
</span><span md-inline="code" spellcheck="false" class="md-pair-s" 
style="box-sizing: border-box;"><code style="box-sizing: border-box; 
font-family: var(--monospace); text-align: left; vertical-align: initial; 
border: 1px solid rgb(231, 234, 237); background-color: rgb(243, 244, 244); 
border-radius: 3px; padding: 0px 2px; font-size: 
0.9em;">apply_representation()</code></span><span md-inline="plain" 
class="md-plain" style="box-sizing: border-box;"> tests remain 
separate</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">because they cover different execution paths.</span></p><h3 
cid="n122" mdtype="heading" class="md-end-block md-heading" style="box-sizing: 
border-box; white-space: pre-wrap; break-after: avoid-page; break-inside: 
avoid; orphans: 4; font-size: 1.5em; margin-top: 1rem; margin-bottom: 1rem; 
position: relative; font-weight: bold; line-height: 1.43; cursor: text; 
caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); font-family: &quot;Open 
Sans&quot;, &quot;Clear Sans&quot;, &quot;Helvetica Neue&quot;, Helvetica, 
Arial, &quot;Segoe UI Emoji&quot;, sans-serif; font-style: normal; 
font-variant-caps: normal; letter-spacing: normal; text-align: start; 
text-indent: 0px; text-transform: none; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;"><span md-inline="plain" class="md-plain" 
style="box-sizing: border-box;">Window and text context</span></h3><p 
 cid="n123" mdtype="paragraph" class="md-end-block md-p" style="box-sizing: 
border-box; line-height: inherit; orphans: 4; margin: 0.8em 0px; white-space: 
pre-wrap; position: relative; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 
51); font-family: &quot;Open Sans&quot;, &quot;Clear Sans&quot;, 
&quot;Helvetica Neue&quot;, Helvetica, Arial, &quot;Segoe UI Emoji&quot;, 
sans-serif; font-size: 16px; font-style: normal; font-variant-caps: normal; 
font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; 
text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); text-decoration: none;"><span 
md-inline="plain" class="md-plain" style="box-sizing: border-box;">Seven 
repeated methods in </span><span md-inline="code" spellcheck="false" 
class="md-pair-s" style="box-sizing: border-box;"><code style="box-sizing: 
border-box; font-family: var(--monospace); text-align: left; vertical-align: 
initial; border: 1px solid rgb(231, 
 234, 237); background-color: rgb(243, 244, 244); border-radius: 3px; padding: 
0px 2px; font-size: 0.9em;">test_window_operations.py</code></span><span 
md-inline="plain" class="md-plain" style="box-sizing: border-box;"> become 
three parameterized</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">tests:</span></p><pre class="md-fences md-end-block ty-contain-cm 
modeLoaded" spellcheck="false" lang="text" cid="n124" mdtype="fences" 
style="box-sizing: border-box; overflow: visible; font-family: 
var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; 
text-align: left; white-space: normal; background-image: inherit; 
background-position: inherit; background-size: inherit; background-repeat: 
inherit; background-attachment: inherit; background-origin: inherit; 
background-clip: inherit; background-color: rgb(248, 248, 248); position: 
relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; 
padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; 
caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); font-style: normal; 
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 
auto; text-indent: 0px; text-transform: none; widow
 s: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: 
none;"><span role="presentation" style="box-sizing: border-box; padding-right: 
0.1px;">StaticWindow / DynamicWindow &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; → 2 cases</span><br><span 
role="presentation" style="box-sizing: border-box; padding-right: 0.1px;">AUDIO 
/ VIDEO / TEXT × mean / sum / max / min &nbsp; &nbsp; &nbsp; → 12 
cases</span><br><span role="presentation" style="box-sizing: border-box; 
padding-right: 0.1px;">2D / 3D inputs × 3 window operators &nbsp; &nbsp; &nbsp; 
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  → 6 cases</span></pre><p cid="n125" 
mdtype="paragraph" class="md-end-block md-p" style="box-sizing: border-box; 
line-height: inherit; orphans: 4; margin: 0.8em 0px; white-space: pre-wrap; 
position: relative; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); 
font-family: &quot;Open Sans&quot;, &quot;Clear Sans&quot;, &quot;Helvetica 
Neue&quot;, H
 elvetica, Arial, &quot;Segoe UI Emoji&quot;, sans-serif; font-size: 16px; 
font-style: normal; font-variant-caps: normal; font-weight: 400; 
letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: 
none; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: 
rgb(255, 255, 255); text-decoration: none;"><span md-inline="plain" 
class="md-plain" style="box-sizing: border-box;">All 20 cases 
remain.</span></p><p cid="n126" mdtype="paragraph" class="md-end-block md-p" 
style="box-sizing: border-box; line-height: inherit; orphans: 4; margin: 0.8em 
0px; white-space: pre-wrap; position: relative; caret-color: rgb(51, 51, 51); 
color: rgb(51, 51, 51); font-family: &quot;Open Sans&quot;, &quot;Clear 
Sans&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, &quot;Segoe UI 
Emoji&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; 
text-align: start; text-indent: 0px; text-transform: none; word-sp
 acing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 
255); text-decoration: none;"><span md-inline="code" spellcheck="false" 
class="md-pair-s" style="box-sizing: border-box;"><code style="box-sizing: 
border-box; font-family: var(--monospace); text-align: left; vertical-align: 
initial; border: 1px solid rgb(231, 234, 237); background-color: rgb(243, 244, 
244); border-radius: 3px; padding: 0px 2px; font-size: 
0.9em;">test_text_context_operators.py</code></span><span md-inline="plain" 
class="md-plain" style="box-sizing: border-box;"> now uses two fixed texts. 
This allows complete</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">chunks and exact character spans to be checked, including 
agreement between the</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">string-returning and span-returning operators.</span></p><h3 
cid="n127" mdtype="heading" class="md-end-block md-heading" style="box-sizing: 
border-box; white-space: pre-wrap; break-after: avoid-page; break-inside: 
avoid; orphans: 4; font-size: 1.5em; margin-top: 1rem; margin-bottom: 1rem; 
position: relative; font-weight: bold; line-height: 1.43; cursor: text; 
caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); font-family: &quot;Open 
Sans&quot;, &quot;Clear Sans&quot;, &quot;Helvetica Neue&quot;, Helvetica, 
Arial, &quot;Segoe UI Emoji&quot;, sans-serif; font-style: normal; 
font-variant-caps: normal; letter-spacing: normal; text-align: start; 
text-indent: 0px; text-transform: none; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;"><span md-inline="plain" class="md-plain" 
style="box-sizing: border-box;">Fusion and scheduling</span></h3><p c
 id="n128" mdtype="paragraph" class="md-end-block md-p" style="box-sizing: 
border-box; line-height: inherit; orphans: 4; margin: 0.8em 0px; white-space: 
pre-wrap; position: relative; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 
51); font-family: &quot;Open Sans&quot;, &quot;Clear Sans&quot;, 
&quot;Helvetica Neue&quot;, Helvetica, Arial, &quot;Segoe UI Emoji&quot;, 
sans-serif; font-size: 16px; font-style: normal; font-variant-caps: normal; 
font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; 
text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); text-decoration: none;"><span 
md-inline="code" spellcheck="false" class="md-pair-s" style="box-sizing: 
border-box;"><code style="box-sizing: border-box; font-family: 
var(--monospace); text-align: left; vertical-align: initial; border: 1px solid 
rgb(231, 234, 237); background-color: rgb(243, 244, 244); border-radius: 3px; 
padding: 0px 2px; font-size: 0.9em;">t
 est_fusion_orders.py</code></span><span md-inline="plain" class="md-plain" 
style="box-sizing: border-box;"> replaces four copied methods with one property 
table for</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">Average, Concatenation, RowMax, and Hadamard. The shared structure 
also exposes</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">a Concatenation assertion that previously compared the wrong 
results.</span></p><p cid="n129" mdtype="paragraph" class="md-end-block md-p" 
style="box-sizing: border-box; line-height: inherit; orphans: 4; margin: 0.8em 
0px; white-space: pre-wrap; position: relative; caret-color: rgb(51, 51, 51); 
color: rgb(51, 51, 51); font-family: &quot;Open Sans&quot;, &quot;Clear 
Sans&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, &quot;Segoe UI 
Emoji&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; 
text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;"><span md-inline="plain" class="md-plain" 
style="box-sizing: border-box;">In </span><span md-inline="code" 
spellcheck="false" class="md-pair-s" style="box-sizing: border-bo
 x;"><code style="box-sizing: border-box; font-family: var(--monospace); 
text-align: left; vertical-align: initial; border: 1px solid rgb(231, 234, 
237); background-color: rgb(243, 244, 244); border-radius: 3px; padding: 0px 
2px; font-size: 0.9em;">test_scheduler.py</code></span><span md-inline="plain" 
class="md-plain" style="box-sizing: border-box;">, the deadlock test now checks 
</span><span md-inline="code" spellcheck="false" class="md-pair-s" 
style="box-sizing: border-box;"><code style="box-sizing: border-box; 
font-family: var(--monospace); text-align: left; vertical-align: initial; 
border: 1px solid rgb(231, 234, 237); background-color: rgb(243, 244, 244); 
border-radius: 3px; padding: 0px 2px; font-size: 
0.9em;">scheduler.success</code></span><span md-inline="plain" class="md-plain" 
style="box-sizing: border-box;"> and the</span><span md-inline="softbreak" 
class="md-softbreak" style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">number of completed nodes. The second-level scheduling test 
verifies that a node</span><span md-inline="softbreak" class="md-softbreak" 
style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">was returned before iterating over it.</span></p><h2 cid="n130" 
mdtype="heading" class="md-end-block md-heading" style="box-sizing: border-box; 
white-space: pre-wrap; break-after: avoid-page; break-inside: avoid; orphans: 
4; font-size: 1.75em; margin-top: 1rem; margin-bottom: 1rem; position: 
relative; font-weight: bold; line-height: 1.225; cursor: text; 
border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: 
rgb(238, 238, 238); caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); 
font-family: &quot;Open Sans&quot;, &quot;Clear Sans&quot;, &quot;Helvetica 
Neue&quot;, Helvetica, Arial, &quot;Segoe UI Emoji&quot;, sans-serif; 
font-style: normal; font-variant-caps: normal; letter-spacing: normal; 
text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;"><span md-inline="plai
 n" class="md-plain" style="box-sizing: border-box;">Validation</span></h2><p 
cid="n131" mdtype="paragraph" class="md-end-block md-p" style="box-sizing: 
border-box; line-height: inherit; orphans: 4; margin: 0.8em 0px; white-space: 
pre-wrap; position: relative; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 
51); font-family: &quot;Open Sans&quot;, &quot;Clear Sans&quot;, 
&quot;Helvetica Neue&quot;, Helvetica, Arial, &quot;Segoe UI Emoji&quot;, 
sans-serif; font-size: 16px; font-style: normal; font-variant-caps: normal; 
font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; 
text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); text-decoration: none;"><span 
md-inline="plain" class="md-plain" style="box-sizing: border-box;">The complete 
suite also passes with the command used by the Scuro CI job:</span></p><pre 
class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" 
lang="text" cid="n132"
  mdtype="fences" style="box-sizing: border-box; overflow: visible; 
font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: 
avoid; text-align: left; white-space: normal; background-image: inherit; 
background-position: inherit; background-size: inherit; background-repeat: 
inherit; background-attachment: inherit; background-origin: inherit; 
background-clip: inherit; background-color: rgb(248, 248, 248); position: 
relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; 
padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; 
caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); font-style: normal; 
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 
auto; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; text-decoration: none;"><span 
role="presentation" style="box-sizing: border-box; padding-right: 
0.1px;">python -m unittest discover -s tests/
 scuro -p 'test_*.py'</span><br><span role="presentation" style="box-sizing: 
border-box; padding-right: 0.1px;">Ran 194 tests in 148.631s</span><br><span 
role="presentation" style="box-sizing: border-box; padding-right: 
0.1px;">OK</span></pre><p cid="n133" mdtype="paragraph" class="md-end-block 
md-p" style="box-sizing: border-box; line-height: inherit; orphans: 4; margin: 
0.8em 0px; white-space: pre-wrap; position: relative; caret-color: rgb(51, 51, 
51); color: rgb(51, 51, 51); font-family: &quot;Open Sans&quot;, &quot;Clear 
Sans&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, &quot;Segoe UI 
Emoji&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; 
text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); 
text-decoration: none;"><span md-inline="plain" class="md-plain" 
style="box-sizing: border-box;">CI uses Python 3.8
  on a GitHub-hosted runner, so its absolute runtime will differ</span><span 
md-inline="softbreak" class="md-softbreak" style="box-sizing: border-box;">
   </span><span md-inline="plain" class="md-plain" style="box-sizing: 
border-box;">from the local benchmark.</span></p><p cid="n136" 
mdtype="paragraph" class="md-end-block md-p md-focus" style="box-sizing: 
border-box; line-height: inherit; orphans: 4; margin: 0.8em 0px; white-space: 
pre-wrap; position: relative; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 
51); font-family: &quot;Open Sans&quot;, &quot;Clear Sans&quot;, 
&quot;Helvetica Neue&quot;, Helvetica, Arial, &quot;Segoe UI Emoji&quot;, 
sans-serif; font-size: 16px; font-style: normal; font-variant-caps: normal; 
font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; 
text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; 
background-color: rgb(255, 255, 255); text-decoration: none;"></p><br 
class="Apple-interchange-newline">


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to