Viewing files at commit ada5e175e5bfCommit detailsView latest

Browse files
config/conformance_expected_failures.json 126 lines · 5.6 KB · json
1
{
2
 "schema_version": 2,
3
 "subject": "oak",
4
 "measured_with": "oak 0.105.0 on darwin-ci-ni (macOS APFS: case-insensitive, normalization-insensitive)",
5
 "policy": "Strict xfail: a listed behaviour must fail at exactly these legs with details fully matching these patterns (re.fullmatch); anything else is a regression. A listed behaviour that passes where the entry applies is FIXED (remove it). outcome=refused marks typed policy refusals (product decision) vs bugs; outcome=intermittent marks a timing-dependent bug (pass is a pass, never FIXED). Tickets are fb-N; pending:<slug> only until filed. fs_profiles scopes an entry to filesystem classes (default: all). coverage.<profile>.expected_skips: any other skip on that profile is a coverage loss (UNMEASURED).",
6
 "entries": [
7
  {
8
   "behaviour": "path_roundtrip_v1",
9
   "ticket": "fb-531",
10
   "outcome": "refused",
11
   "failed_legs": {
12
    "behaviour": "command\\ \\('commit',\\ '\\-\\-no\\-verify'\\)\\ failed\\ \\(2\\):\\ b'error:\\ cannot\\ track\\ \"tab\\\\\\\\tname\":\\ tab\\ in\\ filename\\\\n'"
13
   },
14
   "reason": "legacy v1 scenario: oak commit refuses the tab-containing fixture name (policy; fb-531)"
15
  },
16
  {
17
   "behaviour": "path_tab_v1",
18
   "ticket": "fb-531",
19
   "outcome": "refused",
20
   "failed_legs": {
21
    "commit_push": "oak commit --no-verify exited 2: error: cannot track \"tab\\\\tname\": tab in filename"
22
   },
23
   "reason": "oak commit refuses a tab in a file name (policy, needs product decision)"
24
  },
25
  {
26
   "behaviour": "path_newline_v1",
27
   "ticket": "fb-531",
28
   "outcome": "refused",
29
   "failed_legs": {
30
    "commit_push": "oak commit --no-verify exited 2: error: cannot track \"(line\\\\nbreak|carriage\\\\rreturn)\": (newline|control character) in filename"
31
   },
32
   "reason": "oak commit refuses newline/CR in file names (same validate_entry_name policy as fb-531)"
33
  },
34
  {
35
   "behaviour": "path_control_chars_v1",
36
   "ticket": "fb-531",
37
   "outcome": "refused",
38
   "failed_legs": {
39
    "commit_push": "oak commit --no-verify exited 2: error: cannot track \"(bell\\\\u\\{7\\}name|escape\\\\u\\{1b\\}\\[0m|delete\\\\u\\{7f\\}name|unit\\\\u\\{1f\\}sep)\": control character in filename"
40
   },
41
   "reason": "oak commit refuses C0/DEL control characters in file names (policy)"
42
  },
43
  {
44
   "behaviour": "path_backslash_v1",
45
   "ticket": "fb-543",
46
   "outcome": "bug",
47
   "failed_legs": {
48
    "commit_push": "oak push --repo exited 2: error: push admission phase rejected outgoing commit [0-9a-f]{64}: file-change closure new-side path \"trailing/\" is absent from current; no remote state was mutated"
49
   },
50
   "reason": "a literal backslash is committed as a directory separator (back\\slash -> back/slash, source status clean); with a trailing backslash oak push rejects the commit oak just created"
51
  },
52
  {
53
   "behaviour": "path_long_component_v1",
54
   "ticket": "fb-544",
55
   "outcome": "bug",
56
   "failed_legs": {
57
    "clone_fs": "oak clone conformance/r\\d+-\\d+ exited 1: error: IO error: File name too long \\(os error 63\\)"
58
   },
59
   "reason": "oak clone fails ENAMETOOLONG on a 255-byte component Oak committed and pushed",
60
   "fs_profiles": [
61
    "darwin-ci-ni"
62
   ]
63
  },
64
  {
65
   "behaviour": "path_case_only_rename_v1",
66
   "ticket": "fb-545",
67
   "outcome": "bug",
68
   "failed_legs": {
69
    "pull_fs": "missing=\\['file\\.txt'\\]",
70
    "pull_status_clean": "oak status reports changes: \\[\\{\"path\": \"file\\.txt\", \"status\": \"deleted\"\\}(, \\{\"path\": \"file\\.txt\", \"status\": \"deleted\"\\})*\\]"
71
   },
72
   "reason": "case-insensitive FS: pulling a committed File.txt -> file.txt rename deletes the file from the worktree",
73
   "fs_profiles": [
74
    "darwin-ci-ni"
75
   ]
76
  },
77
  {
78
   "behaviour": "symlink_to_dir_real_v1",
79
   "ticket": "fb-542",
80
   "outcome": "bug",
81
   "failed_legs": {
82
    "pull_fs": "missing=\\['p/inner\\.txt'\\]; extra=\\['elsewhere/inner\\.txt'\\]",
83
    "pull_status_clean": "oak status reports changes: \\[\\{\"path\": \"elsewhere/inner\\.txt\", \"status\": \"renamed\", \"old_path\": \"p/inner\\.txt\"\\}(, \\{\"path\": \"elsewhere/inner\\.txt\", \"status\": \"renamed\", \"old_path\": \"p/inner\\.txt\"\\})*\\]"
84
   },
85
   "reason": "SECURITY: pull replacing symlink p with directory p/ writes p/inner.txt through the old link (outside the checkout for absolute targets) and drops p"
86
  },
87
  {
88
   "behaviour": "file_to_dir_v1",
89
   "ticket": "fb-546",
90
   "outcome": "bug",
91
   "failed_legs": {
92
    "pull_fs": "oak pull exited 1: error: IO error: File exists \\(os error 17\\)"
93
   },
94
   "reason": "oak pull fails EEXIST on a committed file -> directory transition"
95
  },
96
  {
97
   "behaviour": "file_to_deep_dir_v1",
98
   "ticket": "fb-546",
99
   "outcome": "bug",
100
   "failed_legs": {
101
    "pull_fs": "oak pull exited 1: error: IO error: Not a directory \\(os error 20\\)"
102
   },
103
   "reason": "oak pull fails ENOTDIR on a committed file -> deeper directory transition"
104
  },
105
  {
106
   "behaviour": "large_file_chunked_v1",
107
   "ticket": "fb-547",
108
   "outcome": "intermittent",
109
   "failed_legs": {
110
    "commit_push": "oak push --repo exited 6: error: Server error: Failed to upload chunk: HTTP 500 Internal Server Error: Database error: database is locked"
111
   },
112
   "reason": "intermittent: loopback oak serve returns HTTP 500 'database is locked' on a concurrent chunk upload and the client does not retry (2 of 7 matrix runs; repro r7 3/3 with three copies in parallel)"
113
  }
114
 ],
115
 "coverage": {
116
  "darwin-ci-ni": {
117
   "expected_skips": [
118
    "path_unicode_nfc_nfd_pair_v1",
119
    "path_non_utf8_v1",
120
    "path_case_distinct_v1",
121
    "huge_file_sparse_v1"
122
   ],
123
   "note": "APFS default: case-insensitive and normalization-insensitive, no non-UTF-8 names; huge_file_sparse_v1 is gated (and a gated skip even when run: reader legs over bound)"
124
  }
125
 }
126
}