hyperledger / firefly

Hyperledger FireFly is the first open source Supernode: a complete stack for enterprises to build and scale secure Web3 applications. The FireFly API for digital assets, data flows, and blockchain transactions makes it radically faster to build production-ready apps on popular chains and protocols.
https://hyperledger.github.io/firefly
Apache License 2.0
486 stars 202 forks source link

Intermittent unit test failures in configreload_test #1250

Open awrichar opened 1 year ago

awrichar commented 1 year ago

https://github.com/hyperledger/firefly/actions/runs/4567930148/jobs/8062336444?pr=1249

--- FAIL: TestConfigDownToNothingOk (0.02s)
    manager_test.go:138: PASS:  Name()
    manager_test.go:138: PASS:  InitConfig(string)
    manager_test.go:138: PASS:  Init(string,string,string,string,string)
    manager_test.go:138: PASS:  Start()
    manager_test.go:140: PASS:  Name()
    manager_test.go:140: PASS:  InitConfig(string)
    manager_test.go:140: PASS:  Init(string,string)
    manager_test.go:140: PASS:  SetHandler(string,string)
    manager_test.go:140: FAIL:  GetNamespace(string,string)
                at: [/home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:419 /home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:774]
    manager_test.go:140: FAIL:  GetNamespace(string,string)
                at: [/home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:420 /home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:774]
    manager_test.go:140: PASS:  GetNamespace(string,string)
    manager_test.go:140: FAIL:  UpsertNamespace(string,mock.AnythingOfTypeArgument,bool)
                at: [/home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:422 /home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:774]
    manager_test.go:140: FAIL: 5 out of 8 expectation(s) were met.
            The code you are testing needs to make 3 more call(s).
            at: [/home/runner/work/firefly/firefly/internal/namespace/manager_test.go:140 /home/runner/work/firefly/firefly/internal/namespace/manager_test.go:281 /home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:804]
    manager_test.go:141: PASS:  Name()
    manager_test.go:141: PASS:  InitConfig(string)
    manager_test.go:141: PASS:  Init(string,string,string)
    manager_test.go:141: PASS:  Start()
    manager_test.go:142: PASS:  Name()
    manager_test.go:142: PASS:  InitConfig(string)
    manager_test.go:142: PASS:  Init(string,string)
    manager_test.go:143: PASS:  Name()
    manager_test.go:143: PASS:  InitConfig(string)
    manager_test.go:144: PASS:  Name()
    manager_test.go:144: PASS:  InitConfig(string)
    manager_test.go:144: PASS:  Init(string,string,string,string)
    manager_test.go:144: PASS:  Start()
    manager_test.go:145: PASS:  Name()
    manager_test.go:145: PASS:  InitConfig(string)
    manager_test.go:145: PASS:  Init(string,string,string)
    manager_test.go:147: PASS:  Name()
    manager_test.go:147: PASS:  InitConfig(string)
    manager_test.go:147: PASS:  Init(string,string)
    manager_test.go:148: PASS:  Name()
    manager_test.go:148: PASS:  InitConfig(string)
    manager_test.go:148: PASS:  Init(string,string)
    manager_test.go:149: PASS:  Name()
    manager_test.go:149: PASS:  InitConfig(string)
    manager_test.go:149: PASS:  Init(string,string)
    manager_test.go:150: FAIL:  Init(string,string)
                at: [/home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:428 /home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:774]
    manager_test.go:150: FAIL:  Start()
                at: [/home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:439 /home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:774]
    manager_test.go:150: PASS:  WaitStop()
    manager_test.go:150: FAIL:  WaitStop()
                at: [/home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:788]
    manager_test.go:150: FAIL: 1 out of 4 expectation(s) were met.
            The code you are testing needs to make 3 more call(s).
            at: [/home/runner/work/firefly/firefly/internal/namespace/manager_test.go:150 /home/runner/work/firefly/firefly/internal/namespace/manager_test.go:281 /home/runner/work/firefly/firefly/internal/namespace/configreload_test.go:804]
peterbroadhurst commented 1 year ago

I believe https://github.com/hyperledger/firefly/pull/1242 might contain a fix for this - the namespaceInitWaiter