[Scons-users] Fwd: Dependency tree for test framework
Bill Deegan
bill at baddogconsulting.com
Mon Mar 31 15:29:24 EDT 2025
Any chance we can get you to jump on our discord server for more
interactive discussion?
Also question how a.ini and b.dat can accept outputs from both aNew.exe and
aOld.exe?
On Mon, Mar 31, 2025 at 12:25 PM Bill Deegan <bill at baddogconsulting.com>
wrote:
> wow that's about the most complicated way to share your dependencies I've
> seen so far..
>
> I see an arc from aOld\b.out.tmp -> aOld\b.out which goes around
> PreProcess.py (same for aNew\b.out.tmp).
> How does b.out "use" the .tmp file directly?
> Or is that a mistake/error in your representation?
>
> On Sat, Mar 29, 2025 at 1:02 PM Keith Prussing <kprussing74 at gmail.com>
> wrote:
>
>> I’ll throw in that the ToolsForFools (link below) helped me understand
>> Builders in the context of Second.
>>
>> Keith Prussing
>>
>> [image: 60082f80-4d90-11ea-8bc5-15d065acb8d1.png]
>>
>> ToolsForFools <https://github.com/SCons/scons/wiki/ToolsForFools>
>> github.com <https://github.com/SCons/scons/wiki/ToolsForFools>
>> <https://github.com/SCons/scons/wiki/ToolsForFools>
>>
>>
>> On Mar 29, 2025, at 9:54 AM, Mats Wichmann <mats at wichmann.us> wrote:
>>
>> On 3/28/25 23:30, Oliver Koch via Scons-users wrote:
>>
>> Dear Scons developers and users,
>>
>> I would like to set up a rather complex test framework to compare the
>>
>> changes between different versions (old vs. new) of an executable.
>>
>> The workflow also includes different steps (tools) to process resp.
>>
>> compare the output files.
>>
>> See the attached HTML file (resp. the according Markdown file).
>>
>> Any green box should be regarded as an independent component the can be
>>
>> changed by me. Any white box is a dependent file that is generated from
>>
>> the independents.
>>
>> The task is to create a dependency tree in SCons that re-generates the
>>
>> (necessary) final output files (b.out.diff resp.b.log.diff), if any of
>>
>> the dependent green boxes have been changed.
>>
>> I am struggeling with your documentation to conclude, how a SCons script
>>
>> should look like for the above purpose, since I am not using any
>>
>> classical compiler or linker in this workflow.
>>
>> Could you indicate me, how the shown dependency tree must be implemented
>>
>> with a SCons script?
>>
>> (And maybe explain a little bit why?)
>>
>> The way you declare a dependency with an associated action is to call a
>> "builder": B depends on A, and if A is computed to be out of date, apply
>> Action to create/recreate B.
>>
>> SCons has a bunch of pre-made builders to anticipate things people are
>> likely to do, but in your case, none are going to apply, so you'll need to
>> write you own builders, or use the builder-like Command function if you can.
>>
>> Command is much simpler because it works as a one-shot, while true
>> builders require quite a bit more plumbing setup. Rather than go on about
>> that, there are two chapters in the User Guide you can scan, then come back
>> with more questions:
>>
>> Writing Your Own Builders:
>>
>> https://scons.org/doc/production/HTML/scons-user.html#chap-builders-writing
>>
>> Not Writing Builders:
>>
>> https://scons.org/doc/production/HTML/scons-user.html#chap-builders-commands
>>
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20250331/a931f5ca/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 60082f80-4d90-11ea-8bc5-15d065acb8d1.png
Type: image/png
Size: 52776 bytes
Desc: not available
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20250331/a931f5ca/attachment-0001.png>
More information about the Scons-users
mailing list