mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	The existing walk.go and conformance.txt have a few shortcomings which we'd like to resolve: - difficult to get the full test name due to test context nesting - complicated AST logic and understanding necessary due to the different ways a test can be invoked and written This changes the AST parsing logic to be much more simple and simply looks for the comments at/around a specific line. This file/line information (and the full test name) is gathered by a custom ginkgo reporter which dumps the SpecSummary data to a file. Also, the SpecSummary dump can, itself, be potentially useful for other post-processing and debugging tasks. Signed-off-by: John Schnake <jschnake@vmware.com>
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
/*
 | 
						|
Copyright 2019 The Kubernetes Authors.
 | 
						|
 | 
						|
Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
you may not use this file except in compliance with the License.
 | 
						|
You may obtain a copy of the License at
 | 
						|
 | 
						|
    http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
Unless required by applicable law or agreed to in writing, software
 | 
						|
distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
See the License for the specific language governing permissions and
 | 
						|
limitations under the License.
 | 
						|
*/
 | 
						|
 | 
						|
/*
 | 
						|
This stand-alone package is utilized for dynamically generating/maintaining a list of
 | 
						|
conformance tests. It utilizes a two step approach:
 | 
						|
 - The test binary is built
 | 
						|
 - The test binary is run in dry mode with a custom ginkgo reporter dumping out
 | 
						|
 types.SpecSummary objects which contain full test names and file/code information.
 | 
						|
 - The SpecSummary information is parsed to get file/line info on Conformance tests and
 | 
						|
 then we use a simplified AST parser to grab the comments above the test.
 | 
						|
 | 
						|
Due to the complicated nature of how tests can be declared/wrapped in various contexts,
 | 
						|
this approach is much simpler to maintain than a pure-AST parser and allows us to easily
 | 
						|
capture the full test names/locations of the tests using the pre-existing ginkgo logic.
 | 
						|
*/
 | 
						|
package main
 |