| 118 | } |
| 119 | |
| 120 | static void walkAll( std::vector<std::string>& pathStack, |
| 121 | const TestEngine::Entry& entry, |
| 122 | std::vector<PathedEntry>& out ) |
| 123 | { |
| 124 | TypedEntry te{ |
| 125 | .name = pathStack.back(), |
| 126 | .type = typeOf( entry ), |
| 127 | .status = composeStatus( entryDisabledReason( entry ) ), |
| 128 | }; |
| 129 | out.emplace_back( pathStack, std::move( te ) ); |
| 130 | |
| 131 | if ( auto g = std::get_if<TestEngine::GroupEntry>( &entry.value ) ) |
| 132 | { |
| 133 | for ( const auto& [childName, childEntry] : g->elems ) |
| 134 | { |
| 135 | pathStack.push_back( childName ); |
| 136 | walkAll( pathStack, childEntry, out ); |
| 137 | pathStack.pop_back(); |
| 138 | } |
| 139 | } |
| 140 | } |
| 141 | |
| 142 | Expected<std::vector<PathedEntry>> listAllEntries( const std::vector<std::string>& rootPath ) |
| 143 | { |
no test coverage detected