|  | { | 
|  | 'version': 0, | 
|  | 'use-external-names': false, | 
|  | 'fallthrough': false, | 
|  | 'roots': [ | 
|  | { 'name': '/tests', 'type': 'directory', | 
|  | 'contents': [ | 
|  | { 'name': 'vfsroot-include.c', 'type': 'file', | 
|  | 'external-contents': 'TEST_DIR/vfsroot-include.c' | 
|  | }, | 
|  | { 'name': 'vfsroot-with-overlay.c', 'type': 'file', | 
|  | 'external-contents': 'TEST_DIR/vfsroot-with-overlay.c' | 
|  | }, | 
|  | { 'name': 'vfsroot-module.m', 'type': 'file', | 
|  | 'external-contents': 'TEST_DIR/vfsroot-module.m' | 
|  | } | 
|  | ] | 
|  | }, | 
|  | { 'name': '/direct-vfs-root-files', 'type': 'directory', | 
|  | 'contents': [ | 
|  | { 'name': 'not_real.h', 'type': 'file', | 
|  | 'external-contents': 'TEST_DIR/Inputs/actual_header.h' | 
|  | }, | 
|  | { 'name': 'vfsoverlay.yaml', 'type': 'file', | 
|  | 'external-contents': 'OUT_DIR/vfsoverlay.yaml' | 
|  | } | 
|  | ] | 
|  | }, | 
|  | { 'name': '/indirect-vfs-root-files', 'type': 'directory', | 
|  | 'contents': [ | 
|  | { 'name': 'actual_header.h', 'type': 'file', | 
|  | 'external-contents': 'TEST_DIR/Inputs/actual_header.h' | 
|  | } | 
|  | ] | 
|  | }, | 
|  | { 'name': 'TEST_DIR/Inputs/Broken.framework', 'type': 'directory', | 
|  | 'contents': [ | 
|  | { 'name': 'Headers/A.h', 'type': 'file', | 
|  | 'external-contents': 'TEST_DIR/Inputs/Broken.framework/VFSHeaders/A.h' | 
|  | }, | 
|  | { 'name': 'Modules/module.modulemap', 'type': 'file', | 
|  | 'external-contents': 'TEST_DIR/Inputs/Broken.framework/Modules/module.modulemap' | 
|  | } | 
|  | ] | 
|  | }, | 
|  | # Locations for modules. | 
|  | { 'name': 'OUT_DIR/cache', 'type': 'directory', | 
|  | 'contents': [ | 
|  | { 'name': 'Broken.pcm', 'type': 'file', | 
|  | 'external-contents': 'OUT_DIR/cache/Broken.pcm' | 
|  | } | 
|  | ] | 
|  | } | 
|  | ] | 
|  | } |