llvm/clang/test/Modules/submodule-in-private-mmap-vfs.m

// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: sed -e "s|DIR|%/t|g" %t/vfs.json.in > %t/vfs.json
// RUN: %clang_cc1 -fmodules -fno-modules-share-filemanager -fimplicit-module-maps \
// RUN:   -fmodules-cache-path=%t -I%t/Virtual -ivfsoverlay %t/vfs.json -fsyntax-only %t/tu.m -verify

//--- Dir1/module.modulemap

//--- Dir2/module.private.modulemap
module Foo_Private {}

//--- vfs.json.in
{
  'version': 0,
  'use-external-names': true,
  'roots': [
    {
      'name': 'DIR/Virtual',
      'type': 'directory',
      'contents': [
        {
          'name': 'module.modulemap',
          'type': 'file',
          'external-contents': 'DIR/Dir1/module.modulemap'
        },
        {
          'name': 'module.private.modulemap',
          'type': 'file',
          'external-contents': 'DIR/Dir2/module.private.modulemap'
        }
      ]
    }
  ]
}

//--- tu.m
@import Foo_Private;
// expected-no-diagnostics