t/Makefile: optimize chainlint self-test
Rather than running `chainlint` and `diff` once per self-test -- which may become expensive as more tests are added -- instead run `chainlint` a single time over all tests bodies collectively and compare the result to the collective "expected" output. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
		 Eric Sunshine
					Eric Sunshine
				
			
				
					committed by
					
						 Junio C Hamano
						Junio C Hamano
					
				
			
			
				
	
			
			
			 Junio C Hamano
						Junio C Hamano
					
				
			
						parent
						
							0cca54c706
						
					
				
				
					commit
					f30c1d5eb1
				
			
							
								
								
									
										10
									
								
								t/Makefile
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								t/Makefile
									
									
									
									
									
								
							| @ -71,12 +71,10 @@ clean-chainlint: | ||||
|  | ||||
| check-chainlint: | ||||
| 	@mkdir -p '$(CHAINLINTTMP_SQ)' && \ | ||||
| 	err=0 && \ | ||||
| 	for i in $(CHAINLINTTESTS); do \ | ||||
| 		$(CHAINLINT) <chainlint/$$i.test | \ | ||||
| 		sed -e '/^# LINT: /d' >'$(CHAINLINTTMP_SQ)'/$$i.actual && \ | ||||
| 		diff -u chainlint/$$i.expect '$(CHAINLINTTMP_SQ)'/$$i.actual || err=1; \ | ||||
| 	done && exit $$err | ||||
| 	sed -e '/^# LINT: /d' $(patsubst %,chainlint/%.test,$(CHAINLINTTESTS)) >'$(CHAINLINTTMP_SQ)'/tests && \ | ||||
| 	cat $(patsubst %,chainlint/%.expect,$(CHAINLINTTESTS)) >'$(CHAINLINTTMP_SQ)'/expect && \ | ||||
| 	$(CHAINLINT) '$(CHAINLINTTMP_SQ)'/tests >'$(CHAINLINTTMP_SQ)'/actual && \ | ||||
| 	diff -u '$(CHAINLINTTMP_SQ)'/expect '$(CHAINLINTTMP_SQ)'/actual | ||||
|  | ||||
| test-lint: test-lint-duplicates test-lint-executable test-lint-shell-syntax \ | ||||
| 	test-lint-filenames | ||||
|  | ||||
		Reference in New Issue
	
	Block a user