Dashboards, Gerrit and unit testing

Hi,

I was working through some patches today, and noticed some regressions. I have merged in some changes, and I would like to take some time to fix up some of these new segfaults. The one I was hitting seems to be coming from some of the new QTAIM code to take orbital data. It also highlights the increasing need for more unit testing, and so I got to work fixing up my dashboard submission and getting a coverage submission working. I will see if I can get a Windows dashboard going tomorrow too, and once the Python fixes are approved I can add a Python build back in (I have Python 2.7 here).

ParaView recently split out its BSD licensed Qt testing framework into a separate Git submodule. I would like to adapt Avogadro to make use of this framework, unless someone has something better in mind. It basically allows us to record interaction with the GUI and replay it in a unit test. As far as I know it only uses Qt (no additional dependencies) and is BSD licensed.

A project I have been working on for ITK is integration of Gerrit with CDash. Kitware now has a Gerrit instance, on a dedicated server which is more powerful than my aging machine. If there are no major objections I can move Avogadro code review there, and this will allow me to setup Gerrit integration. This would give us on demand testing of new Gerrit submissions - I currently have this working for ITK where new patches trigger a build on Windows, Mac and Linux.

To really make use of this testing we need to test more of Avogadro. Having some measures in place is a good start, and I should be able to provide most platforms. Geoff - I notice your dashboard fails as it is compiling Avogadro 64 bit, and glew is 32 bit. You could just turn off glew, and I could help you with a CTest script to ensure it updates properly - you can see the script I am using by clicking on the Note icon in the submission I made.

After we have that I was hoping to get some image comparison working too, there is some code I should be able to adapt from VTK/ITK. The CDash@Home support I have been working on should allow people to donate machines, and have CDash/Gerrit schedule builds on the machines. There are a few articles I can dig out links for if there is interest in any of them.

The SBIR funding I applied for is through, and I will be working with Albert from the Gordon Group (GAMESS) on Avogadro, electronic structure, databases, cluster/HPC submission integration and other related tools. This means I get around 6 months where I can spend a fair portion of my days working on Avogadro, and if things go well this could turn into a few years.

I would like to focus on stability, and scaling to some of the larger systems, as these were two things people pointed out as I was traveling the UK talking about Avogadro. I will also be working on a volume rendering plugin, and some other bits. I should have the split out quantum library ready in the very near future, I know there has been a lot of interest in this and so I have been forging ahead.

This turned into a very long post, I am excited to be able to spend some real time on Avogadro again. I updated the wiki instructions a little to reflect the simpler Gerrit workflow, and I will add some helpful setup scripts and Git aliases I developed for ITK and Titan soon. I have several quantum codes, including GAMESS, set up now for some testing too.

Marcus

PS Didn’t intend to write so much…long overdue update.

I updated the wiki instructions a little to reflect the simpler Gerrit workflow, and I will add some helpful setup scripts and Git aliases I developed for ITK and Titan soon.

It seems like “Working with Gerrit” tends to merge with “Working with Git” now. Maybe it’s worth to join all workflow information and keep one page?


Regards,
Konstantin

On Sun, Nov 21, 2010 at 6:34 AM, Konstantin Tokarev annulen@yandex.ru wrote:

I updated the wiki instructions a little to reflect the simpler Gerrit workflow, and I will add some helpful setup scripts and Git aliases I developed for ITK and Titan soon.

It seems like “Working with Gerrit” tends to merge with “Working with Git” now. Maybe it’s worth to join all workflow information and keep one page?

They are certainly extremely closely related - that is why we chose
Gerrit all that time ago. I have done that for some of the other
projects I work on that use Gerrit, and I intend to do the same here,
but I wanted to get the scripts and aliases in place first as they
make things quite a bit easier. I will do that soon.

Marcus

The SBIR funding I applied for is through, and I will be working with Albert from the Gordon Group (GAMESS) on Avogadro, electronic structure, databases, cluster/HPC submission integration and other related tools. This means I get around 6 months where I can spend a fair portion of my days working on Avogadro, and if things go well this could turn into a few years.

Congratiolations on the funding. I’ll be nice to have you back with
more time for Avogadro. :slight_smile:

I have a question regarding the work you’ll be doing though: Will this
end up with a new GAMESS input generator or what are the plans
regarding that?

The input generator is very complex (as in, it can do a lot of stuff
[maybe even too much?]) and here at the University of Copenhagen, we
are progressing an additional input generator to fragmentation methods
(along with the EFP extensions) in Avogadro… It would be nice to
hear what the plans are (especially since Albert will become an
important part of this collaboration as well).

Casper

I have a question regarding the work you’ll be doing though: Will this
end up with a new GAMESS input generator or what are the plans
regarding that?

Do you have particular concerns? The GAMESS input generator has both a “basic” and “advanced” tab. Could you be a bit more specific about what you’d like to see?

Thanks,
-Geoff

On Fri, Nov 26, 2010 at 2:42 AM, Geoffrey Hutchison
geoff.hutchison@gmail.com wrote:

I have a question regarding the work you’ll be doing though: Will this
end up with a new GAMESS input generator or what are the plans
regarding that?

Do you have particular concerns? The GAMESS input generator has both a “basic” and “advanced” tab. Could you be a bit more specific about what you’d like to see?
I don’t have particular concerns or specifics. This was more an
interest in where it is going with the input generators. The reason
why I asked was that the GAMESS dialog stands out from the other input
generators. The other ones share the same underlying base and have a
common look at feel. So my question was more about whether you were
aiming for streamlining the input generators even more? or allow them
individually to become as complex as the GAMESS input generator.

We’d like to contribute some fragmentation code to Avogadro (and the
GAMESS input generator specifically) when we have it ready, so this
was merely to get a heads up.

Kind Regards,

Casper