bats-support \
bats-assert \
shellcheck \
- flac \
- lame \
- eyed3 \
- opus-tools \
- vorbis-tools \
- parallel \
&& apt-get clean \
&& rm --recursive --force /var/lib/apt/lists/*
COPY run /app/run
#!/bin/bash
-flac_errlog()
-{
- local lastexit=$?
- local msg="$1"
-
- echo "❌ ERROR: $msg"
- return $lastexit
-}
-
flac_add_picture()
{
local work_path="$1"
done
}
-flac_check_programs()
-{
- command -v metaflac > /dev/null \
- || flac_errlog "command metaflac not found" \
- || return $?
-}
-
flac_encode()
{
local work_path="$1"
- [ -n "$work_path" ] \
- || flac_errlog "missing work path" \
- || return $?
flac_add_picture "$work_path"
-}
-
-flac_check_programs || return $?
\ No newline at end of file
+}
\ No newline at end of file
mp3_check_programs()
{
- command -v flac > /dev/null \
- || mp3_errlog "command flac not found" \
- || return $?
command -v lame > /dev/null \
|| mp3_errlog "command lame not found" \
|| return $?
mp3_encode_flac "{}"
}
+[ "$TEST_MODE" == "ON" ] && return 0
mp3_check_programs || return $?
export -f mp3_encode_flac
export -f mp3_flacmetadata_to_mp3_tag
\ No newline at end of file
opus_encode_flac "{}"
}
+[ "$TEST_MODE" == "ON" ] && return 0
opus_check_programs || return $?
export -f opus_encode_flac
\ No newline at end of file
vorbis_check_programs()
{
- command -v flac > /dev/null \
- || vorbis_errlog "command flac not found" \
- || return $?
- command -v metaflac > /dev/null \
- || vorbis_errlog "command metaflac not found" \
- || return $?
command -v oggenc > /dev/null \
|| vorbis_errlog "command oggenc not found" \
|| return $?
vorbis_encode_flac "{}"
}
+[ "$TEST_MODE" == "ON" ] && return 0
vorbis_check_programs || return $?
export -f vorbis_write_number_to_byte
export -f vorbis_cover_to_metadata
bats_load_library 'bats-support'
bats_load_library 'bats-assert'
export METAFLAC_LOG="build/metaflac.log"
+ export TEST_MODE="ON"
source "src/lib/flac.sh"
}
rm --recursive --force "build/tests"
}
-# bats test_tags=flac:check_programs
-@test "failed: check programs missing metaflac" {
- command() {
- [ "$2" != "metaflac" ] || return 1
- }
-
- run flac_check_programs
-
- assert_failure
- assert_line --index 0 "❌ ERROR: command metaflac not found"
-}
-
-# bats test_tags=flac:params
-@test "failed: mising work path" {
- run flac_encode
-
- assert_failure
- assert_line --index 0 "❌ ERROR: missing work path"
-}
-
# bats test_tags=flac:addpicture
@test "success: add picture to flac" {
echo "testfile" > "build/tests/output/file.flac"
setup() {
bats_load_library 'bats-support'
bats_load_library 'bats-assert'
+ export TEST_MODE="ON"
source "src/lib/mp3.sh"
}
-# bats test_tags=mp3:check_programs
-@test "failed: check programs missing flac" {
- command() {
- [ "$2" != "flac" ] || return 1
- }
-
- run mp3_check_programs
-
- assert_failure
- assert_line --index 0 "❌ ERROR: command flac not found"
-}
-
# bats test_tags=mp3:check_programs
@test "failed: check programs missing lame" {
command() {
setup() {
bats_load_library 'bats-support'
bats_load_library 'bats-assert'
+ export TEST_MODE="ON"
source "src/lib/opus.sh"
}
setup() {
bats_load_library 'bats-support'
bats_load_library 'bats-assert'
+ export TEST_MODE="ON"
source "src/lib/vorbis.sh"
}
rm --recursive --force "build/tests"
}
-# bats test_tags=vorbis:check_programs
-@test "failed: check programs missing flac" {
- command() {
- [ "$2" != "flac" ] || return 1
- }
-
- run vorbis_check_programs
-
- assert_failure
- assert_line --index 0 "❌ ERROR: command flac not found"
-}
-
-# bats test_tags=vorbis:check_programs
-@test "failed: check programs missing metaflac" {
- command() {
- [ "$2" != "metaflac" ] || return 1
- }
-
- run vorbis_check_programs
-
- assert_failure
- assert_line --index 0 "❌ ERROR: command metaflac not found"
-}
-
# bats test_tags=vorbis:check_programs
@test "failed: check programs missing oggenc" {
command() {