| ... | @@ -1737,6 +1737,13 @@ pub fn update(self: *Compilation) !void { | ... | @@ -1737,6 +1737,13 @@ pub fn update(self: *Compilation) !void { |
| 1737 | | 1737 | |
| 1738 | if (!use_stage1) { | 1738 | if (!use_stage1) { |
| 1739 | if (self.bin_file.options.module) |module| { | 1739 | if (self.bin_file.options.module) |module| { |
| | 1740 | if (self.bin_file.options.is_test and self.totalErrorCount() == 0) { |
| | 1741 | // The `test_functions` decl has been intentionally postponed until now, |
| | 1742 | // at which point we must populate it with the list of test functions that |
| | 1743 | // have been discovered and not filtered out. |
| | 1744 | try module.populateTestFunctions(); |
| | 1745 | } |
| | 1746 | |
| 1740 | // Process the deletion set. We use a while loop here because the | 1747 | // Process the deletion set. We use a while loop here because the |
| 1741 | // deletion set may grow as we call `clearDecl` within this loop, | 1748 | // deletion set may grow as we call `clearDecl` within this loop, |
| 1742 | // and more unreferenced Decls are revealed. | 1749 | // and more unreferenced Decls are revealed. |
| ... | @@ -2384,14 +2391,6 @@ pub fn performAllTheWork(self: *Compilation) error{ TimerUnsupported, OutOfMemor | ... | @@ -2384,14 +2391,6 @@ pub fn performAllTheWork(self: *Compilation) error{ TimerUnsupported, OutOfMemor |
| 2384 | }; | 2391 | }; |
| 2385 | }, | 2392 | }, |
| 2386 | }; | 2393 | }; |
| 2387 | | | |
| 2388 | if (self.bin_file.options.is_test and self.totalErrorCount() == 0) { | | |
| 2389 | // The `test_functions` decl has been intentionally postponed until now, | | |
| 2390 | // at which point we must populate it with the list of test functions that | | |
| 2391 | // have been discovered and not filtered out. | | |
| 2392 | const mod = self.bin_file.options.module.?; | | |
| 2393 | try mod.populateTestFunctions(); | | |
| 2394 | } | | |
| 2395 | } | 2394 | } |
| 2396 | | 2395 | |
| 2397 | const AstGenSrc = union(enum) { | 2396 | const AstGenSrc = union(enum) { |