From 18c977e87be07a81c476181cccb4a4beb1ecb68a Mon Sep 17 00:00:00 2001 From: Nazarii Denha Date: Thu, 26 Jan 2023 15:18:05 +0100 Subject: [PATCH] fix test --- coordinator/config.json | 1 - coordinator/config/config.go | 7 +++-- coordinator/manager.go | 1 + coordinator/manager_test.go | 45 ++++++++++++-------------------- coordinator/verifier/verifier.go | 5 +--- 5 files changed, 22 insertions(+), 37 deletions(-) diff --git a/coordinator/config.json b/coordinator/config.json index f7caa006b..d9a37892d 100644 --- a/coordinator/config.json +++ b/coordinator/config.json @@ -6,7 +6,6 @@ "token_time_to_live": 60, "verifier": { "mock_mode": true, - "long_mock_mode": false, "params_path": "", "agg_vk_path": "" } diff --git a/coordinator/config/config.go b/coordinator/config/config.go index e408418ba..6261e052b 100644 --- a/coordinator/config/config.go +++ b/coordinator/config/config.go @@ -39,10 +39,9 @@ type Config struct { // VerifierConfig load zk verifier config. type VerifierConfig struct { - MockMode bool `json:"mock_mode"` - LongMockMode bool `json:"long_mock_mode"` - ParamsPath string `json:"params_path"` - AggVkPath string `json:"agg_vk_path"` + MockMode bool `json:"mock_mode"` + ParamsPath string `json:"params_path"` + AggVkPath string `json:"agg_vk_path"` } // NewConfig returns a new instance of Config. diff --git a/coordinator/manager.go b/coordinator/manager.go index effef76b4..563d6aaed 100644 --- a/coordinator/manager.go +++ b/coordinator/manager.go @@ -356,6 +356,7 @@ func (m *Manager) handleZkProof(pk string, msg *message.ProofDetail) error { "status", orm.ProvingTaskVerified, "error", dbErr) } + fmt.Println("proving status set to verified", msg.ID) return dbErr } return nil diff --git a/coordinator/manager_test.go b/coordinator/manager_test.go index 79eba42b3..eb30b797e 100644 --- a/coordinator/manager_test.go +++ b/coordinator/manager_test.go @@ -87,7 +87,7 @@ func testHandshake(t *testing.T) { // Setup coordinator and ws server. wsURL := "ws://" + randomURL() - rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL, false) + rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL) defer func() { handler.Shutdown(context.Background()) rollerManager.Stop() @@ -108,7 +108,7 @@ func testFailedHandshake(t *testing.T) { // Setup coordinator and ws server. wsURL := "ws://" + randomURL() - rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL, false) + rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL) defer func() { handler.Shutdown(context.Background()) rollerManager.Stop() @@ -174,7 +174,7 @@ func testSeveralConnections(t *testing.T) { // Setup coordinator and ws server. wsURL := "ws://" + randomURL() - rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL, false) + rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL) defer func() { handler.Shutdown(context.Background()) rollerManager.Stop() @@ -227,7 +227,7 @@ func testValidProof(t *testing.T) { // Setup coordinator and ws server. wsURL := "ws://" + randomURL() - rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 3, wsURL, false) + rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 3, wsURL) defer func() { handler.Shutdown(context.Background()) rollerManager.Stop() @@ -287,7 +287,7 @@ func testInvalidProof(t *testing.T) { // Setup coordinator and ws server. wsURL := "ws://" + randomURL() - rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 3, wsURL, false) + rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 3, wsURL) defer func() { handler.Shutdown(context.Background()) rollerManager.Stop() @@ -346,7 +346,7 @@ func testIdleRollerSelection(t *testing.T) { // Setup coordinator and ws server. wsURL := "ws://" + randomURL() - rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL, false) + rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL) defer func() { handler.Shutdown(context.Background()) rollerManager.Stop() @@ -415,7 +415,7 @@ func testGracefulRestart(t *testing.T) { // Setup coordinator and ws server. wsURL := "ws://" + randomURL() - rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL, false) + rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL) // create mock roller roller := newMockRoller(t, "roller_test", wsURL) @@ -432,7 +432,7 @@ func testGracefulRestart(t *testing.T) { rollerManager.Stop() // Setup new coordinator and ws server. - newRollerManager, newHandler := setupCoordinator(t, cfg.DBConfig, 1, wsURL, false) + newRollerManager, newHandler := setupCoordinator(t, cfg.DBConfig, 1, wsURL) defer func() { newHandler.Shutdown(context.Background()) newRollerManager.Stop() @@ -494,13 +494,13 @@ func testVerifyProvedBatchesOnStartup(t *testing.T) { // Setup coordinator and ws server. wsURL := "ws://" + randomURL() - rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL, true) + rollerManager, handler := setupCoordinator(t, cfg.DBConfig, 1, wsURL) // create mock roller roller := newMockRoller(t, "roller_test", wsURL) roller.waitTaskAndSendProof(t, 500*time.Millisecond, false, true) - // wait for coordinator to receive proof + // wait for coordinator to dispatch task <-time.After(5 * time.Second) // the coordinator will delete the roller if the subscription is closed. roller.close() @@ -508,23 +508,12 @@ func testVerifyProvedBatchesOnStartup(t *testing.T) { handler.Shutdown(context.Background()) rollerManager.Stop() + // assume that previous manager didn't verify task + err = l2db.UpdateProvingStatus(ids[0], orm.ProvingTaskProved) + assert.NoError(t, err) + // Setup new coordinator and ws server. - newRollerManager, newHandler := setupCoordinator(t, cfg.DBConfig, 1, wsURL, false) - - // verify that task is proved - for i := range ids { - info, err := newRollerManager.GetSessionInfo(ids[i]) - assert.Equal(t, orm.ProvingTaskAssigned.String(), info.Status) - assert.NoError(t, err) - - // at this point, roller haven't submitted - status, err := l2db.GetProvingStatusByID(ids[i]) - assert.NoError(t, err) - assert.Equal(t, orm.ProvingTaskProved, status) - } - - // Wait for coordinator to verify task - <-time.After(6 * time.Second) + newRollerManager, newHandler := setupCoordinator(t, cfg.DBConfig, 1, wsURL) defer func() { newHandler.Shutdown(context.Background()) newRollerManager.Stop() @@ -543,14 +532,14 @@ func testVerifyProvedBatchesOnStartup(t *testing.T) { } } -func setupCoordinator(t *testing.T, dbCfg *database.DBConfig, rollersPerSession uint8, wsURL string, longMockMode bool) (rollerManager *coordinator.Manager, handler *http.Server) { +func setupCoordinator(t *testing.T, dbCfg *database.DBConfig, rollersPerSession uint8, wsURL string) (rollerManager *coordinator.Manager, handler *http.Server) { // Get db handler. db, err := database.NewOrmFactory(dbCfg) assert.True(t, assert.NoError(t, err), "failed to get db handler.") rollerManager, err = coordinator.New(context.Background(), &coordinator_config.RollerManagerConfig{ RollersPerSession: rollersPerSession, - Verifier: &coordinator_config.VerifierConfig{MockMode: true, LongMockMode: longMockMode}, + Verifier: &coordinator_config.VerifierConfig{MockMode: true}, CollectionTime: 1, TokenTimeToLive: 5, }, db, nil) diff --git a/coordinator/verifier/verifier.go b/coordinator/verifier/verifier.go index e829d5435..728d52216 100644 --- a/coordinator/verifier/verifier.go +++ b/coordinator/verifier/verifier.go @@ -12,7 +12,6 @@ import "C" //nolint:typecheck import ( "encoding/json" - "time" "unsafe" "github.com/scroll-tech/go-ethereum/log" @@ -47,9 +46,6 @@ func NewVerifier(cfg *config.VerifierConfig) (*Verifier, error) { // VerifyProof Verify a ZkProof by marshaling it and sending it to the Halo2 Verifier. func (v *Verifier) VerifyProof(proof *message.AggProof) (bool, error) { if v.cfg.MockMode { - if v.cfg.LongMockMode { - <-time.After(10 * time.Second) - } log.Info("Verifier disabled, VerifyProof skipped") return true, nil @@ -67,4 +63,5 @@ func (v *Verifier) VerifyProof(proof *message.AggProof) (bool, error) { log.Info("Start to verify proof ...") verified := C.verify_agg_proof(aggProofStr) return verified != 0, nil + return true, nil }