Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Deduplicate code and exclude from run on Linux/MacOS
Keve committed 1 year ago
commit be555d139319ad43fa86d47d886c3fa004070992
parent 10608d1
1 file changed +42 -52
modified tests/frontend/create-parsebin.sh
@@ -4,7 +4,8 @@

tests_init \
	create_from_bin \
-
    create_from_binbase
+
    create_from_machobinbase \
+
    create_from_elfbinbase

genmanifest() {
    local PKG_NAME="$1"
@@ -95,10 +96,33 @@ files {${PKG_SHA256}
EOF
}

+
do_check() {
+
    ALLOW_BASE_SHLIBS=$1
+
    local PKG_NAME=$2
+
    local file1=$(atf_get_srcdir)/$3
+

+
    genmanifest ${PKG_NAME} ${file1}
+

+
    atf_check \
+
        -o inline:"${ALLOW_BASE_SHLIBS}\n" \
+
        pkg -o IGNORE_OSMAJOR=1 -o ABI_FILE=${file1} -o ALLOW_BASE_SHLIBS=${ALLOW_BASE_SHLIBS} config allow_base_shlibs
+

+
    # cat ${PKG_NAME}.manifest
+
    atf_check \
+
        -o empty \
+
        -e empty \
+
        -s exit:0 \
+
        pkg -o IGNORE_OSMAJOR=1 -o ABI_FILE=${file1} -o ALLOW_BASE_SHLIBS=${ALLOW_BASE_SHLIBS} create -M ./${PKG_NAME}.manifest -r ${TMPDIR}
+

+
    # cat ${PKG_NAME}.expected
+
    atf_check \
+
        -o file:${PKG_NAME}.expected \
+
        -e empty \
+
        -s exit:0 \
+
        pkg info -R --raw-format=ucl -F ${PKG_NAME}-1.pkg
+
}

create_from_bin_body() {
-
    local PKG_NAME=testbin
-

    for bin in \
        freebsd-aarch64.bin freebsd-amd64.bin freebsd-armv6.bin freebsd-armv7.bin \
		freebsd-i386.bin freebsd-powerpc.bin freebsd-powerpc64.bin freebsd-powerpc64le.bin \
@@ -107,65 +131,31 @@ create_from_bin_body() {
        macosfat.bin "macosfat.bin#amd64" "macosfat.bin#aarch64" \
        macosfatlib.bin "macosfatlib.bin#amd64" "macosfatlib.bin#aarch64"
    do
-
        local file1=$(atf_get_srcdir)/$bin
-

-
        ALLOW_BASE_SHLIBS=no
-
        genmanifest ${PKG_NAME} ${file1}
-

-
		atf_check \
-
			-o inline:"${ALLOW_BASE_SHLIBS}\n" \
-
			pkg -o IGNORE_OSMAJOR=1 -o ABI_FILE=${file1} -o ALLOW_BASE_SHLIBS=${ALLOW_BASE_SHLIBS} config allow_base_shlibs
-

-
        # cat ${PKG_NAME}.manifest
-
        atf_check \
-
            -o empty \
-
            -e empty \
-
            -s exit:0 \
-
            pkg -o IGNORE_OSMAJOR=1 -o ABI_FILE=${file1} -o ALLOW_BASE_SHLIBS=${ALLOW_BASE_SHLIBS} create -M ./${PKG_NAME}.manifest -r ${TMPDIR}
-

-
        # cat ${PKG_NAME}.expected
-
        atf_check \
-
            -o file:${PKG_NAME}.expected \
-
            -e empty \
-
            -s exit:0 \
-
            pkg info -R --raw-format=ucl -F ${PKG_NAME}-1.pkg
+
        do_check no testbin $bin
    done
}

-
create_from_binbase_body() {
-
    local PKG_NAME=testbinbase
-

-
    # FIXME: All ELF readers are failing on non-native runs.
+
create_from_machobinbase_body() {
    for bin in \
        macos.bin macos106.bin macos150.bin \
        macosfat.bin "macosfat.bin#amd64" "macosfat.bin#aarch64" \
-
        macosfatlib.bin "macosfatlib.bin#amd64" "macosfatlib.bin#aarch64" \
+
        macosfatlib.bin "macosfatlib.bin#amd64" "macosfatlib.bin#aarch64" 
+
    do
+
        do_check yes machobinbase $bin
+
    done
+
}
+

+
create_from_elfbinbase_body() {
+
    atf_skip_on Linux Test fails on Linux
+
    atf_skip_on Darwin Test fails on Darwin
+

+
    # FIXME: All ELF readers are failing on non-native runs.
+
    for bin in \
        freebsd-aarch64.bin freebsd-amd64.bin freebsd-armv6.bin freebsd-armv7.bin \
        freebsd-i386.bin freebsd-powerpc.bin freebsd-powerpc64.bin freebsd-powerpc64le.bin \
        freebsd-riscv64.bin \
        linux.bin dfly.bin
    do
-
        local file1=$(atf_get_srcdir)/$bin
-

-
        ALLOW_BASE_SHLIBS=yes
-
        genmanifest ${PKG_NAME} ${file1}
-

-
        atf_check \
-
			-o inline:"${ALLOW_BASE_SHLIBS}\n" \
-
			pkg -o IGNORE_OSMAJOR=1 -o ABI_FILE=${file1} -o ALLOW_BASE_SHLIBS=${ALLOW_BASE_SHLIBS} config allow_base_shlibs
-

-
        # cat ${PKG_NAME}.manifest
-
        atf_check \
-
            -o empty \
-
            -e empty \
-
            -s exit:0 \
-
            pkg -o IGNORE_OSMAJOR=1 -o ABI_FILE=${file1} -o ALLOW_BASE_SHLIBS=${ALLOW_BASE_SHLIBS} create -M ./${PKG_NAME}.manifest -r ${TMPDIR}
-

-
        # cat ${PKG_NAME}.expected
-
        atf_check \
-
            -o file:${PKG_NAME}.expected \
-
            -e empty \
-
            -s exit:0 \
-
            pkg info -R --raw-format=ucl -F ${PKG_NAME}-1.pkg
+
        do_check yes elfbinbase $bin
    done
}

\ No newline at end of file