Skip to content

[MAINTENANCE] Streamline user scenario testing workflow and VS debugging config #80

@yunlishao

Description

@yunlishao

Task Summary
Implement two workflow improvements for handling user scenarios:

  1. Establish a streamlined process to integrate user-uploaded scenarios (from OneDrive file request) into a centralized FIXS branch for debugging, while maintaining privacy between different users' scenarios
  2. Improve Visual Studio debugging workflow to eliminate manual debuggerCommandArguments changes when testing different config.yaml files

Why is this needed?
Currently:

  • Users upload proprietary scenario files via OneDrive file request portal, but there's no standardized git workflow for integrating these into FIXS for debugging
  • Need to maintain privacy - users should not see other users' proprietary scenarios
  • When debugging in Visual Studio, developers must manually update debuggerCommandArguments in project settings each time they switch scenarios, which is tedious and error-prone

Scope of Work
Task 1: User scenario integration workflow

Considerations to explore:

  • Branch-per-user vs. branch-per-issue strategies
  • Integration with issue tracking (e.g., issue #X corresponds to branch/directory)
  • .gitignore patterns for proprietary files if needed
  • Cleanup/archival process after issues are resolved

Task 2: Visual Studio debugging configuration

  • Explore alternatives to manual debuggerCommandArguments editing
  • Current pain point: Must manually change debugger arguments in VS project settings when switching between different config.yaml files
  • Potential solutions to investigate:
    • Hardcoded debug config path (e.g., always read from tests/DebugScenario/config.yaml in VS debug mode)
    • VS launch profiles with pre-configured argument sets
    • Environment variable-based config path resolution
    • CMake/MSBuild property sheets for debug configurations

Components affected:

  • Git repository structure and branching strategy
  • TrafficLayer/TrafficLayer/mainTrafficLayer.cpp - Config file loading logic
  • Visual Studio project files (.vcxproj, .vcxproj.user)
  • CommonLib/ConfigHelper.h/cpp - May need updates depending on solution
  • Documentation for maintainers on user scenario workflow

Environment (if version-specific)

  • C++ compiler/version: Visual Studio 2022
  • Git workflow/repository management

Risks or Dependencies

  • Solution for Task 1 must not expose proprietary user data to other users
  • Solution for Task 2 should not break existing build/test workflows

Additional Context (optional)
This is an exploratory maintenance task - solutions will be designed during implementation.

Related context:

  • Bug report template already references OneDrive upload link for scenario submission

Open questions to resolve during implementation:

  • How to structure git branches for private user scenarios?
  • Best approach for VS debugging without manual config changes?
  • Can we leverage VS 2022 features like launch.vs.json or similar?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions