mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-30 11:12:29 +00:00 
			
		
		
		
	Merge branch 'master' of https://github.com/hackfin/yosys
This commit is contained in:
		
						commit
						ae887c49f9
					
				
					 1 changed files with 36 additions and 7 deletions
				
			
		|  | @ -58,7 +58,8 @@ struct LoggerPass : public Pass { | |||
| 		log("        do not print warnings for the specified experimental feature\n"); | ||||
| 		log("\n"); | ||||
| 		log("    -expect <type> <regex> <expected_count>\n"); | ||||
| 		log("        expect log,warning or error to appear. In case of error return code is 0.\n"); | ||||
| 		log("        expect log, warning or error to appear. matched errors will terminate\n"); | ||||
| 		log("        with exit code 0.\n"); | ||||
| 		log("\n"); | ||||
| 		log("    -expect-no-warnings\n"); | ||||
| 		log("        gives error in case there is at least one warning that is not expected.\n"); | ||||
|  | @ -158,12 +159,40 @@ struct LoggerPass : public Pass { | |||
| 					log_cmd_error("Expected error message occurrences must be 1 !\n"); | ||||
| 				log("Added regex '%s' for warnings to expected %s list.\n", pattern.c_str(), type.c_str()); | ||||
| 				try { | ||||
| 					if (type=="error") | ||||
| 						log_expect_error.push_back(std::make_pair(YS_REGEX_COMPILE(pattern), LogExpectedItem(pattern, count))); | ||||
| 					else if (type=="warning") | ||||
| 						log_expect_warning.push_back(std::make_pair(YS_REGEX_COMPILE(pattern), LogExpectedItem(pattern, count))); | ||||
| 					else | ||||
| 						log_expect_log.push_back(std::make_pair(YS_REGEX_COMPILE(pattern), LogExpectedItem(pattern, count))); | ||||
| 					if (type=="error") { | ||||
| 						auto it = log_expect_error.begin(); | ||||
| 						auto ie = log_expect_error.end(); | ||||
| 						for (; it != ie; it++) | ||||
| 							if (it->second.pattern == pattern) { | ||||
| 								it->second.expected_count = count; | ||||
| 								break; | ||||
| 							} | ||||
| 						if (it == ie) | ||||
| 							log_expect_error.emplace_back(YS_REGEX_COMPILE(pattern), LogExpectedItem(pattern, count)); | ||||
| 					} | ||||
| 					else if (type=="warning") { | ||||
| 						auto it = log_expect_warning.begin(); | ||||
| 						auto ie = log_expect_warning.end(); | ||||
| 						for (; it != ie; it++) | ||||
| 							if (it->second.pattern == pattern) { | ||||
| 								it->second.expected_count = count; | ||||
| 								break; | ||||
| 							} | ||||
| 						if (it == ie) | ||||
| 							log_expect_warning.emplace_back(YS_REGEX_COMPILE(pattern), LogExpectedItem(pattern, count)); | ||||
| 					} | ||||
| 					else if (type=="log") { | ||||
| 						auto it = log_expect_log.begin(); | ||||
| 						auto ie = log_expect_log.end(); | ||||
| 						for (; it != ie; it++) | ||||
| 							if (it->second.pattern == pattern) { | ||||
| 								it->second.expected_count = count; | ||||
| 								break; | ||||
| 							} | ||||
| 						if (it == ie) | ||||
| 							log_expect_log.emplace_back(YS_REGEX_COMPILE(pattern), LogExpectedItem(pattern, count)); | ||||
| 					} | ||||
| 					else log_abort(); | ||||
| 				} | ||||
| 				catch (const YS_REGEX_NS::regex_error& e) { | ||||
| 					log_cmd_error("Error in regex expression '%s' !\n", pattern.c_str()); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue