* [PATCH] go-dep: disable PTEST_ENABLED
@ 2019-06-28 7:57 mingli.yu
2019-06-28 11:02 ` Richard Purdie
0 siblings, 1 reply; 9+ messages in thread
From: mingli.yu @ 2019-06-28 7:57 UTC (permalink / raw)
To: openembedded-core, matt
From: Mingli Yu <mingli.yu@windriver.com>
The run-ptest logic for go-dep actually runs the
/usr/lib64/go-dep/ptest/github.com/golang/dep/cmd/dep/dep.test whose
source file is https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go.
That dep_test.go starts by rebuilding the dep program
from source, then runs the tests using that copy of the
program, so it's assuming that we're still in a development
environment where we can run a full go build.
Considering it not being designed for a cross-build setup,
so disable PTEST_ENABLED.
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
meta/recipes-devtools/go/go-dep_0.5.0.bb | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-devtools/go/go-dep_0.5.0.bb b/meta/recipes-devtools/go/go-dep_0.5.0.bb
index a4d631f8ea..e9fc12fa5a 100644
--- a/meta/recipes-devtools/go/go-dep_0.5.0.bb
+++ b/meta/recipes-devtools/go/go-dep_0.5.0.bb
@@ -21,5 +21,6 @@ BBCLASSEXTEND = "native nativesdk"
# For compiling ptest on mips and mips64, the current go-dep version fails with the go 1.11 toolchain.
# error message: vet config not found
-PTEST_ENABLED_mips = "0"
-PTEST_ENABLED_mips64 = "0"
+# disable PTEST_ENABLED as the run-ptest script for go-dep actually runs the /usr/lib64/go-dep/ptest/github.com/golang/dep/cmd/dep/dep.test whose source file is https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go not being designed for a cross-build setup.
+PTEST_ENABLED = "0"
+PTEST_ENABLED = "0"
--
2.21.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] go-dep: disable PTEST_ENABLED
2019-06-28 7:57 [PATCH] go-dep: disable PTEST_ENABLED mingli.yu
@ 2019-06-28 11:02 ` Richard Purdie
2019-07-01 2:03 ` Yu, Mingli
0 siblings, 1 reply; 9+ messages in thread
From: Richard Purdie @ 2019-06-28 11:02 UTC (permalink / raw)
To: mingli.yu, openembedded-core, matt
On Fri, 2019-06-28 at 00:57 -0700, mingli.yu@windriver.com wrote:
> From: Mingli Yu <mingli.yu@windriver.com>
>
> The run-ptest logic for go-dep actually runs the
> /usr/lib64/go-dep/ptest/github.com/golang/dep/cmd/dep/dep.test whose
> source file is
> https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go.
>
> That dep_test.go starts by rebuilding the dep program
> from source, then runs the tests using that copy of the
> program, so it's assuming that we're still in a development
> environment where we can run a full go build.
>
> Considering it not being designed for a cross-build setup,
> so disable PTEST_ENABLED.
>
> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> ---
> meta/recipes-devtools/go/go-dep_0.5.0.bb | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-devtools/go/go-dep_0.5.0.bb b/meta/recipes-
> devtools/go/go-dep_0.5.0.bb
> index a4d631f8ea..e9fc12fa5a 100644
> --- a/meta/recipes-devtools/go/go-dep_0.5.0.bb
> +++ b/meta/recipes-devtools/go/go-dep_0.5.0.bb
> @@ -21,5 +21,6 @@ BBCLASSEXTEND = "native nativesdk"
>
> # For compiling ptest on mips and mips64, the current go-dep version
> fails with the go 1.11 toolchain.
> # error message: vet config not found
> -PTEST_ENABLED_mips = "0"
> -PTEST_ENABLED_mips64 = "0"
> +# disable PTEST_ENABLED as the run-ptest script for go-dep actually
> runs the /usr/lib64/go-
> dep/ptest/github.com/golang/dep/cmd/dep/dep.test whose source file is
> https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go not
> being designed for a cross-build setup.
> +PTEST_ENABLED = "0"
> +PTEST_ENABLED = "0"
Setting it twice looks wrong.
If we're disabling it, why would we inherit the ptest class at all as
its not going to work anywhere?
Upstream not considering cross test usecases isn't a reason to disable
a test, we have many tests enabled where upstream haven't considered a
cross use case, we just tend to patch as needed and start a discussion
with them.
It sounds like its actually a network access problem from the image
you're running into anyway?
Cheers,
Richard
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] go-dep: disable PTEST_ENABLED
2019-06-28 11:02 ` Richard Purdie
@ 2019-07-01 2:03 ` Yu, Mingli
2019-07-01 11:59 ` Matt Madison
0 siblings, 1 reply; 9+ messages in thread
From: Yu, Mingli @ 2019-07-01 2:03 UTC (permalink / raw)
To: Richard Purdie, openembedded-core, matt
On 2019年06月28日 19:02, Richard Purdie wrote:
> On Fri, 2019-06-28 at 00:57 -0700, mingli.yu@windriver.com wrote:
>> From: Mingli Yu <mingli.yu@windriver.com>
>>
>> The run-ptest logic for go-dep actually runs the
>> /usr/lib64/go-dep/ptest/github.com/golang/dep/cmd/dep/dep.test whose
>> source file is
>> https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go.
>>
>> That dep_test.go starts by rebuilding the dep program
>> from source, then runs the tests using that copy of the
>> program, so it's assuming that we're still in a development
>> environment where we can run a full go build.
>>
>> Considering it not being designed for a cross-build setup,
>> so disable PTEST_ENABLED.
>>
>> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
>> ---
>> meta/recipes-devtools/go/go-dep_0.5.0.bb | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/go/go-dep_0.5.0.bb b/meta/recipes-
>> devtools/go/go-dep_0.5.0.bb
>> index a4d631f8ea..e9fc12fa5a 100644
>> --- a/meta/recipes-devtools/go/go-dep_0.5.0.bb
>> +++ b/meta/recipes-devtools/go/go-dep_0.5.0.bb
>> @@ -21,5 +21,6 @@ BBCLASSEXTEND = "native nativesdk"
>>
>> # For compiling ptest on mips and mips64, the current go-dep version
>> fails with the go 1.11 toolchain.
>> # error message: vet config not found
>> -PTEST_ENABLED_mips = "0"
>> -PTEST_ENABLED_mips64 = "0"
>> +# disable PTEST_ENABLED as the run-ptest script for go-dep actually
>> runs the /usr/lib64/go-
>> dep/ptest/github.com/golang/dep/cmd/dep/dep.test whose source file is
>> https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go not
>> being designed for a cross-build setup.
>> +PTEST_ENABLED = "0"
>> +PTEST_ENABLED = "0"
>
> Setting it twice looks wrong.
Sorry, it should be my typo.
>
> If we're disabling it, why would we inherit the ptest class at all as
> its not going to work anywhere?
>
> Upstream not considering cross test usecases isn't a reason to disable
> a test, we have many tests enabled where upstream haven't considered a
> cross use case, we just tend to patch as needed and start a discussion
> with them.
>
> It sounds like its actually a network access problem from the image
> you're running into anyway?
Hi RP,
Have discussed the ptest more with Matt in the maillist and also tried
to add the patch under the guide from Matt to make the
https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go work with
cross-setup env. But seems it still doesn't work.
Hi Matt,
What's your opinion?
Thanks,
>
> Cheers,
>
> Richard
>
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] go-dep: disable PTEST_ENABLED
2019-07-01 2:03 ` Yu, Mingli
@ 2019-07-01 11:59 ` Matt Madison
2019-07-01 14:45 ` Burton, Ross
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Matt Madison @ 2019-07-01 11:59 UTC (permalink / raw)
To: Yu, Mingli; +Cc: Patches and discussions about the oe-core layer
On Sun, Jun 30, 2019 at 6:59 PM Yu, Mingli <mingli.yu@windriver.com> wrote:
>
>
>
> On 2019年06月28日 19:02, Richard Purdie wrote:
> > On Fri, 2019-06-28 at 00:57 -0700, mingli.yu@windriver.com wrote:
> >> From: Mingli Yu <mingli.yu@windriver.com>
> >>
> >> The run-ptest logic for go-dep actually runs the
> >> /usr/lib64/go-dep/ptest/github.com/golang/dep/cmd/dep/dep.test whose
> >> source file is
> >> https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go.
> >>
> >> That dep_test.go starts by rebuilding the dep program
> >> from source, then runs the tests using that copy of the
> >> program, so it's assuming that we're still in a development
> >> environment where we can run a full go build.
> >>
> >> Considering it not being designed for a cross-build setup,
> >> so disable PTEST_ENABLED.
> >>
> >> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> >> ---
> >> meta/recipes-devtools/go/go-dep_0.5.0.bb | 5 +++--
> >> 1 file changed, 3 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/meta/recipes-devtools/go/go-dep_0.5.0.bb b/meta/recipes-
> >> devtools/go/go-dep_0.5.0.bb
> >> index a4d631f8ea..e9fc12fa5a 100644
> >> --- a/meta/recipes-devtools/go/go-dep_0.5.0.bb
> >> +++ b/meta/recipes-devtools/go/go-dep_0.5.0.bb
> >> @@ -21,5 +21,6 @@ BBCLASSEXTEND = "native nativesdk"
> >>
> >> # For compiling ptest on mips and mips64, the current go-dep version
> >> fails with the go 1.11 toolchain.
> >> # error message: vet config not found
> >> -PTEST_ENABLED_mips = "0"
> >> -PTEST_ENABLED_mips64 = "0"
> >> +# disable PTEST_ENABLED as the run-ptest script for go-dep actually
> >> runs the /usr/lib64/go-
> >> dep/ptest/github.com/golang/dep/cmd/dep/dep.test whose source file is
> >> https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go not
> >> being designed for a cross-build setup.
> >> +PTEST_ENABLED = "0"
> >> +PTEST_ENABLED = "0"
> >
> > Setting it twice looks wrong.
>
> Sorry, it should be my typo.
>
> >
> > If we're disabling it, why would we inherit the ptest class at all as
> > its not going to work anywhere?
> >
> > Upstream not considering cross test usecases isn't a reason to disable
> > a test, we have many tests enabled where upstream haven't considered a
> > cross use case, we just tend to patch as needed and start a discussion
> > with them.
> >
> > It sounds like its actually a network access problem from the image
> > you're running into anyway?
>
> Hi RP,
>
> Have discussed the ptest more with Matt in the maillist and also tried
> to add the patch under the guide from Matt to make the
> https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go work with
> cross-setup env. But seems it still doesn't work.
>
> Hi Matt,
> What's your opinion?
I was able to get the test to work in my setup, with the addition of
that patch and manually setting GOCACHE in my environment. As Richard
mentioned, from the failures you were getting, it looked like a
network access issue in your setup. I'm not sure why GOCACHE needs to
be set, when 'go env' shows the correct (non-'off') default; that
might be another issue in dep that needs to be addressed.
It would be good to have at least one non-trivial ptest for a go
package, and since OE-Core doesn't have much beyond the toolchain
itself, go-dep, and glide, getting this to work would provide some
much-needed coverage. Running go-dep or glide - both build tools - on
a target seems like a fairly rare use case, though.
As for Richard's initial question, go.bbclass inherits ptest to enable
the mapping of go's built-in test builds automatically. In hindsight,
maybe this wasn't the best choice, and it was overly optimistic to
think that because go supports separate compilation and execution of
tests, that packages would generally support that by default.
-Matt
> Thanks,
>
> >
> > Cheers,
> >
> > Richard
> >
> >
> >
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] go-dep: disable PTEST_ENABLED
2019-07-01 11:59 ` Matt Madison
@ 2019-07-01 14:45 ` Burton, Ross
2019-07-03 2:34 ` Yu, Mingli
2019-07-03 9:24 ` [PATCH] go.bbclass: remove ptest inherit mingli.yu
2 siblings, 0 replies; 9+ messages in thread
From: Burton, Ross @ 2019-07-01 14:45 UTC (permalink / raw)
To: Matt Madison; +Cc: Patches and discussions about the oe-core layer
On Mon, 1 Jul 2019 at 13:00, Matt Madison <matt@madison.systems> wrote:
> As for Richard's initial question, go.bbclass inherits ptest to enable
> the mapping of go's built-in test builds automatically. In hindsight,
> maybe this wasn't the best choice, and it was overly optimistic to
> think that because go supports separate compilation and execution of
> tests, that packages would generally support that by default.
Maybe the ptest pieces just need to be split out to a separate class
go-ptest.bbclass, so that recipes where it *does* work can simply
inherit that too.
Ross
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] go-dep: disable PTEST_ENABLED
2019-07-01 11:59 ` Matt Madison
2019-07-01 14:45 ` Burton, Ross
@ 2019-07-03 2:34 ` Yu, Mingli
2019-07-03 9:24 ` [PATCH] go.bbclass: remove ptest inherit mingli.yu
2 siblings, 0 replies; 9+ messages in thread
From: Yu, Mingli @ 2019-07-03 2:34 UTC (permalink / raw)
To: Matt Madison; +Cc: Patches and discussions about the oe-core layer
On 2019年07月01日 19:59, Matt Madison wrote:
> On Sun, Jun 30, 2019 at 6:59 PM Yu, Mingli <mingli.yu@windriver.com> wrote:
>>
>>
>>
>> On 2019年06月28日 19:02, Richard Purdie wrote:
>>> On Fri, 2019-06-28 at 00:57 -0700, mingli.yu@windriver.com wrote:
>>>> From: Mingli Yu <mingli.yu@windriver.com>
>>>>
>>>> The run-ptest logic for go-dep actually runs the
>>>> /usr/lib64/go-dep/ptest/github.com/golang/dep/cmd/dep/dep.test whose
>>>> source file is
>>>> https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go.
>>>>
>>>> That dep_test.go starts by rebuilding the dep program
>>>> from source, then runs the tests using that copy of the
>>>> program, so it's assuming that we're still in a development
>>>> environment where we can run a full go build.
>>>>
>>>> Considering it not being designed for a cross-build setup,
>>>> so disable PTEST_ENABLED.
>>>>
>>>> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
>>>> ---
>>>> meta/recipes-devtools/go/go-dep_0.5.0.bb | 5 +++--
>>>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/meta/recipes-devtools/go/go-dep_0.5.0.bb b/meta/recipes-
>>>> devtools/go/go-dep_0.5.0.bb
>>>> index a4d631f8ea..e9fc12fa5a 100644
>>>> --- a/meta/recipes-devtools/go/go-dep_0.5.0.bb
>>>> +++ b/meta/recipes-devtools/go/go-dep_0.5.0.bb
>>>> @@ -21,5 +21,6 @@ BBCLASSEXTEND = "native nativesdk"
>>>>
>>>> # For compiling ptest on mips and mips64, the current go-dep version
>>>> fails with the go 1.11 toolchain.
>>>> # error message: vet config not found
>>>> -PTEST_ENABLED_mips = "0"
>>>> -PTEST_ENABLED_mips64 = "0"
>>>> +# disable PTEST_ENABLED as the run-ptest script for go-dep actually
>>>> runs the /usr/lib64/go-
>>>> dep/ptest/github.com/golang/dep/cmd/dep/dep.test whose source file is
>>>> https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go not
>>>> being designed for a cross-build setup.
>>>> +PTEST_ENABLED = "0"
>>>> +PTEST_ENABLED = "0"
>>>
>>> Setting it twice looks wrong.
>>
>> Sorry, it should be my typo.
>>
>>>
>>> If we're disabling it, why would we inherit the ptest class at all as
>>> its not going to work anywhere?
>>>
>>> Upstream not considering cross test usecases isn't a reason to disable
>>> a test, we have many tests enabled where upstream haven't considered a
>>> cross use case, we just tend to patch as needed and start a discussion
>>> with them.
>>>
>>> It sounds like its actually a network access problem from the image
>>> you're running into anyway?
>>
>> Hi RP,
>>
>> Have discussed the ptest more with Matt in the maillist and also tried
>> to add the patch under the guide from Matt to make the
>> https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go work with
>> cross-setup env. But seems it still doesn't work.
>>
>> Hi Matt,
>> What's your opinion?
>
> I was able to get the test to work in my setup, with the addition of
> that patch and manually setting GOCACHE in my environment. As Richard
Thanks Matt's information!
If so, could you help to contribute your worked patch to oe-core?
I still got all cases failed even with the patch which to make
https://github.com/golang/dep/blob/master/cmd/dep/dep_test.go
correspondingly usable for cross-setup.
> mentioned, from the failures you were getting, it looked like a
> network access issue in your setup. I'm not sure why GOCACHE needs to
> be set, when 'go env' shows the correct (non-'off') default; that
> might be another issue in dep that needs to be addressed.
>
> It would be good to have at least one non-trivial ptest for a go
> package, and since OE-Core doesn't have much beyond the toolchain
> itself, go-dep, and glide, getting this to work would provide some
> much-needed coverage. Running go-dep or glide - both build tools - on
> a target seems like a fairly rare use case, though.
BTW, I noticed even go doesn't have ptest support.
>
> As for Richard's initial question, go.bbclass inherits ptest to enable
> the mapping of go's built-in test builds automatically. In hindsight,
> maybe this wasn't the best choice, and it was overly optimistic to
> think that because go supports separate compilation and execution of
> tests, that packages would generally support that by default.
How about to remove inherits ptest logic in go.bbclass and let the
inherit ptest logic in each recipe if someone cares about go-dep ptest.
Thanks,
>
> -Matt
>
>> Thanks,
>>
>>>
>>> Cheers,
>>>
>>> Richard
>>>
>>>
>>>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] go.bbclass: remove ptest inherit
2019-07-01 11:59 ` Matt Madison
2019-07-01 14:45 ` Burton, Ross
2019-07-03 2:34 ` Yu, Mingli
@ 2019-07-03 9:24 ` mingli.yu
2019-07-04 12:38 ` Matt Madison
2 siblings, 1 reply; 9+ messages in thread
From: mingli.yu @ 2019-07-03 9:24 UTC (permalink / raw)
To: matt, ross.burton, openembedded-core
From: Mingli Yu <mingli.yu@windriver.com>
Remove the ptest bbclass inherit logic to let
each recipe inherit ptest individually if the
specified recipe wants to support ptest to avoid
the recipe which inherits go bblcass inheriting
ptest automatically.
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
meta/classes/go.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
index e05a5c641c..424d869540 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')}"
--
2.21.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] go.bbclass: remove ptest inherit
2019-07-03 9:24 ` [PATCH] go.bbclass: remove ptest inherit mingli.yu
@ 2019-07-04 12:38 ` Matt Madison
2019-07-05 9:00 ` [PATCH v3] go.bbclass: separate the ptest logic to go-ptest class mingli.yu
0 siblings, 1 reply; 9+ messages in thread
From: Matt Madison @ 2019-07-04 12:38 UTC (permalink / raw)
To: Yu, Mingli; +Cc: Patches and discussions about the oe-core layer
On Wed, Jul 3, 2019 at 2:25 AM <mingli.yu@windriver.com> wrote:
>
> From: Mingli Yu <mingli.yu@windriver.com>
>
> Remove the ptest bbclass inherit logic to let
> each recipe inherit ptest individually if the
> specified recipe wants to support ptest to avoid
> the recipe which inherits go bblcass inheriting
> ptest automatically.
Recipes will have to inherit ptest before inheriting go, which seems
counter-intuitive; with ptest after go, the compile_ptest and
install_ptest functions will be the null ones from ptest.bbclass.
Ross's suggestion of breaking out the ptest-related functions from
go.bbclass into a separate bbclass would be better. Perhaps called
ptest-go.bbclass, similar to the ones already there for gnome and
perl.
Thanks,
-Matt
> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> ---
> meta/classes/go.bbclass | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
> index e05a5c641c..424d869540 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')}"
>
> --
> 2.21.0
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3] go.bbclass: separate the ptest logic to go-ptest class
2019-07-04 12:38 ` Matt Madison
@ 2019-07-05 9:00 ` mingli.yu
0 siblings, 0 replies; 9+ messages in thread
From: mingli.yu @ 2019-07-05 9:00 UTC (permalink / raw)
To: matt, ross.burton, openembedded-core
From: Mingli Yu <mingli.yu@windriver.com>
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.
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
meta/classes/go-ptest.bbclass | 54 +++++++++++++++++++++++++++++++++++
meta/classes/go.bbclass | 52 +--------------------------------
2 files changed, 55 insertions(+), 51 deletions(-)
create mode 100644 meta/classes/go-ptest.bbclass
diff --git a/meta/classes/go-ptest.bbclass b/meta/classes/go-ptest.bbclass
new file mode 100644
index 0000000000..e230a80587
--- /dev/null
+++ b/meta/classes/go-ptest.bbclass
@@ -0,0 +1,54 @@
+inherit go ptest
+
+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_make_ptest_wrapper() {
+ cat >${D}${PTEST_PATH}/run-ptest <<EOF
+#!/bin/sh
+RC=0
+run_test() (
+ cd "\$1"
+ ((((./\$2 ${GOPTESTFLAGS}; echo \$? >&3) | sed -r -e"s,^(PASS|SKIP|FAIL)\$,\\1: \$1/\$2," >&4) 3>&1) | (read rc; exit \$rc)) 4>&1
+ exit \$?)
+EOF
+
+}
+
+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}
+}
+
+INSANE_SKIP_${PN}-ptest += "ldflags"
+
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 <<EOF
-#!/bin/sh
-RC=0
-run_test() (
- cd "\$1"
- ((((./\$2 ${GOPTESTFLAGS}; echo \$? >&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
--
2.21.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2019-07-05 9:00 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-28 7:57 [PATCH] go-dep: disable PTEST_ENABLED mingli.yu
2019-06-28 11:02 ` Richard Purdie
2019-07-01 2:03 ` Yu, Mingli
2019-07-01 11:59 ` Matt Madison
2019-07-01 14:45 ` Burton, Ross
2019-07-03 2:34 ` Yu, Mingli
2019-07-03 9:24 ` [PATCH] go.bbclass: remove ptest inherit mingli.yu
2019-07-04 12:38 ` Matt Madison
2019-07-05 9:00 ` [PATCH v3] go.bbclass: separate the ptest logic to go-ptest class mingli.yu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox