mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-03 18:42:25 -06:00 
			
		
		
		
	* start fixing up tests * fix up tests + automate with drone * fiddle with linting * messing about with drone.yml * some more fiddling * hmmm * add cache * add vendor directory * verbose * ci updates * update some little things * update sig
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			941 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			941 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package suite
 | 
						|
 | 
						|
import "time"
 | 
						|
 | 
						|
// SuiteInformation stats stores stats for the whole suite execution.
 | 
						|
type SuiteInformation struct {
 | 
						|
	Start, End time.Time
 | 
						|
	TestStats  map[string]*TestInformation
 | 
						|
}
 | 
						|
 | 
						|
// TestInformation stores information about the execution of each test.
 | 
						|
type TestInformation struct {
 | 
						|
	TestName   string
 | 
						|
	Start, End time.Time
 | 
						|
	Passed     bool
 | 
						|
}
 | 
						|
 | 
						|
func newSuiteInformation() *SuiteInformation {
 | 
						|
	testStats := make(map[string]*TestInformation)
 | 
						|
 | 
						|
	return &SuiteInformation{
 | 
						|
		TestStats: testStats,
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (s SuiteInformation) start(testName string) {
 | 
						|
	s.TestStats[testName] = &TestInformation{
 | 
						|
		TestName: testName,
 | 
						|
		Start:    time.Now(),
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (s SuiteInformation) end(testName string, passed bool) {
 | 
						|
	s.TestStats[testName].End = time.Now()
 | 
						|
	s.TestStats[testName].Passed = passed
 | 
						|
}
 | 
						|
 | 
						|
func (s SuiteInformation) Passed() bool {
 | 
						|
	for _, stats := range s.TestStats {
 | 
						|
		if !stats.Passed {
 | 
						|
			return false
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	return true
 | 
						|
}
 |