Thank you for your feedbacks: Jon for the kind words, Rick for the thumbs up 
and hint about the
licenses, and P.O. for offering help testing the changes!

It will take a little while though as I will be travelling the coming weekend. 
So if there are any
suggestions, advice please let me know.

---rony

P.S.: After that is done I would proceed in attempting to create the 
zip-versions after having
learned more about CMake dealing with this little "samples project".


On 18.10.2021 15:20, P.O. Jonsson wrote:
> Dear Rony,
>
> If you want I can try the changes out locally before you commit them, on Mac 
> and Windows at least,
> maybe also on some Unixes. I think Ricks remark was aimed at me but it is not 
> possible to try
> things out while working on a machine (Marks) I have no personal connection 
> to.
>
> I have one item on my ToDo list that Erich wanted done: to simplify and merge 
> the samples
> testcases into one or two files rather than having one tfile for each 
> testcase. This is what Erich
> wrote:
>
> Hi P.O., re your recently committed additional test groups for Samples:
>
> all testGroup files should have set these three SVN properties:
>  svn propset svn:eol-style native name.testGroup
>  svn propset svn:executable on name.testGroup
>  svn propset svn:keywords "Date Rev" name.testGroup
>
> Also testGroup files are expected to have proper headers - exactly like below:
> #!/usr/bin/env rexx
> /*
>   SVN Revision: $Rev$
>   Change Date:  $Date$
> */
>
> Your testGroup template defines global variables like shouldStop that aren't 
> actually used anywhere.
> This includes a variable stopStop which is actually a typo.
>
> There's no need to special-case ADDRESS "" vs. ADDRESS COMMAND.  
> Cross-platform ADDRESS formats
> include ADDRESS SYSTEM or ADDRESS ""
>
> The main tests run the samples with an explicit REXX external command. They 
> should be run with
> execRexxPrg() instead.
>
> Your test groups typically run the tested sample twice, which shouldn't be 
> necessary. Once run,
> return code and output tests can be done at the same time. There's also no 
> need to test for a 9999
> return code (this was just an internal quirk that I've removed).
>
> Also to simplify maintenance you might check out the template that I just 
> committed: wmi.testGroup
> uses a single test per sample, making the tests easier to understand and more 
> concise.
>
> Once you are done I will start doing this, with Ricks remark in mind. I have 
> enclosed Erichs
> Template FYI. If you want to do the merger you are more than welcome.
>
>
>
> Hälsningar/Regards/Grüsse,
> P.O. Jonsson
> oor...@jonases.se <mailto:oor...@jonases.se>
>
>
>
>> Anfang der weitergeleiteten Nachricht:
>>
>> *Von: *"Rony G. Flatscher" <rony.flatsc...@wu.ac.at 
>> <mailto:rony.flatsc...@wu.ac.at>>
>> *Betreff: **[Oorexx-devel] Regarding API samples, thoughts and suggested 
>> changes*
>> *Datum: *18. Oktober 2021 um 13:09:28 MESZ
>> *An: *oorexx-devel@lists.sourceforge.net 
>> <mailto:oorexx-devel@lists.sourceforge.net>
>> *Antwort an: *Open Object Rexx Developer Mailing List 
>> <oorexx-devel@lists.sourceforge.net
>> <mailto:oorexx-devel@lists.sourceforge.net>>
>>
>> Sleeping over the current structure of the API samples these are the things 
>> that are in place
>> currently:
>>
>>  1. samples/Makefile.am (???)
>>  2. samples/native.api/call.example/ ... for all systems, CMakeLists.txt, 
>> Makefile.linux,
>>     Makefile.windows, Makefile.am (???)
>>  3. samples/unix/api/callrexx/ ...  callrexx1.cpp, callrexx2.c, 
>> CMakeLists.txt, no Makefiles
>>  4. samples/unix/api/wpipe{1..3}/... rexxasp{1..3}.c, aspitest{1..3}.rex, 
>> CMakeLists.txt, no
>>     Makefiles
>>  5. samples/windows/ ... api/ ... misc/ ... ole/ ... oodialog/ ...rexutils/
>>  6. samples/windows/api/ ... callrxnt/ ... callrxwn/ ... rexxexit/
>>  7. samples/windows/api/wpipe{1..3}/ .. rexxapi{1..3}.c, apitest{1..3}.rex, 
>> CMakeLists.rex, nmake
>>     make files named rexxapi{1..3}.mak
>>
>> Suggested changes:
>>
>>     1. It seems that the "Makefile.am" files are left-overs and can be 
>> safely deleted?
>>
>>     2. create a new structure for the installed api samples, such that the 
>> installation on all
>>     systems would look like:
>>
>>     samples/api
>>     samples/api/classic/ ... having all samples in their own directories 
>> that exemplify the SAA
>>     API interface, rexxapi.pdf, "Chapter 2. Classic Rexx Application 
>> Programming Interfaces"
>>     samples/api/c++/ ... having all samples in their own directories that 
>> exemplify the ooRexx
>>     native API interface, rexxapi.pdf, "Chapter 1. Rexx C++ Application 
>> Programming Interfaces"
>>
>>     3. rename "wpipe{1..3}" directory names to "rexxapi{1..3]" to match the 
>> names of the programs
>>     therein for all systems ("wpipe" is confusing)
>>
>>     4. Unix, rename "rexxsp{1..}.c" to "rexxapi{1..3}.c" and 
>> "aspitest{1..3].rex" to
>>     "apitest{1..3].rex"  to match the Windows names ("asp" does not make any 
>> sense in this
>>     context); sample change done with "wpipe1"
>>
>>     5. Add Makefiles where there are missing, such that interested 
>> programmers can try compiling
>>     and running the samples on their own (e.g. missing for the Unix wpipe 
>> samples
>>
>>     6. Add "readme.txt" files in each api directory to briefly describe its 
>> content
>>
>> In addition I propose to add the c++ samples of the 2015 RexxLA presentation 
>> of how to create
>> external routines and external methods, cf. 
>> <https://www.rexxla.info/events/2015/schedule.html>,
>> the talk with the code samples entitled "How to Develop a Native Library in 
>> C++ for ooRexx in a
>> Nutshell".
>>
>> The easier it becomes for programmers to understand how the APIs work the 
>> better.
>>
>> Any comments?
>>
>> ---rony
>>

_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to