Skip to main content

workspace_create/
workspace_create.rs

1//! Example: Create and manage TestStand workspace and project files programmatically via `WorkspaceFile` and `WorkspaceObject`.
2
3use rs_teststand::Engine;
4
5fn main() -> Result<(), rs_teststand::Error> {
6    let engine = Engine::new()?;
7
8    println!("Creating a new workspace file...");
9    let ws_file = engine.new_workspace_file()?;
10    let root_obj = ws_file.root_workspace_object()?;
11
12    println!("Root workspace object:");
13    println!("  Display Name: '{}'", root_obj.display_name()?);
14    println!("  Object Type: {}", root_obj.object_type()?);
15    println!("  Child Objects: {}", root_obj.num_contained_objects()?);
16
17    println!("\nCreating project and folder structure...");
18    let project = root_obj.new_folder("Project Alpha")?;
19    println!("  Created project folder: '{}'", project.display_name()?);
20
21    let seq_entry = project.new_file("MainTest.seq")?;
22    println!(
23        "  Created sequence file entry: '{}'",
24        seq_entry.display_name()?
25    );
26
27    println!(
28        "\nUpdated root child objects count: {}",
29        root_obj.num_contained_objects()?
30    );
31
32    Ok(())
33}