about summary refs log tree commit diff
path: root/io/access.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2016-12-01 00:09:25 +0000
committerJoseph Myers <joseph@codesourcery.com>2016-12-01 00:09:25 +0000
commita1f6a9abbe6406d5a7d84c39d4afc402fd233f85 (patch)
treec432736880a204e9b6b8a2e6650b3a1996ea1648 /io/access.c
parent4d602bcea8430c564a0ea647521fedc977a13c61 (diff)
downloadglibc-a1f6a9abbe6406d5a7d84c39d4afc402fd233f85.tar.gz
glibc-a1f6a9abbe6406d5a7d84c39d4afc402fd233f85.tar.xz
glibc-a1f6a9abbe6406d5a7d84c39d4afc402fd233f85.zip
Make build-many-glibcs.py support running as a bot.
This patch makes build-many-glibcs.py support a "bot" action, for
repeatedly running a checkout and build cycle.

Two new configuration variables are used in bot-config.json.  "delay"
indicates the time to sleep after each bot-cycle round (regardless of
whether that round actually ran any builds); "run" is a boolean, which
is false if the bot should just exit (the point of this is that you
can edit bot-config.json to set this to false to cause a running bot
to exit cleanly between builds) and true if the bot should run.  The
bot does not exit if the bot-cycle process exits with error status
(that can occur when sourceware's load limiting means anonymous
version control access fails, for example), just sleeps until it's
time to try again.

The script is changed to flush stdout before running a subprocess in
bot-cycle, so that when output is redirected (as expected for a bot)
the status messages from bot-cycle appear in their proper position in
its redirected output relative to the output from the subprocesses
run, and to copy the logs directory before running builds in bot-cycle
so that the logs from at least one complete build are always available
for looking at how something failed, even while the next build is
running.

	* scripts/build-many-glibcs.py: Add bot to usage message.  Import
	time module.
	(Context.__init__): Initialize self.logsdir_old.
	(Context.run_builds): Handle bot action.
	(Context.bot_cycle): Copy logs directory before running builds.
	(Context.bot_run_self): Take argument for whether to check
	subprocess result.  Flush stdout before running subprocess.
	(Context.bot): New function.
	(get_parser): Allow bot action.
Diffstat (limited to 'io/access.c')
0 files changed, 0 insertions, 0 deletions