berty / go-orbit-db

Go version of P2P Database on IPFS
https://berty.tech
Apache License 2.0
405 stars 55 forks source link

Inconsistent failing test(s) #58

Closed moul closed 1 year ago

moul commented 4 years ago

https://github.com/berty/go-orbit-db/pull/54/checks?check_run_id=881357563

feeling: happens "rarely" (1/100)

=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
    TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync: replication_status_test.go:146: 
            Error Trace:    replication_status_test.go:146
            Error:          Not equal: 
                            expected: 0
                            actual  : 2
            Test:           TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_loading_from_snapshot
--- FAIL: TestReplicationStatus (7.69s)
    --- PASS: TestReplicationStatus/has_correct_initial_state (1.00s)
    --- FAIL: TestReplicationStatus/has_correct_replication_info_after_load (6.70s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_close (0.28s)
        --- FAIL: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (5.82s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_loading_from_snapshot (0.59s)
=== RUN   TestWritePermissions

edit 1: another test locally

$ go test ./tests/ -run TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync -count 101
--- FAIL: TestReplicationStatus (5.34s)
    --- FAIL: TestReplicationStatus/has_correct_replication_info_after_load (5.34s)
        --- FAIL: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (5.34s)
            replication_status_test.go:145:
                        Error Trace:    replication_status_test.go:145
                        Error:          Not equal:
                                        expected: -1
                                        actual  : 0
                        Test:           TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
FAIL
FAIL    berty.tech/go-orbit-db/tests    52.385s
FAIL

edit 2: another test

$ go test ./tests/ -v -run TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync -count 101
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.47s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.47s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.47s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.43s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.43s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.43s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.37s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.37s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.36s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.85s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.85s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.85s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.53s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.53s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.53s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.72s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.72s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.72s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.39s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.39s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.39s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.63s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.63s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.63s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.44s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.44s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.44s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.32s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.32s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.32s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.32s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.32s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.32s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.47s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.47s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.47s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.46s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.46s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.46s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.40s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.40s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.40s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.57s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.57s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.57s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.62s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.62s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.62s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.49s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.49s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.49s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.75s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.75s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.75s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.49s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.49s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.49s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.36s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.36s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.36s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.76s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.76s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.76s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.39s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.39s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.39s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.33s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.33s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.33s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.53s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.53s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.53s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.60s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.60s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.60s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.46s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.46s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.46s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.60s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.60s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.60s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.52s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.52s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.52s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- PASS: TestReplicationStatus (0.38s)
    --- PASS: TestReplicationStatus/has_correct_replication_info_after_load (0.38s)
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.38s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
[...]
        --- PASS: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (0.51s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
    TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync: replication_status_test.go:146:
                Error Trace:    replication_status_test.go:146
                Error:          Not equal:
                                expected: 0
                                actual  : 2
                Test:           TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync
--- FAIL: TestReplicationStatus (5.47s)
    --- FAIL: TestReplicationStatus/has_correct_replication_info_after_load (5.47s)
        --- FAIL: TestReplicationStatus/has_correct_replication_info_after_load/has_correct_replication_info_after_sync (5.47s)
=== RUN   TestReplicationStatus
=== RUN   TestReplicationStatus/has_correct_replication_info_after_load
[...]
peletron commented 1 year ago

Closing issue since it is not relevant any more.