add tests

This commit is contained in:
tschettervictor
2025-11-19 23:20:02 -07:00
parent b2ac576ef9
commit 336dfbb1fe
73 changed files with 944 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
ARG RELEASE
ARG OPTIONS
CMD bastille bootstrap ${OPTIONS} ${RELEASE}

View File

@@ -0,0 +1,4 @@
ARG TEMPLATE_URL
ARG OPTIONS
CMD bastille bootstrap ${OPTIONS} ${TEMPLATE_URL}

View File

@@ -0,0 +1,6 @@
ARG OPTIONS
ARG JAIL
ARG NEW_JAIL
ARG NEW_IP
CMD bastille clone ${OPTIONS} ${JAIL} ${NEW_JAIL} ${NEW_IP}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG ARGS
CMD bastille cmd ${OPTIONS} ${JAIL} ${ARGS}

View File

@@ -0,0 +1,7 @@
ARG OPTIONS
ARG JAIL
ARG ACTION
ARG PROPERTY
ARG VALUE
CMD bastille config ${OPTIONS} ${JAIL} ${ACTION} ${PROPERTY} ${VALUE}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG USER
CMD bastille console ${OPTIONS} ${JAIL} ${USER}

View File

@@ -0,0 +1,4 @@
ARG JAIL
ARG OPTIONS
CMD bastille convert ${OPTIONS} ${JAIL}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG RELEASE
CMD bastille convert ${OPTIONS} ${JAIL} ${RELEASE}

View File

@@ -0,0 +1,6 @@
ARG OPTIONS
ARG JAIL
ARG HOST_PATH
ARG JAIL_PATH
CMD bastille cp ${OPTIONS} ${JAIL} ${HOST_PATH} ${JAIL_PATH}

View File

@@ -0,0 +1,7 @@
ARG OPTIONS
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
CMD bastille create ${OPTIONS} ${JAIL} ${RELEASE} ${IP} ${INTERFACE}

View File

@@ -0,0 +1,4 @@
ARG OPTIONS
ARG JAIL
CMD bastille destroy ${OPTIONS} ${JAIL}

View File

@@ -0,0 +1,6 @@
# unit-tests/destroy-release
ARG OPTIONS
ARG RELEASE
CMD bastille destroy ${OPTIONS} ${RELEASE}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG FILE
CMD bastille edit ${OPTIONS} ${JAIL} ${FILE}

View File

@@ -0,0 +1,6 @@
ARG OPTIONS
ARG JAIL
ARG ACTION
ARG RELEASE
CMD bastille etcupdate ${OPTIONS} ${JAIL} ${ACTION} ${RELEASE}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG PATH
CMD bastille export ${OPTIONS} ${JAIL} ${PATH}

View File

@@ -0,0 +1,4 @@
ARG OPTIONS
ARG JAIL
CMD bastille htop ${OPTIONS} ${JAIL}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG FILE
ARG RELEASE
CMD bastille import ${OPTIONS} ${FILE} ${RELEASE}

View File

@@ -0,0 +1,7 @@
ARG OPTIONS
ARG SOURCE_JAIL
ARG SOURCE_JAIL_PATH
ARG DESTINATION_JAIL
ARG DESTINATION_JAIL_PATH
CMD bastille jcp ${OPTIONS} ${SOURCE_JAIL} ${SOURCE_JAIL_PATH} ${DESTINATION_JAIL} ${DESTINATION_JAIL_PATH}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG ARGS
CMD bastille limits ${OPTIONS} ${JAIL} ${ARGS}

View File

@@ -0,0 +1,4 @@
ARG OPTIONS
ARG ARGS
CMD bastille list ${OPTIONS} ${ARGS}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG HOST
CMD bastille migrate ${OPTIONS} ${JAIL} ${HOST}

View File

@@ -0,0 +1,7 @@
ARG OPTIONS
ARG JAIL
ARG HOST_PATH
ARG JAIL_PATH
ARG ARGS
CMD bastille mount ${OPTIONS} ${JAIL} ${HOST_PATH} ${JAIL_PATH} ${ARGS}

View File

