[Lazarus] Lazarus IDE 'testall' program

Aruna Hewapathirane aruna.hewapathirane at gmail.com
Thu Nov 24 20:20:10 CET 2022


<snip>

> Ah...  thank you for the clarification. So any fix'es I have to push to
> Gitlab then?
>
>
> - Ideally as a "merge request" on Gitlab. (Fork, push to your fork, create
> merge-request)
> - However Patches are accepted too.
> - And some developers may accept pull requests (in which case your fork
> can be on any public accessible git).
>   "some developers" => That is, if you interactively deal with a member of
> the team, who told you they would be the one to accept your changes.
>

Sounds good to me.

>
> Any change should ideally be against the "main" branch.
> So in this case, that would be reintroducing the files.
>

Understood!

>
> If you plan any "larger" work, best to query (as actually - by coincidence
> - you do in this mail) if it would be accepted (or what implementation
> requirements their might be).
> Ideally you will get response from some developer, who confirms that they
> will accept and merge/apply your changes.
>

Let's just say every time I use the Lazarus IDE or FPC or whenever I go
through the documentation the more humbled I become and I think about the
amount of time+thought and work that has gone into this the more I start to
feel the need to be part of this and contribute within my limited skill
sets. So yes the plan is to first teach myself how things work then get
myself comfortable with doing Voodoo magic like ASerge did in the Lazarus
forum when I asked a noob question. This is worth having a look at
actually: Voodoo Magic by ASerge
<https://forum.lazarus.freepascal.org/index.php/topic,61315.msg461061.html#msg461061>
look for Reply #1, please. Hopefully, someday I will actually understand
what ASerge did.

>
>
>> In the "main" branch the example folder was re-ordered. During this
>> process the "testall" appears to have been removed. Not sure of the
>> reasons...
>>
>
> Oh-kay that explains why I was unable to find it and am sure the reasons
> were all good and valid :-)
>
> Maybe oversight, maybe because it did not work. If the latter, then likely
>> a working version can be re-added.
>>
>
> Umm... well "testall" works on Windows I had zero issues but needs a few
> fixes when running under Linux. I have manged to get it to
> work on my Debian system now.
>
> If you plan to work on it, I would suggest to wait a day or two, for
> further details on this to emerge.
> If it was removed because it did not work cross platform, then re-adding
> after fixing should be ok.
>

I just have to find a way to test in code if we are running on Windows or
Linux then change the 'path' accordingly;y and we are good to go. That was
one of the
reasons "testall" did not work on Linux.

>
> Maybe there were other reasons. Maybe it would be better to break it into
> a small number of projects, each dealing with a subset of the components.
> A "all in one" might make it very hard to read and understand the code for
> a specific component.
>

This is very true. I went through the "testall" code and it took me quite a
while and a lot of asking around on the forum and irc and doing my own
research to begin to start to
understand what is going on :-)

It is definitely not something a beginner/noob will understand or have fun
trying to analyze why things are working when there is zilch
in the Form. It's good for folks coming in with 'experience' and who have
years of some type of coding background then they will appreciate
the possibilities and freedom and the power of Lazarus+Free Pascal but to a
total newbie, this is throwing him/her in the deep end of the pool with no
life jacket :-)

When one does not understand what has been done or why a piece of code
works the way it does it can soon lead to frustration which in turn usually
turns folks away and
we lose good people who may have turned out to be very competent and
capable programmers or analysts or simply people who could have contributed
to the code and make
things better? It would be a very different story if the source to
"testall" was "heavily" commented at each line then life becomes easier.
This is my personal opinion and thoughts and
others may feel differently. When one is an experienced programmer
sometimes we forget what is obvious to us in teh code may not necessarily
be so to a newbie? That is why
commenting the code helps. Again my thoughts alone.

One of the primary reasons I love Lazarus and FPC is the community support.
It is usually very fast/rapid and usually comes with a concrete-tested
sample of code. I have never
experienced this in other coding communities so this is a very welcome and
long prayed-for and wished-for thing. It empowers you and makes you want to
be part of the larger
project in any small way.

>
> If you look at the examples (and the IDE menu Tools > "Example projects"
> (in Lazarus 2.3), then you will find that many components have there own
> examples already.
>
Repeating them, may not make much sense (unless for example to have all
> buttons in one project, with settings/code explicitly showing their
> differences).
>

I have actually started building my own set of demos. A side effect of
trying to learn and teach myself Lazarus+FPC if anyone wants to have a look
I would be happy to share.
Who knows, some of them may actually be useful.

>
> Of course, depending on the course of action, the wiki may need updates
> (it still is correct for the current release, but it wont be for 2.4 / and
> it might easily be overlooked when the time comes)
>

Understood again and thank you very much for your time and help Martin.

Talk again soon, Aruna
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20221124/ead44826/attachment.htm>


More information about the lazarus mailing list