Browse Source

prepare release

main
Nicolas Massé 2 weeks ago
parent
commit
62adeb2008
  1. 30
      Makefile
  2. 4
      src/bin/zvirt
  3. 0
      src/lib/zvirt/core.sh
  4. 4
      test/e2e/zvirt.bats
  5. 2
      test/unit/core.bats
  6. 2
      test/unit/usage.bats

30
Makefile

@ -1,6 +1,7 @@
.PHONY: all test unit-test syntax-test e2e-test lint clean prerequisites
PREFIX ?= /usr/local
.PHONY: all test unit-test syntax-test e2e-test lint clean prerequisites install
all: syntax-test unit-test lint
all: syntax-test unit-test e2e-test lint install
syntax-test:
@echo "Running syntax tests..."
@ -14,13 +15,32 @@ prerequisites:
unit-test: prerequisites
@echo "Running unit tests..."
@LANG=LC_ALL=C BATS_LIB_PATH=$(PWD)/test/test_helper bats test/unit
@LANG=C LC_ALL=C BATS_LIB_PATH=$(PWD)/test/test_helper bats test/unit
e2e-test: prerequisites
@echo "Running end-to-end tests..."
@LANG=LC_ALL=C BATS_LIB_PATH=$(PWD)/test/test_helper bats test/e2e
@LANG=C LC_ALL=C BATS_LIB_PATH=$(PWD)/test/test_helper bats test/e2e
install:
@echo "Installing zvirt..."
@install -d $(PREFIX)/lib/zvirt
@install -m 755 src/bin/zvirt $(PREFIX)/bin/zvirt
@install -m 644 src/lib/zvirt/core.sh $(PREFIX)/lib/zvirt/core.sh
uninstall:
@echo "Uninstalling zvirt..."
@rm -f $(PREFIX)/bin/zvirt
@rm -rf $(PREFIX)/lib/zvirt
release:
@echo "Creating release tarball..."
@set -Eeuo pipefail; VERSION=$$(git describe --tags --abbrev=0); tar --exclude-vcs --exclude='*.swp' -czf zvirt-$$VERSION.tar.gz --transform "s|^src|zvirt-$$VERSION|" src
install-release:
@echo "Installing zvirt from release tarball..."
@set -Eeuo pipefail; VERSION=$$(git describe --tags --abbrev=0); tar -xvzf zvirt-$$VERSION.tar.gz --strip-components=1 -C $(PREFIX)
clean:
lint:
@echo "Linting..."
@shellcheck src/zvirt src/lib/*.sh
@shellcheck src/bin/zvirt src/lib/zvirt/*.sh

4
src/zvirt → src/bin/zvirt

@ -30,8 +30,8 @@ export LANG=C
export LC_ALL=C
# Load core library
script_dir="$(realpath "$(dirname "${BASH_SOURCE[0]}")")"
source "$script_dir/lib/core.sh"
script_dir="$(realpath "$(dirname "${BASH_SOURCE[0]}")/../")"
source "$script_dir/lib/zvirt/core.sh"
# Parse command line arguments and act accordingly
init_global_variables

0
src/lib/core.sh → src/lib/zvirt/core.sh

4
test/e2e/zvirt.bats

@ -8,10 +8,10 @@ setup() {
export LANG=C LC_ALL=C
zvirt () {
"${BATS_TEST_DIRNAME}/../../src/zvirt" "$@"
"${BATS_TEST_DIRNAME}/../../src/bin/zvirt" "$@"
}
declare -g e2e_test_enable_debug=0
declare -g e2e_test_enable_debug=1
e2e_test_debug_log(){
if [ "$e2e_test_enable_debug" -eq 1 ]; then
echo "$@" >&3

2
test/unit/core.bats

@ -8,7 +8,7 @@ setup() {
# Load the core library and export its functions
local fn_before="$(declare -F | cut -d ' ' -f 3 | sort)"
set -Eeuo pipefail
source "${BATS_TEST_DIRNAME}/../../src/lib/core.sh"
source "${BATS_TEST_DIRNAME}/../../src/lib/zvirt/core.sh"
local fn_after="$(declare -F | cut -d ' ' -f 3 | sort)"
declare -a zvirt_fn=( $(comm -13 <(echo "$fn_before") <(echo "$fn_after")) )
for fn in "${zvirt_fn[@]}"; do

2
test/unit/usage.bats

@ -5,7 +5,7 @@ setup() {
bats_load_library 'bats-assert'
set -Eeuo pipefail
source "${BATS_TEST_DIRNAME}/../../src/lib/core.sh"
source "${BATS_TEST_DIRNAME}/../../src/lib/zvirt/core.sh"
function call_parse_args () {
init_global_variables

Loading…
Cancel
Save