Skip to content

Commit

Permalink
Add headed suite
Browse files Browse the repository at this point in the history
  • Loading branch information
jherbel committed Nov 30, 2023
1 parent f983e35 commit 4a04368
Showing 1 changed file with 80 additions and 27 deletions.
107 changes: 80 additions & 27 deletions v2/robotmk/tests/test_scheduler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ use assert_cmd::cargo::cargo_bin;
use camino::{Utf8Path, Utf8PathBuf};
use robotmk::config::{
Config, EnvironmentConfig, ExecutionConfig, RCCEnvironmentConfig, RetryStrategy,
RobotFrameworkConfig, SessionConfig, SuiteConfig, WorkingDirectoryCleanupConfig,
RobotFrameworkConfig, SessionConfig, SuiteConfig, UserSessionConfig,
WorkingDirectoryCleanupConfig,
};
use robotmk::section::Host;
use serde_json::to_string;
Expand All @@ -25,6 +26,7 @@ async fn test_scheduler() -> Result<()> {
.join("tests")
.join("minimal_suite"),
var("RCC_BINARY_PATH")?,
&var("UserName")?,
);

run_scheduler(&test_dir, &config, var("RUN_FOR")?.parse::<u64>()?).await?;
Expand All @@ -40,34 +42,66 @@ fn create_config(
test_dir: &Utf8Path,
suite_dir: &Utf8Path,
rcc_binary_path: impl Into<Utf8PathBuf>,
user_name_headed: &str,
) -> Config {
Config {
working_directory: test_dir.join("working"),
results_directory: test_dir.join("results"),
rcc_binary_path: rcc_binary_path.into(),
suites: [(
String::from("suite"),
SuiteConfig {
robot_framework_config: RobotFrameworkConfig {
robot_target: suite_dir.join("tasks.robot"),
command_line_args: vec![],
suites: [
(
String::from("headless"),
SuiteConfig {
robot_framework_config: RobotFrameworkConfig {
robot_target: suite_dir.join("tasks.robot"),
command_line_args: vec![],
},
execution_config: ExecutionConfig {
n_attempts_max: 1,
retry_strategy: RetryStrategy::Complete,
execution_interval_seconds: 30,
timeout: 10,
},
environment_config: EnvironmentConfig::Rcc(RCCEnvironmentConfig {
robot_yaml_path: suite_dir.join("robot.yaml"),
build_timeout: 1200,
env_json_path: None,
}),
session_config: SessionConfig::Current,
working_directory_cleanup_config: WorkingDirectoryCleanupConfig::MaxExecutions(
4,
),
host: Host::Source,
},
execution_config: ExecutionConfig {
n_attempts_max: 1,
retry_strategy: RetryStrategy::Complete,
execution_interval_seconds: 30,
timeout: 10,
),
(
String::from("headed"),
SuiteConfig {
robot_framework_config: RobotFrameworkConfig {
robot_target: suite_dir.join("tasks.robot"),
command_line_args: vec![],
},
execution_config: ExecutionConfig {
n_attempts_max: 1,
retry_strategy: RetryStrategy::Complete,
execution_interval_seconds: 45,
timeout: 15,
},
environment_config: EnvironmentConfig::Rcc(RCCEnvironmentConfig {
robot_yaml_path: suite_dir.join("robot.yaml"),
build_timeout: 1200,
env_json_path: None,
}),
session_config: SessionConfig::SpecificUser(UserSessionConfig {
user_name: user_name_headed.into(),
}),
working_directory_cleanup_config: WorkingDirectoryCleanupConfig::MaxExecutions(
4,
),
host: Host::Source,
},
environment_config: EnvironmentConfig::Rcc(RCCEnvironmentConfig {
robot_yaml_path: suite_dir.join("robot.yaml"),
build_timeout: 1200,
env_json_path: None,
}),
session_config: SessionConfig::Current,
working_directory_cleanup_config: WorkingDirectoryCleanupConfig::MaxExecutions(4),
host: Host::Source,
},
)]
),
]
.into(),
}
}
Expand Down Expand Up @@ -112,23 +146,41 @@ async fn assert_working_directory(working_directory: &Utf8Path) -> Result<()> {
[
"holotree_initialization_current_user.stderr",
"holotree_initialization_current_user.stdout",
"holotree_initialization_user_vagrant.bat",
"holotree_initialization_user_vagrant.exit_code",
"holotree_initialization_user_vagrant.pid",
"holotree_initialization_user_vagrant.run_flag",
"holotree_initialization_user_vagrant.stderr",
"holotree_initialization_user_vagrant.stdout",
"long_path_support_enabling.stderr",
"long_path_support_enabling.stdout",
"shared_holotree_init.stderr",
"shared_holotree_init.stdout",
"telemetry_disabling_current_user.stderr",
"telemetry_disabling_current_user.stdout"
"telemetry_disabling_current_user.stdout",
"telemetry_disabling_user_vagrant.bat",
"telemetry_disabling_user_vagrant.exit_code",
"telemetry_disabling_user_vagrant.pid",
"telemetry_disabling_user_vagrant.run_flag",
"telemetry_disabling_user_vagrant.stderr",
"telemetry_disabling_user_vagrant.stdout"
]
);
assert_eq!(
directory_entries(working_directory.join("environment_building_stdio"), 1),
["suite.stderr", "suite.stdout"]
[
"headed.stderr",
"headed.stdout",
"headless.stderr",
"headless.stdout"
]
);
assert_eq!(
directory_entries(working_directory.join("suites"), 1),
["suite"]
["headed", "headless"]
);
assert!(!directory_entries(working_directory.join("suites").join("suite"), 1).is_empty());
assert!(!directory_entries(working_directory.join("suites").join("headed"), 1).is_empty());
assert!(!directory_entries(working_directory.join("suites").join("headless"), 1).is_empty());
Ok(())
}

Expand All @@ -149,7 +201,8 @@ fn assert_results_directory(results_directory: &Utf8Path) {
"rcc_setup_failures.json",
"scheduler_phase.json",
"suites",
"suites\\suite.json"
"suites\\headed.json",
"suites\\headless.json"
]
);
}
Expand Down

0 comments on commit 4a04368

Please sign in to comment.