[{"id":32750,"web_url":"https://patchwork.libcamera.org/comment/32750/","msgid":"<wtx3on6uiywhm4w33lfprch3kmhqschd2jrjhcvkl3uv4a3vui@yyvskukgf3k6>","date":"2024-12-16T07:40:14","subject":"Re: [libcamera-ci] [PATCH] Enable junit artifact generation for\n\ttest-unit job","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"On Sun, Dec 15, 2024 at 11:22:55PM +0200, Laurent Pinchart wrote:\n> Bump the minimum meson version to 1.2.0 to generate a proper junit\n> report, and package it in artifacts in the test-unit job.\n>\n> Add the --break-system-packages to `pip3 install` for Debian bookworm\n> and newer, as pip3 otherwise fails.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n> Junit report output for unit tests:\n> https://gitlab.freedesktop.org/pinchartl/libcamera/-/pipelines/1330345/test_report?job_name=test-unit\n> ---\n>  .gitlab-ci/setup-container.sh | 11 ++++++++---\n>  gitlab-ci.yml                 | 16 ++++++----------\n>  2 files changed, 14 insertions(+), 13 deletions(-)\n>\n> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n> index d2909c7257d35b0d..6146bee4d55ea348 100755\n> --- a/.gitlab-ci/setup-container.sh\n> +++ b/.gitlab-ci/setup-container.sh\n> @@ -187,17 +187,22 @@ cbuild_fixups() {\n>  \techo \"Applying miscellaneous fixups\"\n>\n>  \tlocal min_version\n> +\tlocal pip3_options\n>  \tlocal version\n>\n> +\tif [[ $FDO_DISTRIBUTION_VERSION != 'bullseye' ]] ; then\n> +\t\tpip3_options=--break-system-packages\n> +\tfi\n> +\n>  \t# Install meson from pip.\n> -\tmin_version=1.0.1\n> +\tmin_version=1.2.0\n>  \tversion=$(dpkg_version meson)\n>  \tif dpkg_check_version $version $min_version ; then\n>  \t\techo \"meson $version too old, installing $min_version from pip\"\n>\n>  \t\tapt remove -y meson\n>  \t\tapt install -y python3-pip\n> -\t\tpip3 install meson==${min_version}\n> +\t\tpip3 install ${pip3_options} meson==${min_version}\n>  \tfi\n>\n>  \t# Install pygments from pip.\n> @@ -207,7 +212,7 @@ cbuild_fixups() {\n>  \t\techo \"pygments $version too old, installing $min_version from pip\"\n>\n>  \t\tapt install -y python3-pip\n> -\t\tpip3 install pygments==${min_version}\n> +\t\tpip3 install ${pip3_options} pygments==${min_version}\n>  \tfi\n>\n>  \t# Create pybind11.pc manually if not provided by the distribution\n> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> index 06ab27dc0af0d9df..2b37b7ed59d4fbd0 100644\n> --- a/gitlab-ci.yml\n> +++ b/gitlab-ci.yml\n> @@ -59,17 +59,17 @@ include:\n>  .libcamera-ci.debian:11:\n>    variables:\n>      FDO_DISTRIBUTION_VERSION: 'bullseye'\n> -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n>\n>  .libcamera-ci.debian:12:\n>    variables:\n>      FDO_DISTRIBUTION_VERSION: 'bookworm'\n> -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n>\n>  .libcamera-ci.debian:13:\n>    variables:\n>      FDO_DISTRIBUTION_VERSION: 'trixie'\n> -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n>\n>  .container-debian:\n>    extends:\n> @@ -406,10 +406,6 @@ test-unit:\n>        -D qcam=disabled\n>        -D test=true\n>        -D v4l2=true\n> -\n> -  # meson prior to 1.2.0 doesn't correctly escape non-printable characters\n> -  # when generating the testlog XML. This results in an unparseable file.\n> -  # Skip it for now.\n> -  # artifacts:\n> -  #   reports:\n> -  #     junit: build/meson-logs/testlog.junit.xml\n> +  artifacts:\n> +    reports:\n> +      junit: build/meson-logs/testlog.junit.xml\n\nSo these are generated by default by meson ?\n\nThe output is indeed nice from the web interface\nReviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\nThanks\n  j\n\n> --\n> Regards,\n>\n> Laurent Pinchart\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 081FDC32F6\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 16 Dec 2024 07:40:19 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B6DC967F3A;\n\tMon, 16 Dec 2024 08:40:18 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 81DDB62C8A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 16 Dec 2024 08:40:17 +0100 (CET)","from ideasonboard.com (93-61-96-190.ip145.fastwebnet.it\n\t[93.61.96.190])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 2D0DC13C;\n\tMon, 16 Dec 2024 08:39:41 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"GJOu42+V\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734334781;\n\tbh=2TFFSBDiFZLmU8WIY5tZzDaWNqHe9CURMVcSaYvXsW8=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=GJOu42+VcusmEBBm5Ezp9N6ckddqm5TqGxUn85AqlMhRrTkUr/WNK3glmterPUWmq\n\tDKJ/e8sBNanQwFzKswVdFbTAVqCSlq3907EUzlJT7mxq1pLNIeAkvDjj1TxhrENqS8\n\tOqBk7RQsv9fqalhDH2CNPB5bCst4uvyWutzcuD+c=","Date":"Mon, 16 Dec 2024 08:40:14 +0100","From":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org, =?utf-8?b?QmFybmFiw6FzIFDFkWN6?=\n\t=?utf-8?q?e?= <barnabas.pocze@ideasonboard.com>","Subject":"Re: [libcamera-ci] [PATCH] Enable junit artifact generation for\n\ttest-unit job","Message-ID":"<wtx3on6uiywhm4w33lfprch3kmhqschd2jrjhcvkl3uv4a3vui@yyvskukgf3k6>","References":"<20241215212255.20001-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20241215212255.20001-1-laurent.pinchart@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":32754,"web_url":"https://patchwork.libcamera.org/comment/32754/","msgid":"<20241216100345.GG32204@pendragon.ideasonboard.com>","date":"2024-12-16T10:03:45","subject":"Re: [libcamera-ci] [PATCH] Enable junit artifact generation for\n\ttest-unit job","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Mon, Dec 16, 2024 at 08:40:14AM +0100, Jacopo Mondi wrote:\n> On Sun, Dec 15, 2024 at 11:22:55PM +0200, Laurent Pinchart wrote:\n> > Bump the minimum meson version to 1.2.0 to generate a proper junit\n> > report, and package it in artifacts in the test-unit job.\n> >\n> > Add the --break-system-packages to `pip3 install` for Debian bookworm\n> > and newer, as pip3 otherwise fails.\n> >\n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > ---\n> > Junit report output for unit tests:\n> > https://gitlab.freedesktop.org/pinchartl/libcamera/-/pipelines/1330345/test_report?job_name=test-unit\n> > ---\n> >  .gitlab-ci/setup-container.sh | 11 ++++++++---\n> >  gitlab-ci.yml                 | 16 ++++++----------\n> >  2 files changed, 14 insertions(+), 13 deletions(-)\n> >\n> > diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n> > index d2909c7257d35b0d..6146bee4d55ea348 100755\n> > --- a/.gitlab-ci/setup-container.sh\n> > +++ b/.gitlab-ci/setup-container.sh\n> > @@ -187,17 +187,22 @@ cbuild_fixups() {\n> >  \techo \"Applying miscellaneous fixups\"\n> >\n> >  \tlocal min_version\n> > +\tlocal pip3_options\n> >  \tlocal version\n> >\n> > +\tif [[ $FDO_DISTRIBUTION_VERSION != 'bullseye' ]] ; then\n> > +\t\tpip3_options=--break-system-packages\n> > +\tfi\n> > +\n> >  \t# Install meson from pip.\n> > -\tmin_version=1.0.1\n> > +\tmin_version=1.2.0\n> >  \tversion=$(dpkg_version meson)\n> >  \tif dpkg_check_version $version $min_version ; then\n> >  \t\techo \"meson $version too old, installing $min_version from pip\"\n> >\n> >  \t\tapt remove -y meson\n> >  \t\tapt install -y python3-pip\n> > -\t\tpip3 install meson==${min_version}\n> > +\t\tpip3 install ${pip3_options} meson==${min_version}\n> >  \tfi\n> >\n> >  \t# Install pygments from pip.\n> > @@ -207,7 +212,7 @@ cbuild_fixups() {\n> >  \t\techo \"pygments $version too old, installing $min_version from pip\"\n> >\n> >  \t\tapt install -y python3-pip\n> > -\t\tpip3 install pygments==${min_version}\n> > +\t\tpip3 install ${pip3_options} pygments==${min_version}\n> >  \tfi\n> >\n> >  \t# Create pybind11.pc manually if not provided by the distribution\n> > diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> > index 06ab27dc0af0d9df..2b37b7ed59d4fbd0 100644\n> > --- a/gitlab-ci.yml\n> > +++ b/gitlab-ci.yml\n> > @@ -59,17 +59,17 @@ include:\n> >  .libcamera-ci.debian:11:\n> >    variables:\n> >      FDO_DISTRIBUTION_VERSION: 'bullseye'\n> > -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> > +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n> >\n> >  .libcamera-ci.debian:12:\n> >    variables:\n> >      FDO_DISTRIBUTION_VERSION: 'bookworm'\n> > -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> > +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n> >\n> >  .libcamera-ci.debian:13:\n> >    variables:\n> >      FDO_DISTRIBUTION_VERSION: 'trixie'\n> > -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> > +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n> >\n> >  .container-debian:\n> >    extends:\n> > @@ -406,10 +406,6 @@ test-unit:\n> >        -D qcam=disabled\n> >        -D test=true\n> >        -D v4l2=true\n> > -\n> > -  # meson prior to 1.2.0 doesn't correctly escape non-printable characters\n> > -  # when generating the testlog XML. This results in an unparseable file.\n> > -  # Skip it for now.\n> > -  # artifacts:\n> > -  #   reports:\n> > -  #     junit: build/meson-logs/testlog.junit.xml\n> > +  artifacts:\n> > +    reports:\n> > +      junit: build/meson-logs/testlog.junit.xml\n> \n> So these are generated by default by meson ?\n\nYes, it's nice :-)\n\n> The output is indeed nice from the web interface\n> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 41568C32F6\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 16 Dec 2024 10:04:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3CCEE67F49;\n\tMon, 16 Dec 2024 11:04:03 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id ADC7E60136\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 16 Dec 2024 11:04:01 +0100 (CET)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EE58322F;\n\tMon, 16 Dec 2024 11:03:24 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"D3TunrBP\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734343405;\n\tbh=PX8Fb1zphHNrKtlieqLkxZta3mx52mUvmUpBuLVicn0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=D3TunrBP/TvJCxe/AupRuLgtZZvHw+uTCYS0leY2h6PYmbeiGKtkzWu8CUZrxYWdY\n\tVwvSeCWbir6rVcl4wwEcvZrgWA+z85tANQ92az2+YtYBYtV5NnbNGqHAvzkRIsyRmV\n\tZJMPxuZbcLRRyg4STSwvpzj0n0MrCbYOGHi/raA8=","Date":"Mon, 16 Dec 2024 12:03:45 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org, =?utf-8?b?QmFybmFiw6FzIFDFkWN6?=\n\t=?utf-8?q?e?= <barnabas.pocze@ideasonboard.com>","Subject":"Re: [libcamera-ci] [PATCH] Enable junit artifact generation for\n\ttest-unit job","Message-ID":"<20241216100345.GG32204@pendragon.ideasonboard.com>","References":"<20241215212255.20001-1-laurent.pinchart@ideasonboard.com>\n\t<wtx3on6uiywhm4w33lfprch3kmhqschd2jrjhcvkl3uv4a3vui@yyvskukgf3k6>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<wtx3on6uiywhm4w33lfprch3kmhqschd2jrjhcvkl3uv4a3vui@yyvskukgf3k6>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":32767,"web_url":"https://patchwork.libcamera.org/comment/32767/","msgid":"<173435167191.253066.4762103826989807270@ping.linuxembedded.co.uk>","date":"2024-12-16T12:21:11","subject":"Re: [libcamera-ci] [PATCH] Enable junit artifact generation for\n\ttest-unit job","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Laurent Pinchart (2024-12-16 10:03:45)\n> On Mon, Dec 16, 2024 at 08:40:14AM +0100, Jacopo Mondi wrote:\n> > On Sun, Dec 15, 2024 at 11:22:55PM +0200, Laurent Pinchart wrote:\n> > > Bump the minimum meson version to 1.2.0 to generate a proper junit\n> > > report, and package it in artifacts in the test-unit job.\n> > >\n> > > Add the --break-system-packages to `pip3 install` for Debian bookworm\n> > > and newer, as pip3 otherwise fails.\n> > >\n> > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > > ---\n> > > Junit report output for unit tests:\n> > > https://gitlab.freedesktop.org/pinchartl/libcamera/-/pipelines/1330345/test_report?job_name=test-unit\n> > > ---\n\nThat indeed looks nice for integrating into the pipeline.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nI look forward to seeing more tests either virtual or real hardware\nincluded :D\n\n\n\n> > >  .gitlab-ci/setup-container.sh | 11 ++++++++---\n> > >  gitlab-ci.yml                 | 16 ++++++----------\n> > >  2 files changed, 14 insertions(+), 13 deletions(-)\n> > >\n> > > diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n> > > index d2909c7257d35b0d..6146bee4d55ea348 100755\n> > > --- a/.gitlab-ci/setup-container.sh\n> > > +++ b/.gitlab-ci/setup-container.sh\n> > > @@ -187,17 +187,22 @@ cbuild_fixups() {\n> > >     echo \"Applying miscellaneous fixups\"\n> > >\n> > >     local min_version\n> > > +   local pip3_options\n> > >     local version\n> > >\n> > > +   if [[ $FDO_DISTRIBUTION_VERSION != 'bullseye' ]] ; then\n> > > +           pip3_options=--break-system-packages\n> > > +   fi\n> > > +\n> > >     # Install meson from pip.\n> > > -   min_version=1.0.1\n> > > +   min_version=1.2.0\n> > >     version=$(dpkg_version meson)\n> > >     if dpkg_check_version $version $min_version ; then\n> > >             echo \"meson $version too old, installing $min_version from pip\"\n> > >\n> > >             apt remove -y meson\n> > >             apt install -y python3-pip\n> > > -           pip3 install meson==${min_version}\n> > > +           pip3 install ${pip3_options} meson==${min_version}\n> > >     fi\n> > >\n> > >     # Install pygments from pip.\n> > > @@ -207,7 +212,7 @@ cbuild_fixups() {\n> > >             echo \"pygments $version too old, installing $min_version from pip\"\n> > >\n> > >             apt install -y python3-pip\n> > > -           pip3 install pygments==${min_version}\n> > > +           pip3 install ${pip3_options} pygments==${min_version}\n> > >     fi\n> > >\n> > >     # Create pybind11.pc manually if not provided by the distribution\n> > > diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> > > index 06ab27dc0af0d9df..2b37b7ed59d4fbd0 100644\n> > > --- a/gitlab-ci.yml\n> > > +++ b/gitlab-ci.yml\n> > > @@ -59,17 +59,17 @@ include:\n> > >  .libcamera-ci.debian:11:\n> > >    variables:\n> > >      FDO_DISTRIBUTION_VERSION: 'bullseye'\n> > > -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> > > +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n> > >\n> > >  .libcamera-ci.debian:12:\n> > >    variables:\n> > >      FDO_DISTRIBUTION_VERSION: 'bookworm'\n> > > -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> > > +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n> > >\n> > >  .libcamera-ci.debian:13:\n> > >    variables:\n> > >      FDO_DISTRIBUTION_VERSION: 'trixie'\n> > > -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> > > +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n> > >\n> > >  .container-debian:\n> > >    extends:\n> > > @@ -406,10 +406,6 @@ test-unit:\n> > >        -D qcam=disabled\n> > >        -D test=true\n> > >        -D v4l2=true\n> > > -\n> > > -  # meson prior to 1.2.0 doesn't correctly escape non-printable characters\n> > > -  # when generating the testlog XML. This results in an unparseable file.\n> > > -  # Skip it for now.\n> > > -  # artifacts:\n> > > -  #   reports:\n> > > -  #     junit: build/meson-logs/testlog.junit.xml\n> > > +  artifacts:\n> > > +    reports:\n> > > +      junit: build/meson-logs/testlog.junit.xml\n> > \n> > So these are generated by default by meson ?\n> \n> Yes, it's nice :-)\n> \n> > The output is indeed nice from the web interface\n> > Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> \n> -- \n> Regards,\n> \n> Laurent Pinchart","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id CDFBDC32F6\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 16 Dec 2024 12:21:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B564C67F5C;\n\tMon, 16 Dec 2024 13:21:16 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E4DDF62C8B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 16 Dec 2024 13:21:14 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 533AC13C;\n\tMon, 16 Dec 2024 13:20:38 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"ejoZkby8\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734351638;\n\tbh=H+CHYqWkNKlVuZgT6ZetriWS0T8BZ+ErZYaAamwXWs4=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=ejoZkby8iqIyq3FGehGRoIuTy867XHwzXiZIlGfWzouTopjTFmNuWHYJ8195LFFGr\n\tfqRAz260Ep50Tpj+rUwIPQa7ATB+2Gu9piIw7d+6EJUR+RSDZlOk1xV8tTmbx/0nBv\n\t8zWdktkqE3Uu0fM2Gc2velitUsiGq8WmbBAf32NY=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20241216100345.GG32204@pendragon.ideasonboard.com>","References":"<20241215212255.20001-1-laurent.pinchart@ideasonboard.com>\n\t<wtx3on6uiywhm4w33lfprch3kmhqschd2jrjhcvkl3uv4a3vui@yyvskukgf3k6>\n\t<20241216100345.GG32204@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-ci] [PATCH] Enable junit artifact generation for\n\ttest-unit job","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org, =?utf-8?b?QmFybmFiw6FzIFDFkWN6?=\n\t=?utf-8?q?e?= <barnabas.pocze@ideasonboard.com>","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Mon, 16 Dec 2024 12:21:11 +0000","Message-ID":"<173435167191.253066.4762103826989807270@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":32868,"web_url":"https://patchwork.libcamera.org/comment/32868/","msgid":"<pqhY0BXuBAkdO2MKgmuXlxYqOGGG_U8rdPYHGlUiCkWIFjTzps8cf8mmweC7pb2sCAOKiDkwNTw8XnwmLBrUxRIq4w48Fx5GszoiKLf98BQ=@protonmail.com>","date":"2024-12-18T11:05:46","subject":"Re: [libcamera-ci] [PATCH] Enable junit artifact generation for\n\ttest-unit job","submitter":{"id":133,"url":"https://patchwork.libcamera.org/api/people/133/","name":"Pőcze Barnabás","email":"pobrn@protonmail.com"},"content":"Hi\n\n\n2024. december 15., vasárnap 22:22 keltezéssel, Laurent Pinchart <laurent.pinchart@ideasonboard.com> írta:\n\n> Bump the minimum meson version to 1.2.0 to generate a proper junit\n> report, and package it in artifacts in the test-unit job.\n> \n> Add the --break-system-packages to `pip3 install` for Debian bookworm\n> and newer, as pip3 otherwise fails.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n> Junit report output for unit tests:\n> https://gitlab.freedesktop.org/pinchartl/libcamera/-/pipelines/1330345/test_report?job_name=test-unit\n> ---\n>  .gitlab-ci/setup-container.sh | 11 ++++++++---\n>  gitlab-ci.yml                 | 16 ++++++----------\n>  2 files changed, 14 insertions(+), 13 deletions(-)\n> \n> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n> index d2909c7257d35b0d..6146bee4d55ea348 100755\n> --- a/.gitlab-ci/setup-container.sh\n> +++ b/.gitlab-ci/setup-container.sh\n> @@ -187,17 +187,22 @@ cbuild_fixups() {\n>  \techo \"Applying miscellaneous fixups\"\n> \n>  \tlocal min_version\n> +\tlocal pip3_options\n>  \tlocal version\n> \n> +\tif [[ $FDO_DISTRIBUTION_VERSION != 'bullseye' ]] ; then\n> +\t\tpip3_options=--break-system-packages\n> +\tfi\n> +\n>  \t# Install meson from pip.\n> -\tmin_version=1.0.1\n> +\tmin_version=1.2.0\n>  \tversion=$(dpkg_version meson)\n>  \tif dpkg_check_version $version $min_version ; then\n>  \t\techo \"meson $version too old, installing $min_version from pip\"\n> \n>  \t\tapt remove -y meson\n>  \t\tapt install -y python3-pip\n> -\t\tpip3 install meson==${min_version}\n> +\t\tpip3 install ${pip3_options} meson==${min_version}\n>  \tfi\n> \n>  \t# Install pygments from pip.\n> @@ -207,7 +212,7 @@ cbuild_fixups() {\n>  \t\techo \"pygments $version too old, installing $min_version from pip\"\n> \n>  \t\tapt install -y python3-pip\n> -\t\tpip3 install pygments==${min_version}\n> +\t\tpip3 install ${pip3_options} pygments==${min_version}\n>  \tfi\n> \n>  \t# Create pybind11.pc manually if not provided by the distribution\n> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> index 06ab27dc0af0d9df..2b37b7ed59d4fbd0 100644\n> --- a/gitlab-ci.yml\n> +++ b/gitlab-ci.yml\n> @@ -59,17 +59,17 @@ include:\n>  .libcamera-ci.debian:11:\n>    variables:\n>      FDO_DISTRIBUTION_VERSION: 'bullseye'\n> -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n> \n>  .libcamera-ci.debian:12:\n>    variables:\n>      FDO_DISTRIBUTION_VERSION: 'bookworm'\n> -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n> \n>  .libcamera-ci.debian:13:\n>    variables:\n>      FDO_DISTRIBUTION_VERSION: 'trixie'\n> -    FDO_DISTRIBUTION_TAG: '2024-11-05.1'\n> +    FDO_DISTRIBUTION_TAG: '2024-12-15.1'\n> \n>  .container-debian:\n>    extends:\n> @@ -406,10 +406,6 @@ test-unit:\n>        -D qcam=disabled\n>        -D test=true\n>        -D v4l2=true\n> -\n> -  # meson prior to 1.2.0 doesn't correctly escape non-printable characters\n> -  # when generating the testlog XML. This results in an unparseable file.\n> -  # Skip it for now.\n> -  # artifacts:\n> -  #   reports:\n> -  #     junit: build/meson-logs/testlog.junit.xml\n> +  artifacts:\n> +    reports:\n> +      junit: build/meson-logs/testlog.junit.xml\n\nUnfortunately it seem that gitlab accepts this, even though this change causes\nthe dictionary to have duplicate `artifacts` keys. Even though gitlab accepts it,\nseemingly only the last value is kept, so the meson logs are not uploaded anymore.\n\n\nRegards,\nBarnabás Pőcze","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id D19A9C32FE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 18 Dec 2024 11:05:55 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0416E68094;\n\tWed, 18 Dec 2024 12:05:55 +0100 (CET)","from mail-10631.protonmail.ch (mail-10631.protonmail.ch\n\t[79.135.106.31])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9583767F59\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Dec 2024 12:05:53 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=protonmail.com header.i=@protonmail.com\n\theader.b=\"aNmkk6vy\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;\n\ts=protonmail3; t=1734519952; x=1734779152;\n\tbh=Hz1pc5uQtI8B8z+CIB3evLQnRwvMXVHsi064qRiPbME=;\n\th=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:\n\tFeedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:\n\tMessage-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;\n\tb=aNmkk6vy0tlp8rfOIl4I4wdhrwTRpsCyNiKSMe9zx7IvccASXTpRr+G6xLJGHd/VF\n\tinEzvc+4RqtpgcNZNMb7UJGe9nqgEv987+AVBhhbvtnCCws2dKlE+DkfvBruuUY3vM\n\t6VBTTaRiw+20wa5uGzdMxWGhkhEd9oRRfvbZTjIdstC+pr4ySd5xLgf/aCDXwo9cQ2\n\tKR6+BIVUBOiH+04sPsKoPhPWLid2F2POVhx3iElaWAsJqYOHE1zLwJVkkWulOj/vjU\n\t1QCu60Uey8ysROqCKLFRzNYRBlj5T7rQdee74L1p+e0vRINpcr0EmdbPvTGQLxpYYw\n\t28Ad/fITIdDiw==","Date":"Wed, 18 Dec 2024 11:05:46 +0000","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <pobrn@protonmail.com>","Cc":"libcamera-devel@lists.libcamera.org, =?utf-8?b?QmFybmFiw6FzIFDFkWN6?=\n\t=?utf-8?q?e?= <barnabas.pocze@ideasonboard.com>","Subject":"Re: [libcamera-ci] [PATCH] Enable junit artifact generation for\n\ttest-unit job","Message-ID":"<pqhY0BXuBAkdO2MKgmuXlxYqOGGG_U8rdPYHGlUiCkWIFjTzps8cf8mmweC7pb2sCAOKiDkwNTw8XnwmLBrUxRIq4w48Fx5GszoiKLf98BQ=@protonmail.com>","In-Reply-To":"<20241215212255.20001-1-laurent.pinchart@ideasonboard.com>","References":"<20241215212255.20001-1-laurent.pinchart@ideasonboard.com>","Feedback-ID":"20568564:user:proton","X-Pm-Message-ID":"3a8f98c8c7d00dd817b5d3965dc6dc9de4ea1fc0","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"quoted-printable","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]