elmerf90-nosh and Elmer/Ice tests

Extension of Elmer in computational glaciology
Post Reply
nicks
Posts: 2
Joined: 11 Mar 2015, 22:22
Antispam: Yes

elmerf90-nosh and Elmer/Ice tests

Post by nicks »

I've just installed the latest version of Elmer from the elmerice branch on github and I'm trying to run the tests in elmerfem/elmerice/Tests using the runTests.sh script.

This seems to depend on elmerf90-nosh but this hasn't installed. Does anyone know if it's normal for elmerf90-nosh not to install, or if the test script should not call for it?
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: elmerf90-nosh and Elmer/Ice tests

Post by raback »

Hi

Don't know much about the Elmer/Ice tests but I understood that there was a plan to make them use ctests. As in the normal side you just say "ctest" after make install.

-Peter
nicks
Posts: 2
Joined: 11 Mar 2015, 22:22
Antispam: Yes

Re: elmerf90-nosh and Elmer/Ice tests

Post by nicks »

You're absolutely right. Thanks Peter!
rgladstone
Posts: 64
Joined: 15 Apr 2013, 16:23
Antispam: Yes

Re: elmerf90-nosh and Elmer/Ice tests

Post by rgladstone »

Hi all, I am new to cmake and want to run the elmerice tests.

A naïve install using cmake doesn’t seem to activate the ElmerIce tests for me. The elmerice/Tests directory is present in the build directory but without the subdirectories for individual tests. The fem/tests directory, however, does seem to contain all the individual test subdirectories. If I run ctests at the top level build directory then 304 Elmer tests are run (I get 5 failures, which is probably acceptable), but it seems that none of them are elmerice tests.

Have I done something wrong? Do the elmerice tests work for anyone else via the ctest command? Or is there something wrong with the elmerice/CMakeLists.txt file?

Thanks,
Rupert

P.S. I installed like this, in case it is relevant:

Code: Select all

git clone https://github.com/ElmerCSC/elmerfem.git elmerfem
mkdir build
cd build
module load <some modules for mpi and other libs>
module load cmake
cmake -DWITH_ELMERGUI:BOOL=FALSE -DWITH_MPI:BOOL=TRUE -DWITH_ElmerIce:BOOL=TRUE -DWITH_MATC:BOOL=TRUE -DCMAKE_INSTALL_PREFIX=/projects/m68/elmerfem ../elmerfem
make 
make install
ctest
tzwinger
Site Admin
Posts: 99
Joined: 24 Aug 2009, 12:20
Antispam: Yes

Re: elmerf90-nosh and Elmer/Ice tests

Post by tzwinger »

Hi Rupert,
your issue might be connected to the fact that the default branch is "devel" and not "elmerice".
A

Code: Select all

git checkout elmerice
might be at place.

Regards,

Thomas
rgladstone
Posts: 64
Joined: 15 Apr 2013, 16:23
Antispam: Yes

Re: elmerf90-nosh and Elmer/Ice tests

Post by rgladstone »

Thanks Thomas, that was it. It hadn't occurred to me that these branches might have diverged significantly already, but in any case I should get used to just working in the elmerice branch.

Incidentally, I've cloned the elmerfem repo on two different machines with two different versions of git (1.7 and 1.9 I think), and in both cases it seems only the default branch gets pulled. So "git checkout elmerice" actually does nothing. Instead the following line worked (basically setting up a new local branch to track the remote elmerice branch):

Code: Select all

git checkout -b elmerice remotes/origin/elmerice
Running ctest on the fully installed elmerice branch runs 340 tests, including the elmerice tests. They are running now.

As an aside, a bit of git behaviour that puzzles me...
"git checkout localBranch" checks out the local branch called localBranch. This is fine.
"git checkout madeUpName", where madeUpName is not a branch name at all, returns an error. This is fine.
"git checkout remoteBranch", where remoteBranch is the name of a remote branch (typically on origin) that is not currently tracked by a local branch, does nothing. Surely this should return an error?

Cheers,
Rupert
mewo2
Posts: 6
Joined: 26 Sep 2014, 15:30
Antispam: Yes

Re: elmerf90-nosh and Elmer/Ice tests

Post by mewo2 »

rgladstone wrote:As an aside, a bit of git behaviour that puzzles me...
"git checkout localBranch" checks out the local branch called localBranch. This is fine.
"git checkout madeUpName", where madeUpName is not a branch name at all, returns an error. This is fine.
"git checkout remoteBranch", where remoteBranch is the name of a remote branch (typically on origin) that is not currently tracked by a local branch, does nothing. Surely this should return an error?
There's some "clever" behaviour in git which detects when a branch name belongs to exactly one remote branch and sets up the appropriate tracking when you type "git checkout remoteBranch". What it doesn't necessarily do is fetch the relevant objects - you may have to do "git fetch origin" for this.

Also, as an aside, both of the versions of git you mention (1.7 and 1.9) are a little bit behind the curve - the current release is 2.3. You may find things easier if you upgrade.
Post Reply