Added optional remote shell config file for the remote startup command. (#1771)

* Added optional remote sheel config file for the remote startup command.

* Updated to cd to the sim directory after sourcing a config file in case the config file changed pwd.
This commit is contained in:
Hong Chen 2024-09-17 10:59:52 -05:00 committed by GitHub
parent da56b835b7
commit b46ba50fd0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 0 deletions

View File

@ -83,6 +83,9 @@ namespace Trick {
to change to that directory before calling S_main_name.\n */
std::string sim_path; /**< trick_units(--) */
/** @userdesc Optional shell environment setup config file for the slave shell.\n */
std::string remote_shell_config_file; /**< trick_units(--) */
/** @userdesc Slave executable name, default is "./S_main_${TRICK_HOST_CPU}.exe".\n */
std::string S_main_name; /**< trick_units(--) */

View File

@ -127,6 +127,14 @@ int Trick::SlaveInfo::start() {
startup_command << " 'cd " << sim_path << " ; " ;
}
/** @li Set up remote shell environment if needed for the remote startup command */
if ( !remote_shell_config_file.empty() ) {
startup_command << " source " << remote_shell_config_file << " ; " ;
// cd to sim_path directory again if in case the config file changed pwd
// to a different directory other than the sim_path
startup_command << " cd " << sim_path << " ; " ;
}
if (strstr(passp->pw_shell, "csh")) {
startup_command << " setenv TRICK_HOST_CPU `trick-gte TRICK_HOST_CPU` ; " ;
} else {