Skip to content

Commit 1085c79

Browse files
author
brenno.rodrigues
committed
test: add lspec testing framework
1 parent 5641de3 commit 1085c79

File tree

4 files changed

+61
-2
lines changed

4 files changed

+61
-2
lines changed

.github/workflows/lspec.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: "LSpec CI"
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- master
7+
jobs:
8+
build:
9+
name: Build
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: install elan
13+
run: |
14+
set -o pipefail
15+
curl -sSfL https://github.com/leanprover/elan/releases/download/v4.0.0/elan-x86_64-unknown-linux-gnu.tar.gz | tar xz
16+
./elan-init -y --default-toolchain none
17+
echo "$HOME/.elan/bin" >> $GITHUB_PATH
18+
- uses: actions/checkout@v2
19+
- name: run LSpec binary
20+
run: lake exe lspec

Tests/Sqlite.lean

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import LSpec
2+
3+
open LSpec
4+
5+
def fourIO : IO Nat :=
6+
pure 4
7+
8+
def fiveIO : IO Nat :=
9+
pure 5
10+
11+
def main := do
12+
let four ← fourIO
13+
let five ← fiveIO
14+
lspecIO $
15+
test "fourIO equals 4" (four = 4) $
16+
test "fiveIO equals 5" (five = 5)
17+
18+
#check main
19+
#eval main
20+
21+
#lspec
22+
test "four equals four" (4 = 4) $
23+
test "five equals five" (5 = 5)

lake-manifest.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
{"version": "1.1.0",
22
"packagesDir": ".lake/packages",
3-
"packages": [],
4-
"name": "ffi",
3+
"packages":
4+
[{"url": "https://github.com/argumentcomputer/lspec/",
5+
"type": "git",
6+
"subDir": null,
7+
"scope": "",
8+
"rev": "8a51034d049c6a229d88dd62f490778a377eec06",
9+
"name": "LSpec",
10+
"manifestFile": "lake-manifest.json",
11+
"inputRev": "8a51034d049c6a229d88dd62f490778a377eec06",
12+
"inherited": false,
13+
"configFile": "lakefile.lean"}],
14+
"name": "sqlite",
515
"lakeDir": ".lake"}

lakefile.lean

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ lean_exe sqlite where
1010
root := `Main
1111
moreLinkArgs := #["-lsqlite3"]
1212

13+
lean_exe Tests.Sqlite where
14+
moreLinkArgs := #["-lsqlite3"]
15+
1316
target sqliteffi.o pkg : FilePath := do
1417
let oFile := pkg.buildDir / "native" / "sqliteffi.o"
1518
let srcJob ← inputTextFile <| pkg.dir / "native" / "ffi.c"
@@ -20,3 +23,6 @@ extern_lib libsqliteffi pkg := do
2023
let ffiO ← sqliteffi.o.fetch
2124
let name := nameToStaticLib "sqliteffi"
2225
buildStaticLib (pkg.nativeLibDir / name) #[ffiO]
26+
27+
require LSpec from git
28+
"https://github.com/argumentcomputer/lspec/" @ "8a51034d049c6a229d88dd62f490778a377eec06"

0 commit comments

Comments
 (0)