@@ -0,0 +1,7 @@
ARG OPTIONS
ARG JAIL
ARG ACTION
ARG INTERFACE
ARG IP
CMD bastille network ${OPTIONS} ${JAIL} ${ACTION} ${INTERFACE} ${IP}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG ARGS
CMD bastille pkg ${OPTIONS} ${JAIL} ${ARGS}

View File

@@ -0,0 +1,6 @@
ARG OPTIONS
ARG JAIL
ARG JAIL_PATH
ARG HOST_PATH
CMD bastille rcp ${OPTIONS} ${JAIL} ${JAIL_PATH} ${HOST_PATH}

View File

@@ -0,0 +1,9 @@
ARG OPTIONS
ARG JAIL
ARG ACTION
ARG PROTOCOL
ARG HOST_PORT
ARG JAIL_PORT
ARG LOG
CMD bastille rdr ${OPTIONS} ${JAIL} ${ACTION} ${PROTOCOL} ${HOST_PORT} ${JAIL_PORT} ${LOG}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG NEW_JAIL
CMD bastille rename ${OPTIONS} ${JAIL} ${NEW_JAIL}

View File

@@ -0,0 +1,4 @@
ARG OPTIONS
ARG JAIL
CMD bastille restart ${OPTIONS} ${JAIL}

View File

@@ -0,0 +1,6 @@
ARG OPTIONS
ARG JAIL
ARG SERVICE
ARG ARGS
CMD bastille service ${OPTIONS} ${JAIL} ${SERVICE} ${ARGS}

View File

@@ -0,0 +1,6 @@
# core/setup
ARG OPTIONS
ARG ARGS
CMD bastille setup ${OPTIONS} ${ARGS}

View File

@@ -0,0 +1,4 @@
ARG OPTIONS
ARG JAIL
CMD bastille start ${OPTIONS} ${JAIL}

View File

@@ -0,0 +1,4 @@
ARG OPTIONS
ARG JAIL
CMD bastille stop ${OPTIONS} ${JAIL}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG ARGS
CMD bastille sysrc ${OPTIONS} ${JAIL} ${ARGS}

View File

@@ -0,0 +1,6 @@
ARG OPTIONS
ARG JAIL
ARG ACTION
ARG TAGS
CMD bastille tags ${OPTIONS} ${JAIL} ${ACTION} ${TAGS}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG TEMPLATE
CMD bastille template ${OPTIONS} ${JAIL} ${TEMPLATE}

View File

@@ -0,0 +1,4 @@
ARG OPTIONS
ARG JAIL
CMD bastille top ${OPTIONS} ${JAIL}

View File

@@ -0,0 +1,5 @@
ARG OPTIONS
ARG JAIL
ARG JAIL_PATH
CMD bastille umount ${OPTIONS} ${JAIL} ${JAIL_PATH}

View File

@@ -0,0 +1,4 @@
ARG OPTIONS
ARG JAIL
CMD bastille update ${OPTIONS} ${JAIL}

View File

@@ -0,0 +1,6 @@
ARG OPTIONS
ARG JAIL
ARG RELEASE
ARG ARGS
CMD bastille upgrade ${OPTIONS} ${JAIL} ${RELEASE} ${ARGS}

View File

@@ -0,0 +1,4 @@
ARG OPTIONS
ARG RELEASE
CMD bastille verify ${OPTIONS} ${RELEASE}

View File

@@ -0,0 +1,4 @@
ARG OPTIONS
ARG TEMPLATE
CMD bastille verify ${OPTIONS} ${TEMPLATE}

View File

@@ -0,0 +1,6 @@
ARG OPTIONS
ARG JAIL
ARG ACTION
ARG ARGS
CMD bastille zfs ${OPTIONS} ${JAIL} ${ACTION} ${ARGS}

View File

