mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 06:42:43 +00:00 
			
		
		
		
	Utilities: Add update-cpp-test-results utility
This is a small utility that updates the target tests results for the LibCpp parser and preprocessor regression tests. It's handy to run after changing something in the output of either the parser or the preprocessor.
This commit is contained in:
		
							parent
							
								
									e9d3f3793c
								
							
						
					
					
						commit
						2903c47ba0
					
				
					 2 changed files with 40 additions and 0 deletions
				
			
		|  | @ -190,6 +190,7 @@ target_link_libraries(umount LibMain) | |||
| target_link_libraries(uname LibMain) | ||||
| target_link_libraries(uniq LibMain) | ||||
| target_link_libraries(unzip LibArchive LibCompress LibMain) | ||||
| target_link_libraries(update-cpp-test-results LibCpp LibCore LibMain) | ||||
| target_link_libraries(uptime LibMain) | ||||
| target_link_libraries(userdel LibMain) | ||||
| target_link_libraries(usermod LibMain) | ||||
|  |  | |||
							
								
								
									
										39
									
								
								Userland/Utilities/update-cpp-test-results.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								Userland/Utilities/update-cpp-test-results.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | |||
| /*
 | ||||
|  * Copyright (c) 2022, Itamar S. <itamar8910@gmail.com> | ||||
|  * | ||||
|  * SPDX-License-Identifier: BSD-2-Clause | ||||
|  */ | ||||
| 
 | ||||
| #include <AK/Format.h> | ||||
| #include <AK/LexicalPath.h> | ||||
| #include <LibCore/Command.h> | ||||
| #include <LibCore/DirIterator.h> | ||||
| #include <LibCore/StandardPaths.h> | ||||
| #include <LibMain/Main.h> | ||||
| 
 | ||||
| ErrorOr<int> serenity_main(Main::Arguments) | ||||
| { | ||||
|     Core::DirIterator parser_tests(LexicalPath::join(Core::StandardPaths::home_directory(), "cpp-tests/parser").string()); | ||||
|     while (parser_tests.has_next()) { | ||||
|         auto cpp_full_path = parser_tests.next_full_path(); | ||||
|         if (!cpp_full_path.ends_with(".cpp")) | ||||
|             continue; | ||||
|         auto ast_full_path = cpp_full_path.replace(".cpp", ".ast"); | ||||
|         outln("{}", cpp_full_path); | ||||
|         auto res = Core::command("/bin/sh", { "sh", "-c", String::formatted("cpp-parser {} > {}", cpp_full_path, ast_full_path) }, {}); | ||||
|         VERIFY(!res.is_error()); | ||||
|     } | ||||
| 
 | ||||
|     Core::DirIterator preprocessor_tests(LexicalPath::join(Core::StandardPaths::home_directory(), "cpp-tests/preprocessor").string()); | ||||
|     while (preprocessor_tests.has_next()) { | ||||
|         auto cpp_full_path = preprocessor_tests.next_full_path(); | ||||
|         if (!cpp_full_path.ends_with(".cpp")) | ||||
|             continue; | ||||
|         auto ast_full_path = cpp_full_path.replace(".cpp", ".txt"); | ||||
|         outln("{}", cpp_full_path); | ||||
|         auto res = Core::command("/bin/sh", { "sh", "-c", String::formatted("cpp-preprocessor {} > {}", cpp_full_path, ast_full_path) }, {}); | ||||
|         VERIFY(!res.is_error()); | ||||
|     } | ||||
| 
 | ||||
|     return 0; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Itamar
						Itamar