Initial commit

This commit is contained in:
dev
2025-02-27 21:53:53 +08:00
commit 815e55e4c0
1291 changed files with 185445 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
add_custom_target(fdb_loopback ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/fdb_loopback.sh)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fdb_loopback.sh
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/fdb_loopback.sh
${CMAKE_CURRENT_BINARY_DIR}/fdb_loopback.sh
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/fdb_loopback.sh)

View File

@@ -0,0 +1,32 @@
#/bin/bash
set -e
# This scripe is used by CI to back test binarys when failure.
if (( $# != 3 )) ; then
echo "Usage 'cd working-directory; ${0} <build-directory> <backup-directory> <pipeline-id>' "
exit 1
fi
echo 'Back up binarys and logs.'
BUILD_DIRECTORY=${1}
BACKUP_DIRECTORY=${2}
PIPELINE_ID=${3}
mkdir -p ${BACKUP_DIRECTORY}
# To avoid backup directory use up space, clean backup directory before test.
# Only keeps backup files created in 72 hours.
OLD_BACKUPS=`find ${BACKUP_DIRECTORY} -type f -mtime +3 -name 'backup-*.tar.gz'`
echo 'Remove old updates:' ${OLD_BACKUPS}
echo ${OLD_BACKUPS} | xargs rm -f
# Save binarys.
mkdir -p ${BUILD_DIRECTORY}/backup
cp ${BUILD_DIRECTORY}/tests/test_* ${BUILD_DIRECTORY}/backup || true
BACKUP_PATH=${BACKUP_DIRECTORY}/backup-${PIPELINE_ID}.tar.gz
echo 'Tar all files to' ${BACKUP_PATH}
tar -zcvf ${BACKUP_PATH} ${BUILD_DIRECTORY}/backup

71
tests/scripts/fdb_loopback.sh Executable file
View File

@@ -0,0 +1,71 @@
#!/bin/bash
set -euo pipefail
function cleanup {
rv=$?
jobs -p | xargs -r kill || true
exit $rv
}
trap "cleanup" EXIT
if (( $# == 0 )) ; then
echo "FDB_PATH=<fdb-binary-path> FDB_PORT=<fdb-port> FDB_CLUSTER_SIZE=<n> ${0} <data> <cmd>"
exit 1
fi
DATA_DIR=${1}
COMMAND=${2:-}
echo $DATA_DIR $COMMAND
FDB_PORT=${FDB_PORT:-8000}
FDB_CLUSTER_SIZE=${FDB_CLUSTER_SIZE:-1}
echo $FDB_PORT $FDB_CLUSTER_SIZE
if [ -z ${FDB_PATH:-''} ]; then
FDB=`which fdbserver`
FDBCLI=`which fdbcli`
else
FDB=$FDB_PATH/fdbserver
FDBCLI=$FDB_PATH/fdbcli
fi
echo fdbserver: $FDB
echo fdbclient: $FDBCLI
rm -rf ${DATA_DIR}
mkdir -p ${DATA_DIR}
CLUSTER_FILE="test${FDB_PORT}:testdb${FDB_PORT}@127.0.0.1:${FDB_PORT}"
CLUSTER=${DATA_DIR}/fdb.cluster
echo $CLUSTER_FILE > $CLUSTER
echo "Starting Cluster: " $CLUSTER_FILE
for j in `seq 1 ${FDB_CLUSTER_SIZE}`; do
PORT=`expr $FDB_PORT + $j - 1`
LOG=${DATA_DIR}/${j}/log
DATA=${DATA_DIR}/${j}/data
mkdir -p ${LOG} ${DATA}
${FDB} -p auto:${PORT}`` -d $DATA -L $LOG -C $CLUSTER &
done
CLI="$FDBCLI -C ${CLUSTER} --exec"
sleep 5 && $CLI "configure new memory single"
sleep 5 && echo "Check Foundationdb status:" `$CLI status`
echo ""
echo "Run test:"
FDB_CLUSTER_FILE=`realpath ${CLUSTER}`
echo export FDB_UNITTEST_CLUSTER=${FDB_CLUSTER_FILE}
export FDB_UNITTEST_CLUSTER=$FDB_CLUSTER_FILE
if [ -z ${COMMAND} ]; then
while read -p "> " -r command; do
echo Executing command: $command
eval $command
done
else
echo Executing command: ${COMMAND}
eval ${COMMAND}
fi