@@ -0,0 +1,45 @@
# ufs-tests/init
ARG JAIL=folsom
ARG RELEASE=14.3-RELEASE
ARG IP=10.1.1.1
ARG INTERFACE=vtnet0
ARG NEW_INTERFACE=vtnet0
ARG BRIDGE=vtnet0bridge
ARG CLONE_NEW_JAIL=attica
ARG CLONE_NEW_IP=10.1.1.2
ARG CONVERT_NEW_RELEASE=testrelease
ARG CP_HOST_PATH=/etc/resolv.conf
ARG CP_JAIL_PATH=/tmp
ARG RCP_JAIL_PATH=/etc/resolv.conf
ARG RCP_HOST_PATH=/tmp
ARG SETUP_BRIDGE_INTERFACE=vtnet0
ARG JCP_JAIL1=folsom
ARG JCP_JAIL2=attica
ARG JCP_IP1=10.1.1.1
ARG JCP_IP2=10.1.1.2
ARG JCP_SOURCE_PATH=/etc/resolv.conf
ARG JCP_DESTINATION_PATH=/tmp
ARG EXPORT_FILE=/tmp/*.txz
ARG EXPORT_PATH=/tmp
ARG MOUNT_HOST_FILE=/etc/resolv.conf
ARG MOUNT_JAIL_FILE=/tmp/etc/resolv.conf
ARG MOUNT_HOST_PATH=/usr/local/etc
ARG MOUNT_JAIL_PATH=/tmp/usr/local/etc
ARG RENAME_NEW_JAIL=attica
ARG TAGS="prod,dev"
ARG TEMPLATE_URL=https://github.com/BastilleBSD/templates.git
ARG TEMPLATE_TEMPLATE=www/nginx
INCLUDE ufs-tests/master --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_INTERFACE=${NEW_INTERFACE} --arg BRIDGE=${BRIDGE} --arg CLONE_NEW_JAIL=${CLONE_NEW_JAIL} --arg CLONE_NEW_IP=${CLONE_NEW_IP} --arg CONVERT_NEW_RELEASE=${CONVERT_NEW_RELEASE} --arg CP_HOST_PATH=${CP_HOST_PATH} --arg CP_JAIL_PATH=${CP_JAIL_PATH} --arg RCP_JAIL_PATH=${RCP_JAIL_PATH} --arg RCP_HOST_PATH=${RCP_HOST_PATH} --arg SETUP_BRIDGE_INTERFACE=${SETUP_BRIDGE_INTERFACE} --arg JCP_JAIL1=${JCP_JAIL1} --arg JCP_JAIL2=${JCP_JAIL2} --arg JCP_IP1=${JCP_IP1} --arg JCP_IP2=${JCP_IP2} --arg JCP_SOURCE_PATH=${JCP_SOURCE_PATH} --arg JCP_DESTINATION_PATH=${JCP_DESTINATION_PATH} --arg EXPORT_FILE=${EXPORT_FILE} --arg EXPORT_PATH=${EXPORT_PATH} --arg MOUNT_HOST_FILE=${MOUNT_HOST_FILE} --arg MOUNT_JAIL_FILE=${MOUNT_JAIL_FILE} --arg MOUNT_HOST_PATH=${MOUNT_HOST_PATH} --arg MOUNT_JAIL_PATH=${MOUNT_JAIL_PATH} --arg RENAME_NEW_JAIL=${RENAME_NEW_JAIL} --arg TAGS=${TAGS} --arg TEMPLATE_URL=${TEMPLATE_URL} --arg TEMPLATE_TEMPLATE=${TEMPLATE_TEMPLATE}

View File

@@ -0,0 +1,137 @@
# ufs-tests/master
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG NEW_INTERFACE
ARG BRIDGE
ARG CLONE_NEW_JAIL
ARG CLONE_NEW_IP
ARG CONVERT_NEW_RELEASE
ARG CP_HOST_PATH
ARG CP_JAIL_PATH
ARG RCP_JAIL_PATH
ARG RCP_HOST_PATH
ARG SETUP_BRIDGE_INTERFACE
ARG JCP_JAIL1
ARG JCP_JAIL2
ARG JCP_IP1
ARG JCP_IP2
ARG JCP_SOURCE_PATH
ARG JCP_DESTINATION_PATH
ARG EXPORT_FILE
ARG EXPORT_PATH
ARG MOUNT_HOST_FILE
ARG MOUNT_JAIL_FILE
ARG MOUNT_HOST_PATH
ARG MOUNT_JAIL_PATH
ARG RENAME_NEW_JAIL
ARG TAGS
ARG TEMPLATE_URL
ARG TEMPLATE_TEMPLATE
# *****************
# ***** Setup *****
# *****************
INCLUDE unit-tests/setup
INCLUDE unit-tests/setup-bridge --arg ARGS=${SETUP_BRIDGE_INTERFACE}
# *********************
# ***** Bootstrap *****
# *********************
INCLUDE unit-tests/bootstrap-releaseLegacy --arg RELEASE=${RELEASE}
# *****************
# ***** Clone *****
# *****************
INCLUDE unit-tests/clone-thick --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_JAIL=${CLONE_NEW_JAIL} --arg NEW_IP=${CLONE_NEW_IP}
INCLUDE unit-tests/clone-thin --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_JAIL=${CLONE_NEW_JAIL} --arg NEW_IP=${CLONE_NEW_IP}
# *******************
# ***** Convert *****
# *******************
INCLUDE unit-tests/convert-jail --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE unit-tests/convert-release --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_RELEASE=${CONVERT_NEW_RELEASE}
# **********************
# ***** cp/rcp/jcp *****
# **********************
INCLUDE unit-tests/cp --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg HOST_PATH=${CP_HOST_PATH} --arg JAIL_PATH=${CP_JAIL_PATH}
INCLUDE unit-tests/rcp --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg JAIL_PATH=${RCP_JAIL_PATH} --arg HOST_PATH=${RCP_HOST_PATH}
INCLUDE unit-tests/jcp --arg JAIL1=${JCP_JAIL1} --arg JAIL2=${JCP_JAIL2} --arg RELEASE=${RELEASE} --arg IP1=${JCP_IP1} --arg IP2=${JCP_IP2} --arg INTERFACE=${INTERFACE} --arg SOURCE_JAIL_PATH=${JCP_SOURCE_PATH} --arg DESTINATION_JAIL_PATH=${JCP_DESTINATION_PATH}
# ******************
# ***** Create *****
# ******************
INCLUDE unit-tests/create-thick --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE unit-tests/create-thinBridge --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${BRIDGE}
INCLUDE unit-tests/create-thinVnet --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
# *************************
# ***** Export/Import *****
# *************************
INCLUDE unit-tests/export-import --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg FILE=${EXPORT_FILE} --arg PATH=${EXPORT_PATH}
# ************************
# ***** Mount/Umount *****
# ************************
INCLUDE unit-tests/mount-umount --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg HOST_FILE=${MOUNT_HOST_FILE} --arg JAIL_FILE=${MOUNT_JAIL-FILE} --arg HOST_PATH=${MOUNT_HOST_PATH} --arg JAIL_PATH=${MOUNT_JAIL_PATH}
# ***************
# ***** pkg *****
# ***************
INCLUDE unit-tests/pkg --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
# ******************
# ***** Rename *****
# ******************
INCLUDE unit-tests/rename-standard --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_JAIL=${RENAME_NEW_JAIL}
INCLUDE unit-tests/rename-vnet --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_JAIL=${RENAME_NEW_JAIL}
# ******************************
# ***** Start/Stop/Restart *****
# ******************************
INCLUDE unit-tests/start-stop --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE unit-tests/restart --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
# *************************
# ***** Service/Sysrc *****
# *************************
INCLUDE unit-tests/service --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
# ****************
# ***** Tags *****
# ****************
INCLUDE unit-tests/tags --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg TAGS=${TAGS}
# ********************
# ***** Template *****
# ********************
INCLUDE unit-tests/bootstrap-template --arg TEMPLATE_URL=${TEMPLATE_URL}
INCLUDE unit-tests/template --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg TEMPLATE=${TEMPLATE_TEMPLATE}

View File

@@ -0,0 +1,7 @@
# unit-tests/bootstrap-releaseLegacy
ARG RELEASE
INCLUDE core/bootstrap-release --arg RELEASE=${RELEASE}
INCLUDE core/destroy-release --arg OPTIONS="-cf" --arg RELEASE=${RELEASE}
INCLUDE core/bootstrap-release --arg RELEASE=${RELEASE}

View File

@@ -0,0 +1,6 @@
# unit-tests/bootstrap-releasePkgbase
ARG RELEASE
INCLUDE core/bootstrap-release --arg OPTIONS="-p" --arg RELEASE=${RELEASE}
INCLUDE core/destroy-release --arg RELEASE=${RELEASE}

View File

@@ -0,0 +1,6 @@
# unit-tests/bootstrap-template
ARG OPTIONS
ARG TEMPLATE_URL
INCLUDE core/bootstrap-template --arg OPTIONS=${OPTIONS} --arg TEMPLATE_URL=${TEMPLATE_URL}

View File

@@ -0,0 +1,16 @@
# unit-tests/clone-clone
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG NEW_JAIL
ARG NEW_IP
INCLUDE core/create --arg OPTIONS="-C" --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/clone --arg OPTIONS="-a" --arg JAIL=${JAIL} --arg NEW_JAIL=${NEW_JAIL} --arg NEW_IP=${NEW_IP}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${NEW_JAIL}

View File

@@ -0,0 +1,16 @@
# unit-tests/clone-thick
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG NEW_JAIL
ARG NEW_IP
INCLUDE core/create --arg OPTIONS="-T" --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/clone --arg OPTIONS="-a" --arg JAIL=${JAIL} --arg NEW_JAIL=${NEW_JAIL} --arg NEW_IP=${NEW_IP}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${NEW_JAIL}

View File

@@ -0,0 +1,16 @@
# unit-tests/clone-thin
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG NEW_JAIL
ARG NEW_IP
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/clone --arg OPTIONS="-a" --arg JAIL=${JAIL} --arg NEW_JAIL=${NEW_JAIL} --arg NEW_IP=${NEW_IP}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${NEW_JAIL}

View File

@@ -0,0 +1,12 @@
# unit-tests/convert-jail
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/convert-jail --arg OPTIONS="-ay" --arg JAIL=${JAIL}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,15 @@
# unit-tests/convert-release
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG NEW_RELEASE
INCLUDE core/create --arg OPTIONS="-T" --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/convert-release --arg OPTIONS="-ay" --arg JAIL=${JAIL} --arg RELEASE=${NEW_RELEASE}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}
INCLUDE core/destroy-release --arg OPTIONS="-fy" --arg RELEASE=${NEW_RELEASE}

View File

@@ -0,0 +1,14 @@
# unit-tests/cp
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG HOST_PATH
ARG JAIL_PATH
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/cp --arg JAIL=${JAIL} --arg HOST_PATH=${HOST_PATH} --arg JAIL_PATH=${JAIL_PATH}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,10 @@
# unit-test/create-clone
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
INCLUDE core/create --arg OPTIONS="-C" --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,10 @@
# unit-tests/create-thick
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
INCLUDE core/create --arg OPTIONS="-T" --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,14 @@
# unit-test/create-thinBridge
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
INCLUDE core/create --arg OPTIONS="-BM" --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}
INCLUDE core/create --arg OPTIONS="-BM" --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,14 @@
# unit-test/create-thinVnet
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
INCLUDE core/create --arg OPTIONS="-VM" --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}
INCLUDE core/create --arg OPTIONS="-VM" --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,21 @@
# unit-tests/export-import
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG FILE
ARG PATH
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/export --arg OPTIONS="-a --txz" --arg JAIL=${JAIL} --arg PATH=${PATH}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}
INCLUDE core/import --arg FILE=${FILE}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}
CMD rm -rf ${PATH}/*.txz
CMD rm -rf ${PATH}/*.sha256

View File

@@ -0,0 +1,19 @@
# unit-tests/jcp
ARG JAIL1
ARG JAIL2
ARG RELEASE
ARG IP1
ARG IP2
ARG INTERFACE
ARG SOURCE_JAIL_PATH
ARG DESTINATION_JAIL_PATH
INCLUDE core/create --arg JAIL=${JAIL1} --arg RELEASE=${RELEASE} --arg IP=${IP1} --arg INTERFACE=${INTERFACE}
INCLUDE core/create --arg JAIL=${JAIL2} --arg RELEASE=${RELEASE} --arg IP=${IP2} --arg INTERFACE=${INTERFACE}
INCLUDE core/jcp --arg SOURCE_JAIL=${JAIL1} --arg SOURCE_JAIL_PATH=${SOURCE_JAIL_PATH} --arg DESTINATION_JAIL=${JAIL2} --arg DESTINATION_JAIL_PATH=${DESTINATION_JAIL_PATH}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL1}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL2}

View File

@@ -0,0 +1,23 @@
# unit-tests/mount-umount
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG HOST_PATH
ARG JAIL_PATH
ARG HOST_FILE
ARG JAIL_FILE
ARG ARGS
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/mount --arg JAIL=${JAIL} --arg HOST_PATH=${HOST_PATH} --arg JAIL_PATH=${JAIL_PATH} --arg ARGS="${ARGS}"
INCLUDE core/mount --arg JAIL=${JAIL} --arg HOST_PATH=${HOST_FILE} --arg JAIL_PATH=${JAIL_FILE} --arg ARGS="${ARGS}"
INCLUDE core/umount --arg JAIL=${JAIL} --arg JAIL_PATH=${JAIL_PATH}
INCLUDE core/umount --arg JAIL=${JAIL} --arg JAIL_PATH=${JAIL_FILE}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,18 @@
# unit-tests/pkg
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
# -ay
INCLUDE core/pkg --arg OPTIONS="-ay" --arg JAIL=${JAIL} --arg ARGS="install nginx"
INCLUDE core/pkg --arg OPTIONS="-ay" --arg JAIL=${JAIL} --arg ARGS="remove nginx"
# -aHy
INCLUDE core/pkg --arg OPTIONS="-aHy" --arg JAIL=${JAIL} --arg ARGS="install nginx"
INCLUDE core/pkg --arg OPTIONS="-aHy" --arg JAIL=${JAIL} --arg ARGS="remove nginx"
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,14 @@
# unit-tests/rcp
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG JAIL_PATH
ARG HOST_PATH
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/rcp --arg JAIL=${JAIL} --arg JAIL_PATH=${JAIL_PATH} --arg HOST_PATH=${HOST_PATH}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,15 @@
# unit-tests/rename-standard
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG NEW_JAIL
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/rename --arg OPTIONS="-a" --arg JAIL=${JAIL} --arg NEW_JAIL=${NEW_JAIL}
INCLUDE core/start --arg JAIL=${NEW_JAIL}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${NEW_JAIL}

View File

@@ -0,0 +1,15 @@
# unit-tests/rename-vnet
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG NEW_JAIL
INCLUDE core/create --arg OPTIONS="-V" --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/rename --arg OPTIONS="-a" --arg JAIL=${JAIL} --arg NEW_JAIL=${NEW_JAIL}
INCLUDE core/start --arg JAIL=${NEW_JAIL}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${NEW_JAIL}

View File

@@ -0,0 +1,15 @@
# unit-tests/restart
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/restart --arg JAIL=${JAIL}
INCLUDE core/restart --arg OPTIONS="-d 5" --arg JAIL=${JAIL}
INCLUDE core/restart --arg OPTIONS="-b" --arg JAIL=${JAIL}
INCLUDE core/restart --arg OPTIONS="-i" --arg JAIL=${JAIL}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,12 @@
# unit-tests/service
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/service --arg JAIL=${JAIL} --arg SERVICE="jail" --arg ARGS="status"
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,6 @@
# unit-tests/setup-bridge
ARG OPTIONS="bridge"
ARG ARGS
INCLUDE core/setup --arg OPTIONS=${OPTIONS} --arg ARGS=${ARGS}

View File

@@ -0,0 +1,3 @@
# unit-tests/setup
INCLUDE core/setup

View File

@@ -0,0 +1,13 @@
# unit-tests/start-stop
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/stop --arg JAIL=${JAIL}
INCLUDE core/start --arg JAIL=${JAIL}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,14 @@
# unit-tests/tags
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/tags --arg JAIL=${JAIL} --arg ACTION=add --arg TAGS="prod,web"
INCLUDE core/tags --arg JAIL=${JAIL} --arg ACTION=delete --arg TAGS="prod,web"
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,13 @@
# unit-tests/template
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG TEMPLATE
INCLUDE core/create --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE core/template --arg OPTIONS="-a" --arg JAIL=${JAIL} --arg TEMPLATE=${TEMPLATE}
INCLUDE core/destroy-jail --arg OPTIONS="-afy" --arg JAIL=${JAIL}

View File

@@ -0,0 +1,45 @@
# zfs-tests/init
ARG JAIL=folsom
ARG RELEASE=14.3-RELEASE
ARG IP=10.1.1.1
ARG INTERFACE=vtnet0
ARG NEW_INTERFACE=vtnet0
ARG BRIDGE=vtnet0bridge
ARG CLONE_NEW_JAIL=attica
ARG CLONE_NEW_IP=10.1.1.2
ARG CONVERT_NEW_RELEASE=testrelease
ARG CP_HOST_PATH=/etc/resolv.conf
ARG CP_JAIL_PATH=/tmp
ARG RCP_JAIL_PATH=/etc/resolv.conf
ARG RCP_HOST_PATH=/tmp
ARG SETUP_BRIDGE_INTERFACE=vtnet0
ARG JCP_JAIL1=folsom
ARG JCP_JAIL2=attica
ARG JCP_IP1=10.1.1.1
ARG JCP_IP2=10.1.1.2
ARG JCP_SOURCE_PATH=/etc/resolv.conf
ARG JCP_DESTINATION_PATH=/tmp
ARG EXPORT_FILE=/tmp/*.txz
ARG EXPORT_PATH=/tmp
ARG MOUNT_HOST_FILE=/etc/resolv.conf
ARG MOUNT_JAIL_FILE=/tmp/etc/resolv.conf
ARG MOUNT_HOST_PATH=/usr/local/etc
ARG MOUNT_JAIL_PATH=/tmp/usr/local/etc
ARG RENAME_NEW_JAIL=attica
ARG TAGS="prod,dev"
ARG TEMPLATE_URL=https://github.com/BastilleBSD/templates.git
ARG TEMPLATE_TEMPLATE=www/nginx
INCLUDE zfs-tests/master --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_INTERFACE=${NEW_INTERFACE} --arg BRIDGE=${BRIDGE} --arg CLONE_NEW_JAIL=${CLONE_NEW_JAIL} --arg CLONE_NEW_IP=${CLONE_NEW_IP} --arg CONVERT_NEW_RELEASE=${CONVERT_NEW_RELEASE} --arg CP_HOST_PATH=${CP_HOST_PATH} --arg CP_JAIL_PATH=${CP_JAIL_PATH} --arg RCP_JAIL_PATH=${RCP_JAIL_PATH} --arg RCP_HOST_PATH=${RCP_HOST_PATH} --arg SETUP_BRIDGE_INTERFACE=${SETUP_BRIDGE_INTERFACE} --arg JCP_JAIL1=${JCP_JAIL1} --arg JCP_JAIL2=${JCP_JAIL2} --arg JCP_IP1=${JCP_IP1} --arg JCP_IP2=${JCP_IP2} --arg JCP_SOURCE_PATH=${JCP_SOURCE_PATH} --arg JCP_DESTINATION_PATH=${JCP_DESTINATION_PATH} --arg EXPORT_FILE=${EXPORT_FILE} --arg EXPORT_PATH=${EXPORT_PATH} --arg MOUNT_HOST_FILE=${MOUNT_HOST_FILE} --arg MOUNT_JAIL_FILE=${MOUNT_JAIL_FILE} --arg MOUNT_HOST_PATH=${MOUNT_HOST_PATH} --arg MOUNT_JAIL_PATH=${MOUNT_JAIL_PATH} --arg RENAME_NEW_JAIL=${RENAME_NEW_JAIL} --arg TAGS=${TAGS} --arg TEMPLATE_URL=${TEMPLATE_URL} --arg TEMPLATE_TEMPLATE=${TEMPLATE_TEMPLATE}

View File

@@ -0,0 +1,139 @@
# zfs-tests/master
ARG JAIL
ARG RELEASE
ARG IP
ARG INTERFACE
ARG NEW_INTERFACE
ARG BRIDGE
ARG CLONE_NEW_JAIL
ARG CLONE_NEW_IP
ARG CONVERT_NEW_RELEASE
ARG CP_HOST_PATH
ARG CP_JAIL_PATH
ARG RCP_JAIL_PATH
ARG RCP_HOST_PATH
ARG SETUP_BRIDGE_INTERFACE
ARG JCP_JAIL1
ARG JCP_JAIL2
ARG JCP_IP1
ARG JCP_IP2
ARG JCP_SOURCE_PATH
ARG JCP_DESTINATION_PATH
ARG EXPORT_FILE
ARG EXPORT_PATH
ARG MOUNT_HOST_FILE
ARG MOUNT_JAIL_FILE
ARG MOUNT_HOST_PATH
ARG MOUNT_JAIL_PATH
ARG RENAME_NEW_JAIL
ARG TAGS
ARG TEMPLATE_URL
ARG TEMPLATE_TEMPLATE
# *****************
# ***** Setup *****
# *****************
INCLUDE unit-tests/setup
INCLUDE unit-tests/setup-bridge --arg ARGS=${SETUP_BRIDGE_INTERFACE}
# *********************
# ***** Bootstrap *****
# *********************
INCLUDE unit-tests/bootstrap-releaseLegacy --arg RELEASE=${RELEASE}
# *****************
# ***** Clone *****
# *****************
INCLUDE unit-tests/clone-clone --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_JAIL=${CLONE_NEW_JAIL} --arg NEW_IP=${CLONE_NEW_IP}
INCLUDE unit-tests/clone-thick --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_JAIL=${CLONE_NEW_JAIL} --arg NEW_IP=${CLONE_NEW_IP}
INCLUDE unit-tests/clone-thin --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_JAIL=${CLONE_NEW_JAIL} --arg NEW_IP=${CLONE_NEW_IP}
# *******************
# ***** Convert *****
# *******************
INCLUDE unit-tests/convert-jail --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE unit-tests/convert-release --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_RELEASE=${CONVERT_NEW_RELEASE}
# **********************
# ***** cp/rcp/jcp *****
# **********************
INCLUDE unit-tests/cp --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg HOST_PATH=${CP_HOST_PATH} --arg JAIL_PATH=${CP_JAIL_PATH}
INCLUDE unit-tests/rcp --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg JAIL_PATH=${RCP_JAIL_PATH} --arg HOST_PATH=${RCP_HOST_PATH}
INCLUDE unit-tests/jcp --arg JAIL1=${JCP_JAIL1} --arg JAIL2=${JCP_JAIL2} --arg RELEASE=${RELEASE} --arg IP1=${JCP_IP1} --arg IP2=${JCP_IP2} --arg INTERFACE=${INTERFACE} --arg SOURCE_JAIL_PATH=${JCP_SOURCE_PATH} --arg DESTINATION_JAIL_PATH=${JCP_DESTINATION_PATH}
# ******************
# ***** Create *****
# ******************
INCLUDE unit-tests/create-clone --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} # ZFS only
INCLUDE unit-tests/create-thick --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE unit-tests/create-thinBridge --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${BRIDGE}
INCLUDE unit-tests/create-thinVnet --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
# *************************
# ***** Export/Import *****
# *************************
INCLUDE unit-tests/export-import --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg FILE=${EXPORT_FILE} --arg PATH=${EXPORT_PATH}
# ************************
# ***** Mount/Umount *****
# ************************
INCLUDE unit-tests/mount-umount --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg HOST_FILE=${MOUNT_HOST_FILE} --arg JAIL_FILE=${MOUNT_JAIL-FILE} --arg HOST_PATH=${MOUNT_HOST_PATH} --arg JAIL_PATH=${MOUNT_JAIL_PATH}
# ***************
# ***** pkg *****
# ***************
INCLUDE unit-tests/pkg --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
# ******************
# ***** Rename *****
# ******************
INCLUDE unit-tests/rename-standard --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_JAIL=${RENAME_NEW_JAIL}
INCLUDE unit-tests/rename-vnet --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg NEW_JAIL=${RENAME_NEW_JAIL}
# ******************************
# ***** Start/Stop/Restart *****
# ******************************
INCLUDE unit-tests/start-stop --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
INCLUDE unit-tests/restart --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
# *************************
# ***** Service/Sysrc *****
# *************************
INCLUDE unit-tests/service --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE}
# ****************
# ***** Tags *****
# ****************
INCLUDE unit-tests/tags --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg TAGS=${TAGS}
# ********************
# ***** Template *****
# ********************
INCLUDE unit-tests/bootstrap-template --arg TEMPLATE_URL=${TEMPLATE_URL}
INCLUDE unit-tests/template --arg JAIL=${JAIL} --arg RELEASE=${RELEASE} --arg IP=${IP} --arg INTERFACE=${INTERFACE} --arg TEMPLATE=${TEMPLATE_TEMPLATE}