Repository navigation
Lay out the conformance code as common, v27 and v31r1 - #62
Merged
Merged
Conversation
3.1r1 imported 2.7's s8.helpers 48 times and placed definitions from 2.7's numbered packages. The code both revisions use is now in common, 2.7's own code is in a flat v27, and 3.1r1 refers to the 2.7 definitions it reuses as v27.Procedure..., so each name says where it comes from. - 2.7's procedure objects are named after their ids, e.g. Procedure8_2_1_2_1 and Procedure8_21_2_1, which shared a name in different packages before. - v27/Tree.scala replaces the 57 Section.scala files. It's built with the section(id, title)(children*) builder 3.1r1's tree used, now in api in place of the varargs one. - The 80 one-line procedure objects are folded into one file per 8.x section, e.g. Procedures8_14.scala; the rest keep a file each. - common holds the helpers from s8/helpers except AttributeValidations and EventBufferSteps, which stay in v27, plus SupervisoryControl and the link-layer steps of s6's package object, as LinkSteps. The 6.6.2 and 6.6.3 helpers are v27.PrimaryFrames and v27.SecondaryFrames. - Tests moved to match: helper tests to common, the rest to v27. Ids, titles, levels and order are unchanged. Every procedure's -describe output, the trees and the disabled lists are the same as before, for both revisions at each subset level, with the defaults and with every boolean option on and off. Part of #59.
This was referenced Oct 14, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Item 3 of #59.
3.1r1 imported 2.7's
s8.helpers48 times and placed definitions from 2.7's numbered packages. Now the code both revisions use is incommon, 2.7's own code is in a flatv27, and 3.1r1 refers to the 2.7 definitions it reuses asv27.Procedure…, so each name says where it comes from.Changes
Procedure8_2_1_2_1(SBO, 0x28) andProcedure8_21_2_1(double-bit read). Before, those two shared the nameProcedure82121in different packages, as did seven other pairs.v27/Tree.scalareplaces the 57Section.scalafiles. It's built with thesection(id, title)(children*)builder that 3.1r1's tree used. The builder is now inapi, replacing the varargsapi.section.Procedures8_2,8_4,8_5,8_11,8_14and8_22. Each is still its own top-level singleton. The other 77 procedures keep a file each.commonholds:s8/helpers, exceptAttributeValidationsandEventBufferSteps, which stay inv27SupervisoryControls6's package object, asLinkStepsSectionobjects and are nowv27.PrimaryFramesandv27.SecondaryFrames.private[helpers]is nowprivate[common], and the numbered packages'private[sN]is nowprivate[v27].expectNoEventsUnsolicitedisprivate[conformance], because bothcommonandv27use it.common, the rest tov27. The procedure tests are renamed after their procedures, e.g.Procedure8_11_2_1Test.Unchanged
Ids, titles, levels and order are the same. A dump compared before and after the move came out byte-identical. It covered:
-describeoutput: options, steps and cleanupIt ran at each subset level of both revisions, in four configurations: the defaults, a device profile, every boolean option on, and every boolean option off. Each 3.1r1 placement still uses the same definition as before, now under its new name.