FEM Workbench Testing - GSoC Proposal

About the development of the FEM module/workbench.

Moderator: bernd

m42kus
Posts: 157
Joined: Tue Sep 02, 2014 9:41 am

Re: FEM Workbench Testing - GSoC Proposal

Postby m42kus » Tue May 28, 2019 4:13 pm

Today I started the creation of a very much simplified version of essential runtime components of FreeCAD. I will use that in the next few days to implement a prototype of the test framework. This will make it much easier to convey my idea to you guys and also to argue about it, make changes and generally improve it before I implement it for the real FreeCAD. It's also much easier for me to initially develop for those simplified components. The code is available on GitHub: https://github.com/ceeli/gsoc2019_prototype.
My GSoC Devlog: ceeli.github.io/gsoc
m42kus
Posts: 157
Joined: Tue Sep 02, 2014 9:41 am

Re: FEM Workbench Testing - GSoC Proposal

Postby m42kus » Wed May 29, 2019 7:36 am

I just posted part 2 of the testing tool survey concerning the selection of a C++ unit test library in the Testing Tool Survey topic: https://forum.freecadweb.org/viewtopic. ... 30#p311026
My GSoC Devlog: ceeli.github.io/gsoc
m42kus
Posts: 157
Joined: Tue Sep 02, 2014 9:41 am

Re: FEM Workbench Testing - GSoC Proposal

Postby m42kus » Tue Jun 11, 2019 7:49 pm

Hi everyone,

sorry for the slowdown of my project. Unfortunately I'm sick since a few days. The doctor says that I should still rest for a week but I've been doing a few things anyway :P I'm going to share them with you guys tomorrow :)
My GSoC Devlog: ceeli.github.io/gsoc
HoWil
Posts: 837
Joined: Sun Jun 14, 2015 7:31 pm
Location: Austria

Re: FEM Workbench Testing - GSoC Proposal

Postby HoWil » Wed Jun 12, 2019 9:45 am

m42kus wrote:
Tue Jun 11, 2019 7:49 pm
Unfortunately I'm sick since a few days.
Hi Markus. Get well and take the time to recover. BR HoWil
m42kus
Posts: 157
Joined: Tue Sep 02, 2014 9:41 am

Re: FEM Workbench Testing - GSoC Proposal

Postby m42kus » Thu Jun 13, 2019 10:17 am

HoWil wrote:
Wed Jun 12, 2019 9:45 am
Hi Markus. Get well and take the time to recover. BR HoWil
Thanks, I'll try :P

Now, for those who didn't already see it on my devlog: I developed a test runner for google test which starts FreeCAD before it runs the tests. Without the application running FreeCADs Document Objects wouldn't work properly. You can look into the code on my testing feature branch: https://github.com/ceeli/FreeCAD_bhb/tree/testing.

I also wrote some source documentation for the Analysis Document Object (specification). Based on the specification I than wrote some tests. Right now all this is located in src/Mod/Fem/Test.

In addition I started to develop a test support library for C++ tests. Right now there isn't much in it yet but I expect it to grow over the next month.

To figure out how to properly test objects I needed to dig around a lot in the FreeCAD source to learn how exactly everything works. When I learn stuff I always write down what I learned wiki style (mostly because I forget things pretty fast xD). I think most of that isn't part of the wiki yet. If you are interested I could share that docs with you and if you find it helpful put it on the wiki :)
My GSoC Devlog: ceeli.github.io/gsoc
User avatar
Kunda1
Posts: 4812
Joined: Thu Jan 05, 2017 9:03 pm

Re: FEM Workbench Testing - GSoC Proposal

Postby Kunda1 » Thu Jun 13, 2019 3:04 pm

m42kus wrote:
Thu Jun 13, 2019 10:17 am
To figure out how to properly test objects I needed to dig around a lot in the FreeCAD source to learn how exactly everything works. When I learn stuff I always write down what I learned wiki style (mostly because I forget things pretty fast xD). I think most of that isn't part of the wiki yet. If you are interested I could share that docs with you and if you find it helpful put it on the wiki
Yes, please! :pray:
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
yorik
Site Admin
Posts: 11398
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: FEM Workbench Testing - GSoC Proposal

Postby yorik » Fri Jun 14, 2019 12:35 am

Yes please (2)
User avatar
Kunda1
Posts: 4812
Joined: Thu Jan 05, 2017 9:03 pm

Re: FEM Workbench Testing - GSoC Proposal

Postby Kunda1 » Wed Jun 19, 2019 6:24 pm

m42kus wrote:
Thu Jun 13, 2019 10:17 am
Hey @m42kus hows it going? Any updates ?
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
m42kus
Posts: 157
Joined: Tue Sep 02, 2014 9:41 am

Re: FEM Workbench Testing - GSoC Proposal

Postby m42kus » Wed Jun 19, 2019 6:56 pm

Kunda1 wrote:
Wed Jun 19, 2019 6:24 pm
Hey @m42kus hows it going? Any updates ?
Hey, not that much... I really wasn't in the shape of doing anything worthwhile the past week. Today I already feel much better and I did a little documentation work. From tomorrow on I'm going to work full time again. I'm very sorry for the delay...
My GSoC Devlog: ceeli.github.io/gsoc
m42kus
Posts: 157
Joined: Tue Sep 02, 2014 9:41 am

Re: FEM Workbench Testing - GSoC Proposal

Postby m42kus » Thu Jun 20, 2019 6:17 pm

Hello,
thanks for your patience, I'm going to try to make up for the lost time by working a few weekends. Today I implemented a few more tests, advanced the FCTest library a bit and also wrote tests and documentation for the new code I wrote for the library :P. I also updated my devlog where you can find more details: https://ceeli.github.io/gsoc

One thing I did yesterday was to setup a alternative version of FreeCADs doxygen documentation. Imo doxygens default configuration is a bit overloaded so I hacked together a lighter prototype. It only includes documented C++ code and is hosted on github. I did this just so I can keep track of my stuff but maybe you find something worth stealing :P. If you are interested you can look at two classes I documented today:
Kunda1 wrote:
Thu Jun 13, 2019 3:04 pm
Yes, please! :pray:
yorik wrote:
Fri Jun 14, 2019 12:35 am
Yes please (2)
Nice to see that you are interested, I'm going to share them as soon as I find the time to polish the notes a little more. Probably next week I think :)
My GSoC Devlog: ceeli.github.io/gsoc