gitee.com/mirrors/gauge@v1.0.6/gauge.go (about) 1 // Copyright 2015 ThoughtWorks, Inc. 2 3 // This file is part of Gauge. 4 5 // Gauge is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 10 // Gauge is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 15 // You should have received a copy of the GNU General Public License 16 // along with Gauge. If not, see <http://www.gnu.org/licenses/>. 17 18 package main 19 20 import ( 21 "os" 22 "runtime/debug" 23 24 "github.com/getgauge/gauge/cmd" 25 "github.com/getgauge/gauge/logger" 26 ) 27 28 func main() { 29 defer recoverPanic() 30 if err := cmd.Parse(); err != nil { 31 logger.Info(true, err.Error()) 32 os.Exit(1) 33 } 34 } 35 36 func recoverPanic() { 37 if r := recover(); r != nil { 38 logger.Fatalf(true, "Panicing : %v\n%s", r, string(debug.Stack())) 39 } 40 }