chore: v0.2.1 (#6)

This commit is contained in:
Jacek Sieka 2025-12-11 12:14:30 +01:00 committed by GitHub
parent 378ef63e26
commit 5a0cd8de6b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 26 additions and 24 deletions

View File

@ -13,9 +13,10 @@ jobs:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: with:
submodules: true submodules: true
- uses: iffy/install-nim@v4 - uses: jiro4989/setup-nim-action@v2
with: with:
version: ${{ matrix.nim }} nim-version: ${{matrix.nim}}
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build - name: Build
run: nimble install -y run: nimble install -y
- name: Test - name: Test

View File

@ -1,6 +1,6 @@
# Package # Package
version = "0.2.0" version = "0.2.1"
author = "leveldbstatic authors" author = "leveldbstatic authors"
description = "Statically linked LevelDB wrapper for Nim" description = "Statically linked LevelDB wrapper for Nim"
license = "MIT" license = "MIT"

View File

@ -21,7 +21,10 @@ proc execNimble(args: varargs[string]): tuple[output: string, exitCode: int] =
quotedArgs.insert("-y") quotedArgs.insert("-y")
quotedArgs.insert("--nimbleDir:" & tmpNimbleDir) quotedArgs.insert("--nimbleDir:" & tmpNimbleDir)
quotedArgs.insert("nimble") quotedArgs.insert("nimble")
quotedArgs = quotedArgs.map(proc (x: string): string = "\"" & x & "\"") quotedArgs = quotedArgs.map(
proc(x: string): string =
"\"" & x & "\""
)
let cmd = quotedArgs.join(" ") let cmd = quotedArgs.join(" ")
result = execCmdEx(cmd) result = execCmdEx(cmd)
@ -33,7 +36,10 @@ proc execTool(args: varargs[string]): tuple[output: string, exitCode: int] =
quotedArgs.insert(tmpDbDir) quotedArgs.insert(tmpDbDir)
quotedArgs.insert("--database") quotedArgs.insert("--database")
quotedArgs.insert(findExe(tmpNimbleDir / "bin" / "leveldbtool")) quotedArgs.insert(findExe(tmpNimbleDir / "bin" / "leveldbtool"))
quotedArgs = quotedArgs.map(proc (x: string): string = "\"" & x & "\"") quotedArgs = quotedArgs.map(
proc(x: string): string =
"\"" & x & "\""
)
if not dirExists(tmpDbDir): if not dirExists(tmpDbDir):
createDir(tmpDbDir) createDir(tmpDbDir)
@ -96,33 +102,27 @@ suite "leveldb":
test "iter reverse": test "iter reverse":
initData(db) initData(db)
check(toSeq(db.iter(reverse = true)) == check(toSeq(db.iter(reverse = true)) == @[("bb", "3"), ("ba", "2"), ("aa", "1")])
@[("bb", "3"), ("ba", "2"), ("aa", "1")])
test "iter seek": test "iter seek":
initData(db) initData(db)
check(toSeq(db.iter(seek = "ab")) == check(toSeq(db.iter(seek = "ab")) == @[("ba", "2"), ("bb", "3")])
@[("ba", "2"), ("bb", "3")])
test "iter seek reverse": test "iter seek reverse":
initData(db) initData(db)
check(toSeq(db.iter(seek = "ab", reverse = true)) == check(toSeq(db.iter(seek = "ab", reverse = true)) == @[("ba", "2"), ("aa", "1")])
@[("ba", "2"), ("aa", "1")])
test "iter prefix": test "iter prefix":
initData(db) initData(db)
check(toSeq(db.iterPrefix(prefix = "b")) == check(toSeq(db.iterPrefix(prefix = "b")) == @[("ba", "2"), ("bb", "3")])
@[("ba", "2"), ("bb", "3")])
test "iter range": test "iter range":
initData(db) initData(db)
check(toSeq(db.iterRange(start = "a", limit = "ba")) == check(toSeq(db.iterRange(start = "a", limit = "ba")) == @[("aa", "1"), ("ba", "2")])
@[("aa", "1"), ("ba", "2")])
test "iter range reverse": test "iter range reverse":
initData(db) initData(db)
check(toSeq(db.iterRange(start = "bb", limit = "b")) == check(toSeq(db.iterRange(start = "bb", limit = "b")) == @[("bb", "3"), ("ba", "2")])
@[("bb", "3"), ("ba", "2")])
test "iter with 0x00": test "iter with 0x00":
db.put("\0z1", "\0ff") db.put("\0z1", "\0ff")
@ -200,7 +200,8 @@ suite "leveldb":
test "no compress": test "no compress":
db.close() db.close()
let nc = leveldb.open(dbName, compressionType = ctNoCompression) let nc = leveldb.open(dbName, compressionType = ctNoCompression)
defer: nc.close() defer:
nc.close()
nc.put("a", "1") nc.put("a", "1")
check(toSeq(nc.iter()) == @[("a", "1")]) check(toSeq(nc.iter()) == @[("a", "1")])
@ -426,8 +427,7 @@ suite "leveldb queryIter":
iter2.finished iter2.finished
test "modify while iterating": test "modify while iterating":
let let iter = db.queryIter()
iter = db.queryIter()
check: check:
not iter.finished not iter.finished
@ -455,9 +455,10 @@ suite "package":
test "import as package": test "import as package":
let (output, exitCode) = execNimble("install") let (output, exitCode) = execNimble("install")
check exitCode == QuitSuccess check exitCode == QuitSuccess
check output.contains("leveldbstatic installed successfully.") check output.contains("leveldbstatic installed successfully.") or
output.contains("LevelDB already build")
cd "tests"/"packagetest": cd "tests" / "packagetest":
var (output, exitCode) = execNimble("build") var (output, exitCode) = execNimble("build")
check exitCode == QuitSuccess check exitCode == QuitSuccess
check output.contains("Building") check output.contains("Building")