Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Something must be wrong with TestHasConfigNameOverride on Traditional Windows #7797

@rfay

Description

@rfay

Preliminary checklist

Output of ddev debug test

Expand `ddev debug test` diagnostic information
[COPY-PASTE HERE THE OUTPUT OF `ddev debug test`]

Expected Behavior

Our tests shouldn't have left-over projects that can't be deleted easily.

Actual Behavior

See https://buildkite.com/ddev/ddev-windows-mutagen/builds/5570#019a4fd3-03db-4c33-8db0-bd1cca2c86d0

I keep finding the below situation on Traditional Windows, where a project from TestHasConfigNameOverride is somehow leftover.

Unfortunately, this always ends up breaking TestCmdList later (which has very specific expectations concering existing projects)

testbot@tb-win11-10 MINGW64 ~
$ ddev list
┌─────────────────────────────────────┬─────────┬────────────────────────────────────────────────────┬─────┬──────┐
│ NAME                                │ STATUS  │ LOCATION                                           │ URL │ TYPE │
├─────────────────────────────────────┼─────────┼────────────────────────────────────────────────────┼─────┼──────┤
│ TestHasConfigNameOverride2304701108 │ stopped │ ~/tmp/ddevtest/TestHasConfigNameOverride2304701108 │     │ php  │
├─────────────────────────────────────┼─────────┼────────────────────────────────────────────────────┼─────┼──────┤
│ Router                              │ stopped │ ~/.ddev                                            │     │      │
└─────────────────────────────────────┴─────────┴────────────────────────────────────────────────────┴─────┴──────┘


testbot@tb-win11-10 MINGW64 ~
$ ddev delete -Oy TestHasConfigNameOverride2304701108
Volume TestHasConfigNameOverride2304701108-mariadb for project TestHasConfigNameOverride2304701108 was deleted
Volume TestHasConfigNameOverride2304701108-postgres for project TestHasConfigNameOverride2304701108 was deleted
Volume TestHasConfigNameOverride2304701108_project_mutagen for project TestHasConfigNameOverride2304701108 was deleted
Project TestHasConfigNameOverride2304701108 was deleted. Your code and configuration are unchanged.
Optionally, run `docker builder prune` to clean unused builder cache.

testbot@tb-win11-10 MINGW64 ~
$ ddev list
┌─────────────────────────────────────┬─────────┬────────────────────────────────────────────────────┬─────┬──────┐
│ NAME                                │ STATUS  │ LOCATION                                           │ URL │ TYPE │
├─────────────────────────────────────┼─────────┼────────────────────────────────────────────────────┼─────┼──────┤
│ TestHasConfigNameOverride2304701108 │ stopped │ ~/tmp/ddevtest/TestHasConfigNameOverride2304701108 │     │ php  │
├─────────────────────────────────────┼─────────┼────────────────────────────────────────────────────┼─────┼──────┤
│ Router                              │ stopped │ ~/.ddev                                            │     │      │
└─────────────────────────────────────┴─────────┴────────────────────────────────────────────────────┴─────┴──────┘

And, perhaps related , ddev delete -Oy TestHasConfigNameOverride2304701108 doesn't make it to away, as shown.

ddev stop --unlist -a also doesn't make it go away

There are no containers stopped or otherwise.

The project_list.yaml:

$ cat ~/.ddev/project_list.yaml
testhasconfignameoverride-override:
    approot: C:\Users\testbot\tmp\ddevtest\TestHasConfigNameOverride2304701108

The project's config.yaml:

testbot@tb-win11-10 MINGW64 ~/tmp/ddevtest/TestHasConfigNameOverride2304701108
$ head .ddev/config.yaml
type: php
docroot: ""
php_version: "8.3"
webserver_type: nginx-fpm
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
database:
    type: mariadb
    version: "10.11"
ddev describe -j TestHasConfigNameOverride2304701108

does in fact describe the project. But ddev delete does not remove it.

ddev delete -Oy testhasconfignameoverride-override

does in fact delete the project

Steps To Reproduce

At least on traditional Windows, you can repro by creating ~/.ddev/project_list.yaml with

testhasconfignameoverride-override:
    approot: C:\Users\testbot\tmp\ddevtest\TestHasConfigNameOverride2304701108

Anything else?

I assume we must have two different ways of identifying a project, one used by ddev delete and another by ddev describe

  • I suspect this is worth debugging and getting to the root of the problem.
  • TestCmdList could also be made more robust. It's not hard.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions