Re: Incorrect diagnostics output when calling a Python function as custom action

Bill Deegan <[email protected]> Tue, 21 Mar 2023 12:42:08 -0400
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAEyG4CGsqfr=PCiXMt6_XwuKY-YViHgc14gU340LeE7GF=GY=g@mail.gmail.com>
oops didn't see that you'd already reported it there.

On Tue, Mar 21, 2023 at 12:39 PM Bill Deegan <[email protected]>
wrote:

> You should report this to platform IO first as it's quite possible it's
> related to the way PlatformIO uses SCons.
> Have you reported it to them?
>
> On Tue, Mar 21, 2023 at 10:18 AM Andreas Heyer via Scons-users <
> [email protected]> wrote:
>
>> Hello devs and users of SCons,
>>
>> my use of SCons is only through PlatformIO inside of VS Code. I don't
>> have the time to discover how to make a suitable standalone example to show
>> the small error. So please don't be rude because I only copied my bug
>> report for PlatformIO (
>> https://github.com/platformio/platformio-core/issues/4573) over to this
>> project.
>>
>>
>> Configuration:
>>
>> Operating system: Windows 10 x64
>> PlatformIO Version (platformio --version): 3.1.1 (VS Code extension)
>>
>>
>> Description of problem:
>>
>> There is incorrect diagnostic output during the build process if a custom
>> action is invoked via a custom Python script. This output can lead to false
>> assumptions of the creator of the custom script because claimed action and
>> in reality performed action do not match. In my case I copied the wrong
>> file in my custom action because the diagnostic output showed the wrong
>> order of parameters (source and target interchanged) albeit strictly
>> sticking to the docs I could succeeded from the beginning.
>>
>>
>> Steps to Reproduce:
>>
>> 1. Add a custom Python script to the project's platformio.ini with
>> "extra_scripts = post:myscript.py" under an environment section
>> 2. Create an action function "action_func" with signature
>> "action_func(source, target, env)" in the Python file myscript.py
>> 3. Register this function as action for a target
>> "generated_file_to_watch", e.g.
>> "env.AddPostAction("generated_file_to_watch", action_func)"
>> 4. Build the project
>> 5. Watch for an output line saying
>> "action_func(["generated_file_to_watch"], ["source_file"])".
>>     The list of source files (parameter source) depends on your choice of
>> the generated file to watch (parameter target).
>>
>>
>> Actual Results:
>>
>> Output line of
>>         action_func(["generated_file_to_watch"], ["source_file"])
>>
>>
>> Expected Results:
>>
>> Output line of
>>         action_func(["source_file"], ["generated_file_to_watch"])
>>
>> Because this is the order the signature of action_func demands according
>> to PlatformIO's advanced scripting documentation. And in fact it's the
>> order the function is called.
>> _______________________________________________
>> Scons-users mailing list
>> [email protected]
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>

_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users