Hello syncthing fellows!
Please, can anybody shed some light on how to test the syncthing binary after building it on a GNU/Linux machine?
I cloned the syncthing repo, checked out v1.15.0 and (as the docs say) used the command “go run build.go test”. The tests succeeded. After some time I tried to run the tests again. But GO simply printed previously cached test results. So I tried to run “go clean -testcache” and then started the tests again. Indeed, GO started to run the tests from scratch.
The problem is that this second run failed. In fact all subsequent test runs fail consistently.
I tried to delete the whole syncthing repo as well as ~/.cache/go-build and ~/go and start the whole thing all over again. I even tried with v1.14.0 tag. But nothing helped. No matter what I try, the first test run is successful and the next one always fails with:
— FAIL: TestRequestRemoteRenameChanged (2.61s) requests_test.go:763: Got more than one index update for b
What am I doing wrong? Where should I start to get more familiar with the syncthing build and test setup?
The motivation for re-running the tests is to build more syncthing binaries - with different build flags, e.g. ‘-no-upgrade’. It is not very practical to delete the whole syncthing repo after each build run.
I am using Debian 10 (Buster) and my GO version is go1.14 linux/amd64. This is my first encounter with syncthing and I am new to GO too. So please go easy on me.
Any help would be appreciated.