| 161 | throw std::runtime_error( |
| 162 | "workflow path inputs expanded from placeholders must be absolute: " + value + |
| 163 | " -> " + path.string()); |
| 164 | } |
| 165 | return context.workflow_dir / path; |
| 166 | } |
| 167 | |
| 168 | std::string lowercase_extension(const std::filesystem::path & path) { |
| 169 | std::string ext = path.extension().string(); |
| 170 | std::transform(ext.begin(), ext.end(), ext.begin(), [](unsigned char ch) { |
| 171 | return static_cast<char>(std::tolower(ch)); |
| 172 | }); |
no test coverage detected