* [Buildroot] [PATCH 1/1] buildroot-test: failure reason regex update
@ 2016-03-30 1:41 Matt Weber
2016-03-30 14:51 ` Thomas Petazzoni
0 siblings, 1 reply; 3+ messages in thread
From: Matt Weber @ 2016-03-30 1:41 UTC (permalink / raw)
To: buildroot
- Sub-make required one additional line tailed
- Both regex to truncate end log and import which sets
the failure reason on the report are updated
Signed-off-by: Matt Weber <matt@thewebers.ws>
---
scripts/autobuild-run | 4 ++--
web/import.inc.php | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts/autobuild-run b/scripts/autobuild-run
index ca5bdfc..07bb5c5 100755
--- a/scripts/autobuild-run
+++ b/scripts/autobuild-run
@@ -648,10 +648,10 @@ def send_results(result, **kwargs):
def get_failure_reason():
# Output is a tuple (package, version), or None.
lastlines = decode_bytes(subprocess.Popen(
- ["tail", "-n", "3", os.path.join(outputdir, "logfile")],
+ ["tail", "-n", "4", os.path.join(outputdir, "logfile")],
stdout=subprocess.PIPE).communicate()[0]).splitlines()
- regexp = re.compile(r'make: \*\*\* .*/(?:build|toolchain)/([^/]*)/')
+ regexp = re.compile("make.* \*\*\* .*/(?:build|toolchain)/([^/]*)/")
for line in lastlines:
m = regexp.search(line)
if m:
diff --git a/web/import.inc.php b/web/import.inc.php
index 243a1f3..4a781ab 100644
--- a/web/import.inc.php
+++ b/web/import.inc.php
@@ -102,7 +102,7 @@ function import_result($buildid, $filename)
$reason = "none";
else {
$tmp = Array();
- exec("tail -3 " . $thisbuildfinaldir . "build-end.log | grep -v '\[_all\]' | grep 'make.*: \*\*\*' | sed 's,.*\[\([^\]*\)\] Error.*,\\1,' | sed 's,.*/build/\([^/]*\)/.*,\\1,'", $tmp);
+ exec("tail -4 " . $thisbuildfinaldir . "build-end.log | grep -v '\[_all\]' | grep 'make.* \*\*\*' | sed 's,.*\[\([^\]*\)\] Error.*,\\1,' | sed 's,.*/build/\([^/]*\)/.*,\\1,'", $tmp);
if (trim($tmp[0]))
$reason = $tmp[0];
else
--
2.5.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH 1/1] buildroot-test: failure reason regex update
2016-03-30 1:41 [Buildroot] [PATCH 1/1] buildroot-test: failure reason regex update Matt Weber
@ 2016-03-30 14:51 ` Thomas Petazzoni
2016-03-31 0:53 ` Matthew Weber
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2016-03-30 14:51 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 29 Mar 2016 20:41:34 -0500, Matt Weber wrote:
> - Sub-make required one additional line tailed
> - Both regex to truncate end log and import which sets
> the failure reason on the report are updated
>
> Signed-off-by: Matt Weber <matt@thewebers.ws>
> ---
> scripts/autobuild-run | 4 ++--
> web/import.inc.php | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/autobuild-run b/scripts/autobuild-run
> index ca5bdfc..07bb5c5 100755
> --- a/scripts/autobuild-run
> +++ b/scripts/autobuild-run
> @@ -648,10 +648,10 @@ def send_results(result, **kwargs):
> def get_failure_reason():
> # Output is a tuple (package, version), or None.
> lastlines = decode_bytes(subprocess.Popen(
> - ["tail", "-n", "3", os.path.join(outputdir, "logfile")],
> + ["tail", "-n", "4", os.path.join(outputdir, "logfile")],
> stdout=subprocess.PIPE).communicate()[0]).splitlines()
>
> - regexp = re.compile(r'make: \*\*\* .*/(?:build|toolchain)/([^/]*)/')
> + regexp = re.compile("make.* \*\*\* .*/(?:build|toolchain)/([^/]*)/")
> for line in lastlines:
> m = regexp.search(line)
> if m:
> diff --git a/web/import.inc.php b/web/import.inc.php
> index 243a1f3..4a781ab 100644
> --- a/web/import.inc.php
> +++ b/web/import.inc.php
> @@ -102,7 +102,7 @@ function import_result($buildid, $filename)
> $reason = "none";
> else {
> $tmp = Array();
> - exec("tail -3 " . $thisbuildfinaldir . "build-end.log | grep -v '\[_all\]' | grep 'make.*: \*\*\*' | sed 's,.*\[\([^\]*\)\] Error.*,\\1,' | sed 's,.*/build/\([^/]*\)/.*,\\1,'", $tmp);
> + exec("tail -4 " . $thisbuildfinaldir . "build-end.log | grep -v '\[_all\]' | grep 'make.* \*\*\*' | sed 's,.*\[\([^\]*\)\] Error.*,\\1,' | sed 's,.*/build/\([^/]*\)/.*,\\1,'", $tmp);
I don't see why you are making this change. The ':' is really there:
make[1]: ...
Do you have a case where it isn't present ?
Also why you are changing 3 lines to 4 lines ?
In the autobuilder outputs, I see two cases:
1/ When the correct umask is used, we get:
make: *** [/home/peko/autobuild/instance-2/output/build/tvheadend-cd9f07fb865e5700156546ee326fbaf42ee99cf8/.stamp_configured] Error 1
make: Leaving directory `/home/peko/autobuild/instance-2/buildroot'
2/ When the incorrect umask is used, we get:
make[1]: *** [/home/buildroot/autobuild/run/instance-2/output/build/ffmpeg-2.8.6/.stamp_configured] Error 1
make: *** [_all] Error 2
make: Leaving directory `/home/buildroot/autobuild/run/instance-2/buildroot'
So 3 lines should be fine. Or do you have other cases ?
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH 1/1] buildroot-test: failure reason regex update
2016-03-30 14:51 ` Thomas Petazzoni
@ 2016-03-31 0:53 ` Matthew Weber
0 siblings, 0 replies; 3+ messages in thread
From: Matthew Weber @ 2016-03-31 0:53 UTC (permalink / raw)
To: buildroot
Thomas,
On Wed, Mar 30, 2016 at 9:51 AM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Tue, 29 Mar 2016 20:41:34 -0500, Matt Weber wrote:
>> - Sub-make required one additional line tailed
>> - Both regex to truncate end log and import which sets
>> the failure reason on the report are updated
>>
>> Signed-off-by: Matt Weber <matt@thewebers.ws>
>> ---
>> scripts/autobuild-run | 4 ++--
>> web/import.inc.php | 2 +-
>> 2 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/scripts/autobuild-run b/scripts/autobuild-run
>> index ca5bdfc..07bb5c5 100755
>> --- a/scripts/autobuild-run
>> +++ b/scripts/autobuild-run
>> @@ -648,10 +648,10 @@ def send_results(result, **kwargs):
>> def get_failure_reason():
>> # Output is a tuple (package, version), or None.
>> lastlines = decode_bytes(subprocess.Popen(
>> - ["tail", "-n", "3", os.path.join(outputdir, "logfile")],
>> + ["tail", "-n", "4", os.path.join(outputdir, "logfile")],
>> stdout=subprocess.PIPE).communicate()[0]).splitlines()
>>
>> - regexp = re.compile(r'make: \*\*\* .*/(?:build|toolchain)/([^/]*)/')
>> + regexp = re.compile("make.* \*\*\* .*/(?:build|toolchain)/([^/]*)/")
>> for line in lastlines:
>> m = regexp.search(line)
>> if m:
>> diff --git a/web/import.inc.php b/web/import.inc.php
>> index 243a1f3..4a781ab 100644
>> --- a/web/import.inc.php
>> +++ b/web/import.inc.php
>> @@ -102,7 +102,7 @@ function import_result($buildid, $filename)
>> $reason = "none";
>> else {
>> $tmp = Array();
>> - exec("tail -3 " . $thisbuildfinaldir . "build-end.log | grep -v '\[_all\]' | grep 'make.*: \*\*\*' | sed 's,.*\[\([^\]*\)\] Error.*,\\1,' | sed 's,.*/build/\([^/]*\)/.*,\\1,'", $tmp);
>> + exec("tail -4 " . $thisbuildfinaldir . "build-end.log | grep -v '\[_all\]' | grep 'make.* \*\*\*' | sed 's,.*\[\([^\]*\)\] Error.*,\\1,' | sed 's,.*/build/\([^/]*\)/.*,\\1,'", $tmp);
>
> I don't see why you are making this change. The ':' is really there:
>
> make[1]: ...
>
> Do you have a case where it isn't present ?
I had thought with a regex "make.*:" wouldn't catch "make:". Let me
go back and test what might have masked my results when I tested
"make.*:".
>
> Also why you are changing 3 lines to 4 lines ?
>
> In the autobuilder outputs, I see two cases:
>
> 1/ When the correct umask is used, we get:
>
> make: *** [/home/peko/autobuild/instance-2/output/build/tvheadend-cd9f07fb865e5700156546ee326fbaf42ee99cf8/.stamp_configured] Error 1
> make: Leaving directory `/home/peko/autobuild/instance-2/buildroot'
>
> 2/ When the incorrect umask is used, we get:
>
> make[1]: *** [/home/buildroot/autobuild/run/instance-2/output/build/ffmpeg-2.8.6/.stamp_configured] Error 1
> make: *** [_all] Error 2
> make: Leaving directory `/home/buildroot/autobuild/run/instance-2/buildroot'
>
> So 3 lines should be fine. Or do you have other cases ?
I see 2 or less lines for 1/ when I set the umask to 0022 prior to
building (I forced this fail, otherwise I'd match your 1/)
package/pkg-generic.mk:128: recipe for target
'/opt/buildroot_testing/buildroot/output/build/host-binutils-2.25.1/.stamp_extracted'
failed
make: *** [/opt/buildroot_testing/buildroot/output/build/host-binutils-2.25.1/.stamp_extracted]
Interrupt
I see the following for 2/
make[1]: *** [/opt/buildroot_testing/buildroot-test/instance-0/output/build/host-genimage-8/.stamp_downloaded]
Error 1
Makefile:36: recipe for target '_all' failed
make: *** [_all] Error 2
make: Leaving directory
'/opt/buildroot_testing/buildroot-test/instance-0/buildroot'
>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
--
Thanks,
Matt
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-03-31 0:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-30 1:41 [Buildroot] [PATCH 1/1] buildroot-test: failure reason regex update Matt Weber
2016-03-30 14:51 ` Thomas Petazzoni
2016-03-31 0:53 ` Matthew Weber
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.