mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-30 21:02:32 +01:00 
			
		
		
		
	Basic framework for parsing test targets
This commit is contained in:
		
							parent
							
								
									cfddec17d5
								
							
						
					
					
						commit
						6d7cd639a5
					
				
							
								
								
									
										16
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								Makefile
									
									
									
									
									
								
							| @ -224,6 +224,8 @@ define PARSE_RULE | |||||||
|     # PARSE_ALL_KEYBOARDS |     # PARSE_ALL_KEYBOARDS | ||||||
|     ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkb),true) |     ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,allkb),true) | ||||||
|         $$(eval $$(call PARSE_ALL_KEYBOARDS)) |         $$(eval $$(call PARSE_ALL_KEYBOARDS)) | ||||||
|  |     else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,test),true) | ||||||
|  |         $$(eval $$(call PARSE_TEST)) | ||||||
|     # If the rule starts with the name of a known keyboard, then continue |     # If the rule starts with the name of a known keyboard, then continue | ||||||
|     # the parsing from PARSE_KEYBOARD |     # the parsing from PARSE_KEYBOARD | ||||||
|     else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true) |     else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true) | ||||||
| @ -396,6 +398,16 @@ define PARSE_ALL_KEYMAPS | |||||||
|     $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYMAP,$$(KEYMAPS))) |     $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYMAP,$$(KEYMAPS))) | ||||||
| endef | endef | ||||||
| 
 | 
 | ||||||
|  | define PARSE_TEST | ||||||
|  |     TEST_NAME := $$(firstword $$(subst -, ,$$(RULE))) | ||||||
|  |     TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME)-,,$$(RULE))) | ||||||
|  |     MATCHED_TESTS := $$(foreach TEST,$$(TEST_LIST),$$(if $$(findstring $$(TEST_NAME),$$(TEST)),$$(TEST),)) | ||||||
|  |     $$(info Test name $$(TEST_NAME)) | ||||||
|  |     $$(info Test target $$(TEST_TARGET)) | ||||||
|  |     $$(info $$(MATCHED_TESTS)) | ||||||
|  | endef | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| # Set the silent mode depending on if we are trying to compile multiple keyboards or not
 | # Set the silent mode depending on if we are trying to compile multiple keyboards or not
 | ||||||
| # By default it's on in that case, but it can be overriden by specifying silent=false 
 | # By default it's on in that case, but it can be overriden by specifying silent=false 
 | ||||||
| # from the command line
 | # from the command line
 | ||||||
| @ -459,4 +471,6 @@ all-keyboards-defaults: allkb-allsp-default | |||||||
| GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S") | GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S") | ||||||
| BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S") | BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S") | ||||||
| $(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h) | $(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h) | ||||||
| $(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h) | $(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h) | ||||||
|  | 
 | ||||||
|  | include $(ROOT_DIR)/testlist.mk | ||||||
							
								
								
									
										6
									
								
								quantum/serial_link/tests/testlist.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								quantum/serial_link/tests/testlist.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | TEST_LIST +=\
 | ||||||
|  | 	serial_link_byte_stuffer\
 | ||||||
|  | 	serial_link_frame_router\
 | ||||||
|  | 	serial_link_frame_validator\
 | ||||||
|  | 	serial_link_transport\
 | ||||||
|  | 	serial_link_triple_buffered_object | ||||||
							
								
								
									
										13
									
								
								testlist.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								testlist.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | include $(ROOT_DIR)/quantum/serial_link/tests/testlist.mk | ||||||
|  | 
 | ||||||
|  | define VALIDATE_TEST_LIST | ||||||
|  |     ifneq ($1,) | ||||||
|  |         ifeq ($$(findstring -,$1),-) | ||||||
|  |             $$(error Test names can't contain '-', but '$1' does) | ||||||
|  |         else | ||||||
|  |             $$(eval $$(call VALIDATE_TEST_LIST,$$(firstword $2),$$(wordlist 2,9999,$2))) | ||||||
|  |         endif | ||||||
|  |     endif | ||||||
|  | endef | ||||||
|  | 
 | ||||||
|  | $(eval $(call VALIDATE_TEST_LIST,$(firstword $(TEST_LIST)),$(wordlist 2,9999,$(TEST_LIST)))) | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Fred Sundvik
						Fred Sundvik