Build configuration used in test suite?

5 views
Skip to first unread message

Nathan Goldbaum

unread,
Jun 27, 2016, 11:08:04 AM6/27/16
to enzo...@googlegroups.com
Hi all,

I think this is mostly a question for Brian, but maybe someone else knows.

I can't find a reference to it, so just in case it's not in the docs, I'd like to explicitly document the Enzo build configuration used to run the tests. That should also help in eventually getting Enzo set up with a proper CI server.

Here's what I'm using right now, Brian, is this different from what you use to test pull requests?


Thanks!

Nathan

John Regan

unread,
Jun 27, 2016, 11:11:24 AM6/27/16
to enzo...@googlegroups.com
I had to set grackle=yes and hypre=yes to get the tests to run successfully so I think those two options may also be required.


--
You received this message because you are subscribed to the Google Groups "enzo-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to enzo-dev+u...@googlegroups.com.
To post to this group, send email to enzo...@googlegroups.com.
Visit this group at https://groups.google.com/group/enzo-dev.
For more options, visit https://groups.google.com/d/optout.

Britton Smith

unread,
Jun 27, 2016, 12:24:22 PM6/27/16
to enzo...@googlegroups.com
Since we can save and reload configurations with "make save-config-<keyword>" and "make load-config-<keyword>", maybe it's worth committing an official testing configuration to the repository.  Just a thought.

Nathan Goldbaum

unread,
Jun 27, 2016, 12:25:41 PM6/27/16
to enzo...@googlegroups.com
On Mon, Jun 27, 2016 at 11:24 AM, Britton Smith <britto...@gmail.com> wrote:
Since we can save and reload configurations with "make save-config-<keyword>" and "make load-config-<keyword>", maybe it's worth committing an official testing configuration to the repository.  Just a thought.

Cool! I didn't even realize this was a feature.

I'll look into including this in my PR.

Brian O'Shea

unread,
Jun 27, 2016, 12:51:39 PM6/27/16
to enzo...@googlegroups.com
Ah yes.  The config file that I use is in my .enzo directory and is named Make.settings.allphysics.  The contents are:

CONFIG_OPT = high
CONFIG_INTEGERS = 32
CONFIG_PARTICLE_IDS = 32
CONFIG_HYPRE = yes
CONFIG_GRACKLE = yes

And you invoke that with "make load-config-allphysics"

I do 32-bit ints because I've had problems with 64-bit ints on Macs in the past (I do the testing on my Mac laptop), and also because having mixed-precision tests tends to make certain poor developer choices very obvious.

Regarding continuous integration, I think that's a great idea.  We used to have it set up via Jenkins (on a machine of Sam's), but when that machine died we stopped doing it.  I spent a bit of time thinking about how to set things up again on a new machine, but ran out of steam because I didn't have a suitable test platform available to me.  If somebody is willing to set up a CI machine, I have a bunch of thoughts about how we can do the tests to more robustly cover the parameter space of compilation options and problem types...

--Brian

Greg Bryan

unread,
Jun 27, 2016, 7:35:14 PM6/27/16
to enzo...@googlegroups.com
For continuous integration, can we use drone.io or some other hosted service?  These often have a “free” level.

Greg

Nathan Goldbaum

unread,
Jun 27, 2016, 7:41:48 PM6/27/16
to enzo...@googlegroups.com
Yes, that's a possibility. Drone.io is probably the only free service that supports bitbucket and mercurial and isn't totally terrible. We can also look into someone hosting a drone.io or Jenkins instance somewhere.

In addition, bitbucket pipelines is supposedly coming for mercurial, that would probable ideal if/when it comes since testing PRs should be easy out of the box.

Nathan Goldbaum

unread,
Jun 28, 2016, 11:25:06 AM6/28/16
to enzo...@googlegroups.com
One more question: which grackle version should I be using? I'm seeing a seg fault when I try to test against grackle 2.2.

Nathan Goldbaum

unread,
Jun 28, 2016, 11:44:19 AM6/28/16
to enzo...@googlegroups.com
Seems to work with grackle 2.1. I guess it's a separate issue that enzo doesn't work with grackle 2.2 yet.

John Regan

unread,
Jun 28, 2016, 11:59:25 AM6/28/16
to enzo...@googlegroups.com
Was that with Enzo-2.X or Enzo-3.0? My tests on the latest build of Enzo-3.0 run successfully with the libgrackle-2.2.so library. Don't recall having to do anything special to get it working.

Nathan Goldbaum

unread,
Jun 28, 2016, 12:04:26 PM6/28/16
to enzo...@googlegroups.com
Enzo-2.x.

For me, when I try to run CoolingTest_Grackle using grackle 2.2, I get the following segmentation fault right after DD0000 is written to disk:

John Regan

unread,
Jun 28, 2016, 12:18:02 PM6/28/16
to enzo...@googlegroups.com
Woops. Raise an issue that there is a problem with Enzo-2.x and Grackle-2.2?

Britton Smith

unread,
Jun 29, 2016, 12:40:43 PM6/29/16
to enzo...@googlegroups.com
I cannot reproduce the seg fault from CoolingTest_Grackle using grackle 2.2.  There was no API change between grackle 2.1 and 2.2, so I'm not sure why this would crash.  Can someone else confirm whether this happens for them?

Nathan Goldbaum

unread,
Jun 29, 2016, 4:42:04 PM6/29/16
to enzo...@googlegroups.com
Weird, I just tried again and I can't reproduce. Sorry for the noise.
Reply all
Reply to author
Forward
0 new messages