NAME
Tapper::MCP::Master - Wait for new testruns and start a new child when needed
SYNOPSIS
use Tapper::MCP::Master;
my $mcp = Tapper::MCP::Master->new();
$mcp->run();
Attributes
dead_child
Number of pending dead child processes.
child
Contains all information about all child processes.
Associated Scheduler object.
FUNCTIONS
cleanup_output_dir
Clean up the output directory for this test.
@param int - testrun id
set_interrupt_handlers
Set interrupt handlers for important signals. No parameters, no return values.
@return success - 0
handle_dead_children
Each test run is handled by a child process. All information needed for communication with this child process is kept in $self->child. Reset all these information when the test run is finished and the child process ends.
notify_event
Inform the notification framework that an event occured in MCP.
@param string - event name @param hash ref - message
run_due_tests
Run the tests that are due.
@param TestrunScheduling - job to run @param boolean - are we in revive mode?
@retval success - 0 @retval error - error string
runloop
Main loop of this module. Checks for new tests and runs them. The looping itself is put outside of function to allow testing.
prepare_server
Create communication data structures used in MCP.
@return
revive_children
Restart the children that were running before MCP was shut down/crashed. The function expects no parameters and has no return values.
run
Set up all needed data structures then wait for new tests.
AUTHORS
AMD OSRC Tapper Team <tapper@amd64.org>
Tapper Team <tapper-ops@amazon.com>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2024 by Advanced Micro Devices, Inc.
This is free software, licensed under:
The (two-clause) FreeBSD License