Within ecFlow there are many scripts. Many of these scripts rely on environment variables.
WK
export WK=<root source path ecflow>
This is used by cmake.sh and build_scripts/nightly/quick_install.sh.
cmake.sh
This script is used to build ecFlow on Linux and relies on the module system
cd $WK ./cmake.sh clean make -j8 # start with a clean build, and make -j8 ./cmake.sh clean make -j8 install # build and install to /var/tmp/$USER/install/cmake/ecflow/<version> ./cmake.sh clean debug make -j8 # build a debug version ./cmake.sh clean clang # build with clang compiler ./cmake.sh clean intel # build with intel compiler ./cmake.sh ctest -R u_ # run all the test beginning with u_ with ctest ./cmake.sh ctest -R u_ -VV # run all the test beginning with u_ with ctest in verbose mode
quick_install.sh
This script depends on install made by cmake.sh, it is capable of testing SSL, custom users, password based access. It will also:
- Kill existing local server running with port ECF_PORT
- remove any old checkpoint and log files.
- start a new server with port ECF_PORT
- run metabuilder/develop branch for ecflow
- Load all the definition from $WK/ANode/parser/test/data/good_defs
- kill any existing ecflow_ui and start a new ecflow_ui
After running the quick_install.sh script, ecflow_ui will be invoked. Check for the existence of a server called "local" (its port should be equal to the one in the script i.e., the variable ECF_PORT).
View the contents of this local server, you should see tasks like "alias", "autoarchive", autocancel etc. These can be resumed to do the testing.
Once all the testing is done, you can kill this server by setting the right port and invoking:
% ECF_PORT=4041 /tmp/$USER/install/cmake/ecflow/$VERSION/bin/ecflow_client --terminate=yes