diff --git a/pkg/formatters/ast/ast.go b/pkg/formatters/ast/ast.go index 07243f8..3933190 100644 --- a/pkg/formatters/ast/ast.go +++ b/pkg/formatters/ast/ast.go @@ -252,7 +252,7 @@ func (a *ASTer) сконвертитьСтрокувПараметры(in string } func (a *ASTer) перезаписатьInitФайл() error { - err := переименоватьФайлСоВременем(INIT_TEST_GO_FNAME) + err := забекапитьФайлСоВременем(INIT_TEST_GO_FNAME) if err != nil { return errors.Join(err, errors.New("cant backup orig file")) } @@ -266,7 +266,7 @@ func (a *ASTer) перезаписатьInitФайл() error { return format.Node(f, a.init_test_fset, a.init_test_node) } func (a *ASTer) перезаписатьФайл() error { - err := переименоватьФайлСоВременем(a.pkg_test_go_fname) + err := забекапитьФайлСоВременем(a.pkg_test_go_fname) if err != nil { return errors.Join(err, errors.New("cant backup orig file")) } diff --git a/pkg/formatters/ast/helpers.go b/pkg/formatters/ast/helpers.go index 9320738..23af2cf 100644 --- a/pkg/formatters/ast/helpers.go +++ b/pkg/formatters/ast/helpers.go @@ -45,12 +45,12 @@ func получитьИмяGoПакетаВЭтойДире() (pkg_name string, return } -func переименоватьФайлСоВременем(fname string) error { +func забекапитьФайлСоВременем(fname string) error { os.MkdirAll(BACKUP_DIR, 0755) currentTime := time.Now() timestamp := currentTime.Format("20060102_150405") new_fname := fmt.Sprintf(BACKUP_DIR+"/%v_%v", fname, timestamp) - return os.Rename(fname, new_fname) + return lib.CopyFile(fname, new_fname) } func являетсяЛиШагомсТакойЖеФункцией(stmt ast.Stmt, step *ast.ExprStmt) bool { diff --git a/pkg/lib/lib.go b/pkg/lib/lib.go index 647d7d8..8626980 100644 --- a/pkg/lib/lib.go +++ b/pkg/lib/lib.go @@ -44,3 +44,12 @@ func CopyFile(src, dst string) (err error) { return } + +func MoveFile(src, dst string) (err error) { + err = CopyFile(src, dst) + if err != nil { + return + } + + return os.Remove(src) +}