Project

General

Profile

Bug #852

Jenkins Build for master

Added by Roland Schulz over 8 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

Description

Currently Jenkins Build for the master branch is disabled because:
- Issue #849
- Changes https://gerrit.gromacs.org/277 and https://gerrit.gromacs.org/102 are needed. Depending change needs to be reviewed and release-4-5-patches merged into master. I checked and currently it is still possible to merge.

The GTests have to produce xml so that the JUnit plugin can read the output. This is done with the --gtest_output=xml:FILE_PATH option. FILE_PATH should contain the test name. This should be added to src/testutils/TestMacros.cmake. It doesn't hurt if running ctest always produce the xml even outside of Jenkins. What is the best place to put the XML files? Is Testing/Temporary/ a good place to put them?

It would be nice to make LastTest.log available but I can't find an option to do that. Instead, at least for now I changed that ctest is run verbose (-V) so that the information is available on the Jenkins Console page. Or would it be better to just "cat" the LastTest.log? A plugin exists (http://wiki.hudson-ci.org/display/HUDSON/JUnit+Attachments+Plugin) to make additional files available. But it is meant for files per Test (within the test folder) but LastTest.log is global for all tests. But maybe one could somehow make this work.


Related issues

Related to GROMACS - Bug #806: Get rid of #define min/max in macros.hClosed09/08/2011
Related to GROMACS - Bug #849: C++ Compile with MPI failsClosed12/01/2011
Related to Support Platforms - Bug #854: Remaing problems with Jenkins auto-buildClosed12/10/2011

Associated revisions

Revision ec70ad39 (diff)
Added by Roland Schulz over 8 years ago

Write GTest Test results to XML format

Can be parsed as Junit by Jenkins (solves #852)

Change-Id: Ia8517b596146d5be9178d45e2930627491279aaf

History

#1 Updated by Teemu Murtola over 8 years ago

Only https://gerrit.gromacs.org/277 is absolutely needed to make the tests pass in master. The issues fixed in https://gerrit.gromacs.org/102 only surface in the current tests as long as the other commit is not merged.

Testing/Temporary/ is probably good enough place for the XML files. And they will be easy to move somewhere else if we later realize that some other choice would be better, since they won't be in version control and the location is only hard-coded in that one file (plus probably somewhere in Jenkins configuration).

I think ctest -V is good enough for initial diagnosis of possible test failures, in particular when combined with the XML output.

#2 Updated by Roland Schulz over 8 years ago

Still a few build problems on master for Windows and with MPI:
http://130.237.25.43:8080/job/Gromacs_Gerrit/97/

One issue is that the max/min macro (./src/gromacs/legacyheaders/macros.) conflicts with the min/max template function.

#3 Updated by Teemu Murtola over 8 years ago

There is a separate issue for the min/max problem (#806). Added that and the C++ MPI compilation problem as related tasks.

I don't have access to a Windows machine, so I can't easily fix all the problems. If there is no hurry, I can try to address at least some of the most annoying compiler warnings that come from headers. But in particular changes to source:src/gromacs/utility/path.cpp (which I knew from the start to not compile on Windows) and source:src/gromacs/utility/format.cpp (which I suspected could cause problems) would be best done by someone who can actually test the stuff on Windows.

#4 Updated by Roland Schulz over 8 years ago

With the min/max issue fixed this leaves us with:
src\gromacs\selection\compiler.cpp(692): error C2668: 'log10' : ambiguous call to overloaded function
src\gromacs\trajectoryanalysis\modules.cpp(77): error C3861: 'strncasecmp': identifier not found
src\gromacs\utility\path.cpp(71): error C2065: 'S_IRWXU' : undeclared identifier
src\gromacs\utility\path.cpp(71): error C2065: 'S_IRWXG' : undeclared identifier
src\gromacs\utility\path.cpp(71): error C2065: 'S_IROTH' : undeclared identifier
src\gromacs\utility\path.cpp(71): error C2065: 'S_IWOTH' : undeclared identifier
src\gromacs\utility\path.cpp(71): error C3861: 'mkdir': identifier not found
src\gromacs\utility\path.cpp(97): error C3861: 'S_ISDIR': identifier not found

1) strncasecmp should be gmx_strncasecmp
2) log10: I suppose that this is like with min/max a C/C++ issue. That it has both the math.h/cmath version. But I'm not sure. And I'm not sure how to fix it.
3) Windows doesn't have these S_* defined. What would be the best way to make this platform independent?

#6 Updated by Roland Schulz over 8 years ago

  • Status changed from New to Closed
  • Assignee set to Roland Schulz
  • Target version set to 5.0

Master is being tested and unit tests are nicely shown:
http://130.237.25.43:8080/job/Gromacs_Gerrit_master/lastCompletedBuild/testReport/

Also available in: Atom PDF