mirror of
https://github.com/tuna/tunasync.git
synced 2025-04-20 20:22:46 +00:00
43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package internal
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
func TestExtractSizeFromRsyncLog(t *testing.T) {
|
|
realLogContent := `
|
|
Number of files: 998,470 (reg: 925,484, dir: 58,892, link: 14,094)
|
|
Number of created files: 1,049 (reg: 1,049)
|
|
Number of deleted files: 1,277 (reg: 1,277)
|
|
Number of regular files transferred: 5,694
|
|
Total file size: 1.33T bytes
|
|
Total transferred file size: 2.86G bytes
|
|
Literal data: 780.62M bytes
|
|
Matched data: 2.08G bytes
|
|
File list size: 37.55M
|
|
File list generation time: 7.845 seconds
|
|
File list transfer time: 0.000 seconds
|
|
Total bytes sent: 7.55M
|
|
Total bytes received: 823.25M
|
|
|
|
sent 7.55M bytes received 823.25M bytes 5.11M bytes/sec
|
|
total size is 1.33T speedup is 1,604.11
|
|
`
|
|
Convey("Log parser should work", t, func() {
|
|
tmpDir, err := ioutil.TempDir("", "tunasync")
|
|
So(err, ShouldBeNil)
|
|
defer os.RemoveAll(tmpDir)
|
|
logFile := filepath.Join(tmpDir, "rs.log")
|
|
err = ioutil.WriteFile(logFile, []byte(realLogContent), 0755)
|
|
So(err, ShouldBeNil)
|
|
|
|
res := ExtractSizeFromRsyncLog(logFile)
|
|
So(res, ShouldEqual, "1.33T")
|
|
})
|
|
}
|