15ab4f111SJohn Thompson# RUN: modularize -module-map-path=Output/NoProblemsAssistant.txt -root-module=Root -prefix=%S/Input %s 25ab4f111SJohn Thompson# RUN: FileCheck --input-file=%T/NoProblemsAssistant.txt %s 35ab4f111SJohn Thompson 45ab4f111SJohn ThompsonSomeTypes.h 55ab4f111SJohn ThompsonSomeDecls.h 65ab4f111SJohn ThompsonSubModule1/Header1.h 75ab4f111SJohn ThompsonSubModule1/Header2.h 85ab4f111SJohn ThompsonSubModule2/Header3.h 95ab4f111SJohn ThompsonSubModule2/Header4.h 10*1c158c19SJohn ThompsonSubModule2/Header5-dash.dot.h 115ab4f111SJohn ThompsonSubModule2.h 125ab4f111SJohn Thompson 135ab4f111SJohn Thompson# CHECK: // Output/NoProblemsAssistant.txt 145ab4f111SJohn Thompson# CHECK-NEXT: // Generated by: modularize -module-map-path=Output/NoProblemsAssistant.txt -root-module=Root -prefix={{.*}}{{[/\\]}}{{.*}} {{.*}}{{[/\\]}}NoProblemsAssistant.modularize 155ab4f111SJohn Thompson# CHECK: module Root { 165ab4f111SJohn Thompson# CHECK-NEXT: module SomeTypes { 175ab4f111SJohn Thompson# CHECK-NEXT: header "SomeTypes.h" 185ab4f111SJohn Thompson# CHECK-NEXT: export * 195ab4f111SJohn Thompson# CHECK-NEXT: } 205ab4f111SJohn Thompson# CHECK-NEXT: module SomeDecls { 215ab4f111SJohn Thompson# CHECK-NEXT: header "SomeDecls.h" 225ab4f111SJohn Thompson# CHECK-NEXT: export * 235ab4f111SJohn Thompson# CHECK-NEXT: } 245ab4f111SJohn Thompson# CHECK-NEXT: module SubModule1 { 255ab4f111SJohn Thompson# CHECK-NEXT: module Header1 { 265ab4f111SJohn Thompson# CHECK-NEXT: header "SubModule1/Header1.h" 275ab4f111SJohn Thompson# CHECK-NEXT: export * 285ab4f111SJohn Thompson# CHECK-NEXT: } 295ab4f111SJohn Thompson# CHECK-NEXT: module Header2 { 305ab4f111SJohn Thompson# CHECK-NEXT: header "SubModule1/Header2.h" 315ab4f111SJohn Thompson# CHECK-NEXT: export * 325ab4f111SJohn Thompson# CHECK-NEXT: } 335ab4f111SJohn Thompson# CHECK-NEXT: } 345ab4f111SJohn Thompson# CHECK-NEXT: module SubModule2 { 355ab4f111SJohn Thompson# CHECK-NEXT: module Header3 { 365ab4f111SJohn Thompson# CHECK-NEXT: header "SubModule2/Header3.h" 375ab4f111SJohn Thompson# CHECK-NEXT: export * 385ab4f111SJohn Thompson# CHECK-NEXT: } 395ab4f111SJohn Thompson# CHECK-NEXT: module Header4 { 405ab4f111SJohn Thompson# CHECK-NEXT: header "SubModule2/Header4.h" 415ab4f111SJohn Thompson# CHECK-NEXT: export * 425ab4f111SJohn Thompson# CHECK-NEXT: } 43*1c158c19SJohn Thompson# CHECK-NEXT: module Header5_dash_dot { 44*1c158c19SJohn Thompson# CHECK-NEXT: header "SubModule2/Header5-dash.dot.h" 45*1c158c19SJohn Thompson# CHECK-NEXT: export * 46*1c158c19SJohn Thompson# CHECK-NEXT: } 475ab4f111SJohn Thompson# CHECK-NEXT: header "SubModule2.h" 485ab4f111SJohn Thompson# CHECK-NEXT: export * 495ab4f111SJohn Thompson# CHECK-NEXT: } 505ab4f111SJohn Thompson# CHECK-NEXT: } 51