Bug 274880

Summary: `import-w3c-tests` should provide a meaningful error when the directory doesn't exist
Product: WebKit Reporter: Marcos Caceres <marcosc>
Component: Tools / TestsAssignee: Karl Dubost <karlcow>
Status: NEW ---    
Severity: Normal CC: gsnedders, marcosc, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   

Description Marcos Caceres 2024-05-29 20:38:10 PDT
STR:
```

import-w3c-tests web-platform-tests/clipboard-apis --src-dir . --clean-dest-dir

```

Where the --src-dir does not contain any wpt tests (any random folder).
Comment 1 Marcos Caceres 2024-05-29 20:40:50 PDT
Noting that the output form this is:

Import complete
IMPORTED 0 TOTAL TESTS
Imported 0 reftests
Imported 0 JS tests
Imported 0 Crash tests
Imported 0 pixel/manual tests

Properties needing prefixes (by count):


So, even though it claims nothing happened, it actually trashed an entire directory. That's quite unexpected and could lead to confusion.
Comment 2 Marcos Caceres 2024-05-29 20:41:00 PDT
Noting that the output form this is:

Import complete
IMPORTED 0 TOTAL TESTS
Imported 0 reftests
Imported 0 JS tests
Imported 0 Crash tests
Imported 0 pixel/manual tests

Properties needing prefixes (by count):


So, even though it claims nothing happened, it actually trashed an entire directory. That's quite unexpected and could lead to confusion.
Comment 3 Radar WebKit Bug Importer 2024-05-29 20:41:29 PDT
<rdar://problem/128981568>
Comment 4 Sam Sneddon [:gsnedders] 2024-05-30 09:07:08 PDT
rdar://117683918
Comment 5 Karl Dubost 2024-06-10 19:29:12 PDT
Pull request: https://github.com/WebKit/WebKit/pull/29695
Comment 6 Sam Sneddon [:gsnedders] 2024-06-11 10:52:05 PDT
The fundamental problem here is we should error out when you request to import a path that doesn't exist (because either the source directory doesn't exist, or the path doesn't exist within the source directory), rather than continuing and importing the zero tests within the non-existent path, and with `--clean-dest-dir` deleting any currently imported tests because those tests don't exist in the non-existent path.

That makes the same as rdar://117683918, which wasn't specifically about the `--clean-dest-dir` case, but was about confusion with nothing getting imported when a non-existent path is passed (because it just does nothing at all without `--clean-dest-dir`).
Comment 7 Karl Dubost 2024-06-11 14:53:12 PDT
> The fundamental problem here is we should error out when you request to import a path that doesn't exist

yes that's the goal.