Page 1 of 1
elmerf90-nosh and Elmer/Ice tests
Posted: 12 Mar 2015, 21:19
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?
Re: elmerf90-nosh and Elmer/Ice tests
Posted: 12 Mar 2015, 23:47
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
Re: elmerf90-nosh and Elmer/Ice tests
Posted: 13 Mar 2015, 01:20
by nicks
You're absolutely right. Thanks Peter!
Re: elmerf90-nosh and Elmer/Ice tests
Posted: 18 Mar 2015, 05:24
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
Re: elmerf90-nosh and Elmer/Ice tests
Posted: 18 Mar 2015, 09:21
by tzwinger
Hi Rupert,
your issue might be connected to the fact that the default branch is "devel" and not "elmerice".
A
might be at place.
Regards,
Thomas
Re: elmerf90-nosh and Elmer/Ice tests
Posted: 19 Mar 2015, 01:42
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
Re: elmerf90-nosh and Elmer/Ice tests
Posted: 20 Mar 2015, 17:46
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.