--- /dev/null
+#
+#==================================================================================
+# Copyright (c) 2018-2020 AT&T Intellectual Property.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#==================================================================================
+#
+
+# This top level CMake definition is intended only to suppor the LF jenkins
+# environment which seems not to be customisable. It does NOT build anything.
+# Run tests like this:
+#
+# mkdir .build
+# cd .build
+# cmake ..
+# make tests ARGS=-v
+
+# See ci/build_all for an example of how to build and test
+
+project( mc_testing LANGUAGES C )
+cmake_minimum_required( VERSION 3.5 )
+
+# ------------- testing -------------------------------------------------------
+enable_testing()
+
+# cmake cannot set env vars, so we have to passed desired vars on the wrapper command
+# and assume the wrapper will do the right thing with them. CMake also seems unable
+# to reference ../dir1/dir2 (../dir1 works), so we have to use the crazy syntax
+# with the absurdly long variable name.
+#
+add_test(
+ NAME drive_listener_tests
+ COMMAND ksh run_unit_test.ksh CMBUILD=${CMAKE_CURRENT_BINARY_DIR}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../sidecars/listener
+)
+ #WORKING_DIRECTORY ../sidecars/listener
sleep ${1:-60}
if [[ -e /tmp/running ]]
then
- echo "abort: unit test running too long"
+ echo "abort: unit test running too long, killing $2"
kill -9 ${2:-bad-pid}
fi
}
rm -fr /tmp/mc_listener_test
}
-
if ! make -B unit_test # ensure that it's fresh
then
echo "[FAIL] cannot make unit_test"
exit
fi
-abort_after 60
+abort_after 60
if ! unit_test >/tmp/PID$$.utlog 2>&1
then
- rm /tmp/running
+ rm -f /tmp/running
cat /tmp/PID$$.utlog
rm -f /tmp/PID$$.*
purge_dirs
exit 1
fi
-rm /tmp/running
+rm -f /tmp/running
echo "[PASS] base unit tests all pass"
echo "[INFO] file/directory verification begins...."
then
echo "[FAIL] copy source test should have been unlinked but was there!"
rc=1
-else
+else
dest_md5=$( cat $copy_dest | md5sum ) # use cat so that filename doesn't factor in to output
if [[ $dest_md5 != $src_md5 ]]
then
echo "[FAIL] overall test fails"
else
echo "[PASS] overall test passes"
+ rm -f *test*.gcov
fi
rm -f /tmp/PID$$.*
logit( LOG_WARN, "warning message" );
logit( LOG_STAT, "stats message" );
+ fprintf( stderr, "[INFO] expected create fail message should follow\n" );
bad_ctx = mcl_mk_context( "/nosuchdirectoryinthesystem" ); // create a context where fifo opens should fail
if( bad_ctx == NULL ) {
fprintf( stderr, "[FAIL] couldn't make 'bad' context" );