Skip to content

Windows: 'home' fs alias + tilde expansion in web fs-list endpoint #646

@memtomem

Description

@memtomem

Background

`test_web_routes.py::TestFsList` and related fs-listing tests assume the user's home directory surfaces as the alias `'home'` and that `~` resolves consistently. On Windows the runner's home is `C:\Users\runneradmin\`, and the fs-list endpoint surfaces the literal username instead.

Symptoms

```
FAILED test_roots_no_path_or_empty - assert 'runneradmin' == 'home'
FAILED test_path_param_tilde_expansion - {"detail":"not_found"} (404 instead of 200)
FAILED test_outside_allow_list_422 - 200 instead of 422 (path canonicalization differs)
```

Affected files

  • `packages/memtomem/tests/test_web_routes.py::TestFsList` — multiple tests
  • Possibly: `test_web_exclude_guard.py`

Root cause hypothesis

The endpoint computes the alias from `Path.home()` and exposes `{name: "home"}` as a stable label on POSIX. On Windows, `Path.home().name` is `runneradmin` (the actual username), not the literal string `"home"`. The production code likely does `alias = path.name` which works on POSIX (because home is always `/home/` on Linux and `/Users/` on macOS, with `.name = `) but the test asserted the alias is exactly `"home"`.

Need to inspect the endpoint to confirm whether the alias is hard-coded or derived. Either:

  • production code intends a stable label and should hard-code `"home"` for the home root regardless of platform, OR
  • tests should derive the expected name dynamically from `Path.home().name`

Refs

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions