From 70a862a367beea2c92ec0fb1bcaba41b942c78ac Mon Sep 17 00:00:00 2001 From: Mingli Yu Date: Fri, 5 Jul 2019 02:00:23 -0700 Subject: go.bbclass: separate the ptest logic to go-ptest class The current go class includes ptest logic by default and will make the recipe which inherits go class to support ptest automatically though maybe the recipe which inherits go class doesn't plan to support the ptest. So separate the ptest logic to another specified class go-ptest to make the recipe which needs to inherit go class more flexible with regards to ptest support. (From OE-Core rev: 099a2a212fed61a24643da63c74c09cef3ba4030) Signed-off-by: Mingli Yu Signed-off-by: Richard Purdie --- meta/classes/go.bbclass | 52 +------------------------------------------------ 1 file changed, 1 insertion(+), 51 deletions(-) (limited to 'meta/classes/go.bbclass') diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass index e05a5c641c..f303a15eaf 100644 --- a/meta/classes/go.bbclass +++ b/meta/classes/go.bbclass @@ -1,4 +1,4 @@ -inherit goarch ptest +inherit goarch GO_PARALLEL_BUILD ?= "${@oe.utils.parallel_make_argument(d, '-p %d')}" @@ -114,19 +114,6 @@ go_do_compile() { do_compile[dirs] =+ "${GOTMPDIR}" do_compile[cleandirs] = "${B}/bin ${B}/pkg" -do_compile_ptest_base() { - export TMPDIR="${GOTMPDIR}" - rm -f ${B}/.go_compiled_tests.list - go_list_package_tests | while read pkg; do - cd ${B}/src/$pkg - ${GO} test ${GOPTESTBUILDFLAGS} $pkg - find . -mindepth 1 -maxdepth 1 -type f -name '*.test' -exec echo $pkg/{} \; | \ - sed -e's,/\./,/,'>> ${B}/.go_compiled_tests.list - done - do_compile_ptest -} -do_compile_ptest_base[dirs] =+ "${GOTMPDIR}" - go_do_install() { install -d ${D}${libdir}/go/src/${GO_IMPORT} tar -C ${S}/src/${GO_IMPORT} -cf - --exclude-vcs --exclude '*.test' --exclude 'testdata' . | \ @@ -139,18 +126,6 @@ go_do_install() { fi } -go_make_ptest_wrapper() { - cat >${D}${PTEST_PATH}/run-ptest <&3) | sed -r -e"s,^(PASS|SKIP|FAIL)\$,\\1: \$1/\$2," >&4) 3>&1) | (read rc; exit \$rc)) 4>&1 - exit \$?) -EOF - -} - go_stage_testdata() { oldwd="$PWD" cd ${S}/src @@ -165,37 +140,12 @@ go_stage_testdata() { cd "$oldwd" } -do_install_ptest_base() { - test -f "${B}/.go_compiled_tests.list" || exit 0 - install -d ${D}${PTEST_PATH} - go_stage_testdata - go_make_ptest_wrapper - havetests="" - while read test; do - testdir=`dirname $test` - testprog=`basename $test` - install -d ${D}${PTEST_PATH}/$testdir - install -m 0755 ${B}/src/$test ${D}${PTEST_PATH}/$test - echo "run_test $testdir $testprog || RC=1" >> ${D}${PTEST_PATH}/run-ptest - havetests="yes" - done < ${B}/.go_compiled_tests.list - if [ -n "$havetests" ]; then - echo "exit \$RC" >> ${D}${PTEST_PATH}/run-ptest - chmod +x ${D}${PTEST_PATH}/run-ptest - else - rm -rf ${D}${PTEST_PATH} - fi - do_install_ptest - chown -R root:root ${D}${PTEST_PATH} -} - EXPORT_FUNCTIONS do_unpack do_configure do_compile do_install FILES_${PN}-dev = "${libdir}/go/src" FILES_${PN}-staticdev = "${libdir}/go/pkg" INSANE_SKIP_${PN} += "ldflags" -INSANE_SKIP_${PN}-ptest += "ldflags" # Add -buildmode=pie to GOBUILDFLAGS to satisfy "textrel" QA checking, but mips # doesn't support -buildmode=pie, so skip the QA checking for mips and its -- cgit v1.2.3-54-g00ecf