mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 00:52:26 -05:00 
			
		
		
		
	Grand test fixup (#138)
* 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
This commit is contained in:
		
					parent
					
						
							
								329a5e8144
							
						
					
				
			
			
				commit
				
					
						98263a7de6
					
				
			
		
					 2677 changed files with 1090869 additions and 219 deletions
				
			
		
							
								
								
									
										76
									
								
								vendor/github.com/sirupsen/logrus/alt_exit.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								vendor/github.com/sirupsen/logrus/alt_exit.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,76 @@ | |||
| package logrus | ||||
| 
 | ||||
| // The following code was sourced and modified from the | ||||
| // https://github.com/tebeka/atexit package governed by the following license: | ||||
| // | ||||
| // Copyright (c) 2012 Miki Tebeka <miki.tebeka@gmail.com>. | ||||
| // | ||||
| // Permission is hereby granted, free of charge, to any person obtaining a copy of | ||||
| // this software and associated documentation files (the "Software"), to deal in | ||||
| // the Software without restriction, including without limitation the rights to | ||||
| // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | ||||
| // the Software, and to permit persons to whom the Software is furnished to do so, | ||||
| // subject to the following conditions: | ||||
| // | ||||
| // The above copyright notice and this permission notice shall be included in all | ||||
| // copies or substantial portions of the Software. | ||||
| // | ||||
| // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | ||||
| // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||||
| // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||||
| // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||
| // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| 
 | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| ) | ||||
| 
 | ||||
| var handlers = []func(){} | ||||
| 
 | ||||
| func runHandler(handler func()) { | ||||
| 	defer func() { | ||||
| 		if err := recover(); err != nil { | ||||
| 			fmt.Fprintln(os.Stderr, "Error: Logrus exit handler error:", err) | ||||
| 		} | ||||
| 	}() | ||||
| 
 | ||||
| 	handler() | ||||
| } | ||||
| 
 | ||||
| func runHandlers() { | ||||
| 	for _, handler := range handlers { | ||||
| 		runHandler(handler) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // Exit runs all the Logrus atexit handlers and then terminates the program using os.Exit(code) | ||||
| func Exit(code int) { | ||||
| 	runHandlers() | ||||
| 	os.Exit(code) | ||||
| } | ||||
| 
 | ||||
| // RegisterExitHandler appends a Logrus Exit handler to the list of handlers, | ||||
| // call logrus.Exit to invoke all handlers. The handlers will also be invoked when | ||||
| // any Fatal log entry is made. | ||||
| // | ||||
| // This method is useful when a caller wishes to use logrus to log a fatal | ||||
| // message but also needs to gracefully shutdown. An example usecase could be | ||||
| // closing database connections, or sending a alert that the application is | ||||
| // closing. | ||||
| func RegisterExitHandler(handler func()) { | ||||
| 	handlers = append(handlers, handler) | ||||
| } | ||||
| 
 | ||||
| // DeferExitHandler prepends a Logrus Exit handler to the list of handlers, | ||||
| // call logrus.Exit to invoke all handlers. The handlers will also be invoked when | ||||
| // any Fatal log entry is made. | ||||
| // | ||||
| // This method is useful when a caller wishes to use logrus to log a fatal | ||||
| // message but also needs to gracefully shutdown. An example usecase could be | ||||
| // closing database connections, or sending a alert that the application is | ||||
| // closing. | ||||
| func DeferExitHandler(handler func()) { | ||||
| 	handlers = append([]func(){handler}, handlers...) | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue