@@ -2257,7 +2257,12 @@ impl BookTest {
22572257}
22582258
22592259macro_rules! test_book {
2260- ( $( $name: ident, $path: expr, $book_name: expr, default =$default: expr; ) +) => {
2260+ ( $(
2261+ $name: ident, $path: expr, $book_name: expr,
2262+ default =$default: expr
2263+ $( , submodules = $submodules: expr) ?
2264+ ;
2265+ ) +) => {
22612266 $(
22622267 #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
22632268 pub struct $name {
@@ -2280,6 +2285,11 @@ macro_rules! test_book {
22802285 }
22812286
22822287 fn run( self , builder: & Builder <' _>) {
2288+ $(
2289+ for submodule in $submodules {
2290+ builder. require_and_update_submodule( submodule, None ) ;
2291+ }
2292+ ) *
22832293 builder. ensure( BookTest {
22842294 compiler: self . compiler,
22852295 path: PathBuf :: from( $path) ,
@@ -2293,15 +2303,15 @@ macro_rules! test_book {
22932303}
22942304
22952305test_book ! (
2296- Nomicon , "src/doc/nomicon" , "nomicon" , default =false ;
2297- Reference , "src/doc/reference" , "reference" , default =false ;
2306+ Nomicon , "src/doc/nomicon" , "nomicon" , default =false , submodules= [ "src/doc/nomicon" ] ;
2307+ Reference , "src/doc/reference" , "reference" , default =false , submodules= [ "src/doc/reference" ] ;
22982308 RustdocBook , "src/doc/rustdoc" , "rustdoc" , default =true ;
22992309 RustcBook , "src/doc/rustc" , "rustc" , default =true ;
2300- RustByExample , "src/doc/rust-by-example" , "rust-by-example" , default =false ;
2301- EmbeddedBook , "src/doc/embedded-book" , "embedded-book" , default =false ;
2302- TheBook , "src/doc/book" , "book" , default =false ;
2310+ RustByExample , "src/doc/rust-by-example" , "rust-by-example" , default =false , submodules= [ "src/doc/rust-by-example" ] ;
2311+ EmbeddedBook , "src/doc/embedded-book" , "embedded-book" , default =false , submodules= [ "src/doc/embedded-book" ] ;
2312+ TheBook , "src/doc/book" , "book" , default =false , submodules= [ "src/doc/book" ] ;
23032313 UnstableBook , "src/doc/unstable-book" , "unstable-book" , default =true ;
2304- EditionGuide , "src/doc/edition-guide" , "edition-guide" , default =false ;
2314+ EditionGuide , "src/doc/edition-guide" , "edition-guide" , default =false , submodules= [ "src/doc/edition-guide" ] ;
23052315) ;
23062316
23072317#[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
0 commit comments