github.com/klaytn/klaytn@v1.12.1/storage/database/rocksdb_database_test.go (about) 1 // Copyright 2023 The klaytn Authors 2 // This file is part of the klaytn library. 3 // 4 // The klaytn library is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU Lesser General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // The klaytn library is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU Lesser General Public License for more details. 13 // 14 // You should have received a copy of the GNU Lesser General Public License 15 // along with the klaytn library. If not, see <http://www.gnu.org/licenses/>. 16 17 //go:build rocksdb 18 // +build rocksdb 19 20 package database 21 22 import ( 23 "os" 24 ) 25 26 func init() { 27 testDatabases = append(testDatabases, newTestRocksDB) 28 addRocksDB = true 29 } 30 31 func newTestRocksDB() (Database, func(), string) { 32 dirName, err := os.MkdirTemp(os.TempDir(), "klay_rocksdb_test_") 33 if err != nil { 34 panic("failed to create test file: " + err.Error()) 35 } 36 config := GetDefaultRocksDBConfig() 37 config.DisableMetrics = true 38 db, err := NewRocksDB(dirName, config) 39 if err != nil { 40 panic("failed to create new rocksdb: " + err.Error()) 41 } 42 43 return db, func() { 44 db.Close() 45 os.RemoveAll(dirName) 46 }, "rdb" 47 }