* proposed patch: gcc-fullest builder to build+check multilib -m32/-m64
@ 2024-09-27 17:43 Frank Ch. Eigler
2024-09-29 20:04 ` Mark Wielaard
0 siblings, 1 reply; 5+ messages in thread
From: Frank Ch. Eigler @ 2024-09-27 17:43 UTC (permalink / raw)
To: buildbot
Hi -
Proposing here instead of pushing because ... i'm not sure quoting is
quite right, so want to give a heads up for some trial & error.
diff --git a/builder/master.cfg b/builder/master.cfg
index cfa7f13ad683..43b893e51b49 100644
--- a/builder/master.cfg
+++ b/builder/master.cfg
@@ -4074,7 +4074,8 @@ c['builders'].append(gcc_fedora_ppc64le_builder)
#c['builders'].append(gcc_debian_testing_x86_64_builder)
def gcc_full_build_factory_gen(extra_configure_args=None,
- extra_setup_step=None):
+ extra_setup_step=None,
+ extra_check_args=None):
gcc_full_build_factory = util.BuildFactory()
gcc_full_build_factory.addStep(gcc_build_git_step)
gcc_full_build_factory.addStep(gcc_rm_build_step)
@@ -4100,10 +4101,12 @@ def gcc_full_build_factory_gen(extra_configure_args=None,
haltOnFailure=True))
# We want parallelism to get through this as quickly as possible.
# Even if that means bunsen gets some parallel/duplicate log files
+ make_check_command = "make check -k -j%(prop:maxcpus)s "
+ if extra_check_args:
+ make_check_command += extra_check_args # NB: just string concat inside the sh -c
gcc_full_build_factory.addStep(steps.Test(
workdir='gcc-build',
- command=util.Interpolate(
- "make check -k -j%(prop:maxcpus)s || true"),
+ command=util.Interpolate(make_check_command + " || true"),
name='make check',
timeout=7200, # 2 hours
haltOnFailure=False, flunkOnFailure=False))
@@ -4128,11 +4131,13 @@ gcc_fullest_debian_amd64_builder = util.BuilderConfig(
readContainerFile('debian-stable')},
workernames=big_vm_workers,
tags=["gcc-full", "debian", "x86_64"],
- factory=gcc_full_build_factory_gen([
+ factory=gcc_full_build_factory_gen(extra_configure_args=[
"--enable-checking=yes,extra,rtl",
"--enable-languages=all",
"--enable-host-shared",
- ]))
+ "--enable-multilib-list=m32,m64" # multilib!
+ ],extra_check_args=r"RUNTESTFLAGS=--target_board=unix\\{,-m32\\}") # NB: quoting
+ )
c['builders'].append(gcc_fullest_debian_amd64_builder)
gcc_full_debian_amd64_builder = util.BuilderConfig(
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: proposed patch: gcc-fullest builder to build+check multilib -m32/-m64
2024-09-27 17:43 proposed patch: gcc-fullest builder to build+check multilib -m32/-m64 Frank Ch. Eigler
@ 2024-09-29 20:04 ` Mark Wielaard
2024-09-29 20:09 ` Frank Ch. Eigler
0 siblings, 1 reply; 5+ messages in thread
From: Mark Wielaard @ 2024-09-29 20:04 UTC (permalink / raw)
To: Frank Ch. Eigler; +Cc: buildbot
Hi Frank,
On Fri, Sep 27, 2024 at 01:43:32PM -0400, Frank Ch. Eigler wrote:
> Proposing here instead of pushing because ... i'm not sure quoting is
> quite right, so want to give a heads up for some trial & error.
O, fun. python, tcl and shellstring escapes...
> diff --git a/builder/master.cfg b/builder/master.cfg
> index cfa7f13ad683..43b893e51b49 100644
> --- a/builder/master.cfg
> +++ b/builder/master.cfg
> @@ -4074,7 +4074,8 @@ c['builders'].append(gcc_fedora_ppc64le_builder)
> #c['builders'].append(gcc_debian_testing_x86_64_builder)
>
> def gcc_full_build_factory_gen(extra_configure_args=None,
> - extra_setup_step=None):
> + extra_setup_step=None,
> + extra_check_args=None):
> gcc_full_build_factory = util.BuildFactory()
> gcc_full_build_factory.addStep(gcc_build_git_step)
> gcc_full_build_factory.addStep(gcc_rm_build_step)
> @@ -4100,10 +4101,12 @@ def gcc_full_build_factory_gen(extra_configure_args=None,
> haltOnFailure=True))
> # We want parallelism to get through this as quickly as possible.
> # Even if that means bunsen gets some parallel/duplicate log files
> + make_check_command = "make check -k -j%(prop:maxcpus)s "
> + if extra_check_args:
> + make_check_command += extra_check_args # NB: just string concat inside the sh -c
> gcc_full_build_factory.addStep(steps.Test(
> workdir='gcc-build',
> - command=util.Interpolate(
> - "make check -k -j%(prop:maxcpus)s || true"),
> + command=util.Interpolate(make_check_command + " || true"),
> name='make check',
> timeout=7200, # 2 hours
> haltOnFailure=False, flunkOnFailure=False))
OK, this part should work.
> @@ -4128,11 +4131,13 @@ gcc_fullest_debian_amd64_builder = util.BuilderConfig(
> readContainerFile('debian-stable')},
> workernames=big_vm_workers,
> tags=["gcc-full", "debian", "x86_64"],
> - factory=gcc_full_build_factory_gen([
> + factory=gcc_full_build_factory_gen(extra_configure_args=[
> "--enable-checking=yes,extra,rtl",
> "--enable-languages=all",
> "--enable-host-shared",
> - ]))
> + "--enable-multilib-list=m32,m64" # multilib!
> + ],extra_check_args=r"RUNTESTFLAGS=--target_board=unix\\{,-m32\\}") # NB: quoting
> + )
OK, adding argument names makes sense. () and [] seems to match. But
then... You are using a python "raw string literal". So no escape
sequences nside the " quotes. But still a double \ because one will be
eaten by the shell?
I must admit I don't fully know what you are expecting at the shell
level or how precicely this comes out. Sorry.
Cheers,
Mark
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: proposed patch: gcc-fullest builder to build+check multilib -m32/-m64
2024-09-29 20:04 ` Mark Wielaard
@ 2024-09-29 20:09 ` Frank Ch. Eigler
2024-09-29 20:23 ` Mark Wielaard
0 siblings, 1 reply; 5+ messages in thread
From: Frank Ch. Eigler @ 2024-09-29 20:09 UTC (permalink / raw)
To: Mark Wielaard; +Cc: buildbot
Hi -
> OK, adding argument names makes sense. () and [] seems to match. But
> then... You are using a python "raw string literal". So no escape
> sequences nside the " quotes. But still a double \ because one will be
> eaten by the shell?
>
> I must admit I don't fully know what you are expecting at the shell
> level or how precicely this comes out. Sorry.
The dejagnu code expects to see \{ characters, so python should eat nothing,
the shell forked by python should eat one (\\{ -> \{), leaving \{ for expect.
That's the theory, but I'm not easily able to test this locally. ;)
- FChE
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: proposed patch: gcc-fullest builder to build+check multilib -m32/-m64
2024-09-29 20:09 ` Frank Ch. Eigler
@ 2024-09-29 20:23 ` Mark Wielaard
2024-09-29 20:34 ` Frank Ch. Eigler
0 siblings, 1 reply; 5+ messages in thread
From: Mark Wielaard @ 2024-09-29 20:23 UTC (permalink / raw)
To: Frank Ch. Eigler; +Cc: buildbot
On Sun, Sep 29, 2024 at 04:09:08PM -0400, Frank Ch. Eigler wrote:
> Hi -
>
> > OK, adding argument names makes sense. () and [] seems to match. But
> > then... You are using a python "raw string literal". So no escape
> > sequences nside the " quotes. But still a double \ because one will be
> > eaten by the shell?
> >
> > I must admit I don't fully know what you are expecting at the shell
> > level or how precicely this comes out. Sorry.
>
> The dejagnu code expects to see \{ characters, so python should eat nothing,
> the shell forked by python should eat one (\\{ -> \{), leaving \{ for expect.
> That's the theory, but I'm not easily able to test this locally. ;)
Could you try with os.system? Don't know if that us exactly what
happens, but it might help. Something like:
python3 -c 'import os; os.system ("make check -k -j12 " + r"RUNTESTFLAGS=--target_board=unix\\{,-m32\\}" + " || true")'
Cheers,
Mark
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: proposed patch: gcc-fullest builder to build+check multilib -m32/-m64
2024-09-29 20:23 ` Mark Wielaard
@ 2024-09-29 20:34 ` Frank Ch. Eigler
0 siblings, 0 replies; 5+ messages in thread
From: Frank Ch. Eigler @ 2024-09-29 20:34 UTC (permalink / raw)
To: Mark Wielaard; +Cc: buildbot
Hi -
> Could you try with os.system? Don't know if that us exactly what
> happens, but it might help. Something like:
>
> python3 -c 'import os; os.system ("make check -k -j12 " + r"RUNTESTFLAGS=--target_board=unix\\{,-m32\\}" + " || true")'
Genius!
OK, it works with an additional \, i.e., \\\{
- FChE
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-09-29 20:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-27 17:43 proposed patch: gcc-fullest builder to build+check multilib -m32/-m64 Frank Ch. Eigler
2024-09-29 20:04 ` Mark Wielaard
2024-09-29 20:09 ` Frank Ch. Eigler
2024-09-29 20:23 ` Mark Wielaard
2024-09-29 20:34 ` Frank Ch. Eigler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).