Skip to content

Commit a9867c8

Browse files
author
mike dupont
committed
now attempting to use unit tests
1 parent 59401d6 commit a9867c8

10 files changed

+287
-184
lines changed

.github/workflows/run-docker-unit-tests.yml

+50-51
Original file line numberDiff line numberDiff line change
@@ -21,57 +21,56 @@ jobs:
2121
strategy:
2222
matrix:
2323
tests:
24-
- "/app/dist/node/lib/util/base58.unit-test.js"
25-
- "/app/dist/node/lib/ml/consistency.unit-test.js"
26-
- "/app/dist/node/lib/mina/account-update.unit-test.js"
27-
- "/app/dist/node/lib/mina/hash-input.unit-test.js"
28-
- "/app/dist/node/lib/mina/mina.unit-test.js"
29-
- "/app/dist/node/lib/mina/actions/offchain-contract.unit-test.js"
30-
- "/app/dist/node/lib/mina/actions/batch-reducer.unit-test.js"
31-
- "/app/dist/node/lib/mina/actions/batch-reducer-program.unit-test.js"
32-
- "/app/dist/node/lib/mina/test/dynamic-call.unit-test.js"
33-
- "/app/dist/node/lib/mina/token/forest-iterator.unit-test.js"
34-
- "/app/dist/node/lib/mina/token/token-contract.unit-test.js"
35-
- "/app/dist/node/lib/mina/fetch.unit-test.js"
36-
- "/app/dist/node/lib/mina/account-update-layout.unit-test.js"
37-
- "/app/dist/node/lib/proof-system/proof-system.unit-test.js"
38-
- "/app/dist/node/lib/proof-system/sideloaded.unit-test.js"
39-
- "/app/dist/node/lib/provable/test/bitwise.unit-test.js"
40-
- "/app/dist/node/lib/provable/test/base64.unit-test.js"
41-
- "/app/dist/node/lib/provable/test/field.unit-test.js"
42-
- "/app/dist/node/lib/provable/test/nullifier.unit-test.js"
43-
- "/app/dist/node/lib/provable/test/provable.unit-test.js"
44-
- "/app/dist/node/lib/provable/test/sha256.unit-test.js"
45-
- "/app/dist/node/lib/provable/test/string.unit-test.js"
46-
- "/app/dist/node/lib/provable/test/range-check.unit-test.js"
47-
- "/app/dist/node/lib/provable/test/foreign-field.unit-test.js"
48-
- "/app/dist/node/lib/provable/test/group.unit-test.js"
49-
- "/app/dist/node/lib/provable/test/custom-gates-recursion.unit-test.js"
50-
- "/app/dist/node/lib/provable/test/foreign-curve.unit-test.js"
51-
- "/app/dist/node/lib/provable/test/foreign-field-gadgets.unit-test.js"
52-
- "/app/dist/node/lib/provable/test/elliptic-curve.unit-test.js"
53-
- "/app/dist/node/lib/provable/test/lookup.unit-test.js"
54-
- "/app/dist/node/lib/provable/test/ecdsa.unit-test.js"
55-
- "/app/dist/node/lib/provable/test/arithmetic.unit-test.js"
56-
- "/app/dist/node/lib/provable/test/primitives.unit-test.js"
57-
- "/app/dist/node/lib/provable/test/keccak.unit-test.js"
58-
- "/app/dist/node/lib/provable/test/struct.unit-test.js"
59-
- "/app/dist/node/lib/provable/test/merkle-tree.unit-test.js"
60-
- "/app/dist/node/lib/testing/testing.unit-test.js"
61-
- "/app/dist/node/mina-signer/tests/verify-in-snark.unit-test.js"
62-
- "/app/dist/node/mina-signer/tests/zkapp.unit-test.js"
63-
- "/app/dist/node/mina-signer/src/sign-legacy.unit-test.js"
64-
- "/app/dist/node/mina-signer/src/transaction-hash.unit-test.js"
65-
- "/app/dist/node/mina-signer/src/signature.unit-test.js"
66-
- "/app/dist/node/mina-signer/src/sign-zkapp-command.unit-test.js"
67-
- "/app/dist/node/bindings/lib/binable.unit-test.js"
68-
- "/app/dist/node/bindings/crypto/bigint.unit-test.js"
69-
- "/app/dist/node/bindings/crypto/finite-field.unit-test.js"
70-
- "/app/dist/node/bindings/crypto/glv.unit-test.js"
71-
- "/app/dist/node/bindings/crypto/poseidon.unit-test.js"
72-
- "/app/dist/node/bindings/crypto/bindings/bindings.unit-test.js"
73-
- "/app/dist/node/bindings/crypto/elliptic-curve.unit-test.js"
74-
24+
- "/app/src/lib/util/base58.unit-test.ts"
25+
- "/app/src/lib/ml/consistency.unit-test.ts"
26+
- "/app/src/lib/mina/account-update.unit-test.ts"
27+
- "/app/src/lib/mina/hash-input.unit-test.ts"
28+
- "/app/src/lib/mina/mina.unit-test.ts"
29+
- "/app/src/lib/mina/actions/offchain-contract.unit-test.ts"
30+
- "/app/src/lib/mina/actions/batch-reducer.unit-test.ts"
31+
- "/app/src/lib/mina/actions/batch-reducer-program.unit-test.ts"
32+
- "/app/src/lib/mina/test/dynamic-call.unit-test.ts"
33+
- "/app/src/lib/mina/token/forest-iterator.unit-test.ts"
34+
- "/app/src/lib/mina/token/token-contract.unit-test.ts"
35+
- "/app/src/lib/mina/fetch.unit-test.ts"
36+
- "/app/src/lib/mina/account-update-layout.unit-test.ts"
37+
- "/app/src/lib/proof-system/proof-system.unit-test.ts"
38+
- "/app/src/lib/proof-system/sideloaded.unit-test.ts"
39+
- "/app/src/lib/provable/test/bitwise.unit-test.ts"
40+
- "/app/src/lib/provable/test/base64.unit-test.ts"
41+
- "/app/src/lib/provable/test/field.unit-test.ts"
42+
- "/app/src/lib/provable/test/nullifier.unit-test.ts"
43+
- "/app/src/lib/provable/test/provable.unit-test.ts"
44+
- "/app/src/lib/provable/test/sha256.unit-test.ts"
45+
- "/app/src/lib/provable/test/string.unit-test.ts"
46+
- "/app/src/lib/provable/test/range-check.unit-test.ts"
47+
- "/app/src/lib/provable/test/foreign-field.unit-test.ts"
48+
- "/app/src/lib/provable/test/group.unit-test.ts"
49+
- "/app/src/lib/provable/test/custom-gates-recursion.unit-test.ts"
50+
- "/app/src/lib/provable/test/foreign-curve.unit-test.ts"
51+
- "/app/src/lib/provable/test/foreign-field-gadgets.unit-test.ts"
52+
- "/app/src/lib/provable/test/elliptic-curve.unit-test.ts"
53+
- "/app/src/lib/provable/test/lookup.unit-test.ts"
54+
- "/app/src/lib/provable/test/ecdsa.unit-test.ts"
55+
- "/app/src/lib/provable/test/arithmetic.unit-test.ts"
56+
- "/app/src/lib/provable/test/primitives.unit-test.ts"
57+
- "/app/src/lib/provable/test/keccak.unit-test.ts"
58+
- "/app/src/lib/provable/test/struct.unit-test.ts"
59+
- "/app/src/lib/provable/test/merkle-tree.unit-test.ts"
60+
- "/app/src/lib/testing/testing.unit-test.ts"
61+
- "/app/src/mina-signer/tests/verify-in-snark.unit-test.ts"
62+
- "/app/src/mina-signer/tests/zkapp.unit-test.ts"
63+
- "/app/src/mina-signer/src/sign-legacy.unit-test.ts"
64+
- "/app/src/mina-signer/src/transaction-hash.unit-test.ts"
65+
- "/app/src/mina-signer/src/signature.unit-test.ts"
66+
- "/app/src/mina-signer/src/sign-zkapp-command.unit-test.ts"
67+
- "/app/src/bindings/lib/binable.unit-test.ts"
68+
- "/app/src/bindings/crypto/bigint.unit-test.ts"
69+
- "/app/src/bindings/crypto/finite-field.unit-test.ts"
70+
- "/app/src/bindings/crypto/glv.unit-test.ts"
71+
- "/app/src/bindings/crypto/poseidon.unit-test.ts"
72+
- "/app/src/bindings/crypto/bindings/bindings.unit-test.ts"
73+
- "/app/src/bindings/crypto/elliptic-curve.unit-test.ts"
7574
runs-on: ubuntu-latest
7675
steps:
7776
- name: Sets NAME

Makefile

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
unit-tests:
2+
docker compose build unit-tests
3+
TESTS="/app/dist/node/lib/util/base58.unit-test.js" docker compose up unit-tests
4+
15
test:
26
docker compose build mina-local-network
37
docker compose up mina-local-network

docker-compose.yml

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
version: '3'
2-
31
services:
42
mina-local-network:
53
restart: no
@@ -49,7 +47,7 @@ services:
4947
# mount the source
5048
volumes:
5149
- type: bind
52-
source: "/home/runner/work/o1js/o1js/"
50+
source: "."
5351
target: "/opt/introspector/test/"
5452
cap_add:
5553
- SYS_PTRACE
@@ -71,7 +69,6 @@ services:
7169
environment:
7270
- PROOF_LEVEL=full
7371
- LOG_LEVEL=Debug
74-
- WORKSPACE_DIR=$WORKSPACE_DIR
7572
working_dir: /app
7673
command: "bash -x /app/perf-reporting/perf-report.sh"
7774

@@ -94,6 +91,5 @@ services:
9491
environment:
9592
- PROOF_LEVEL=full
9693
- LOG_LEVEL=Debug
97-
- WORKSPACE_DIR=$WORKSPACE_DIR
9894
working_dir: /app
9995
command: "bash -x /app/perf-reporting/perf-report.sh"

jest.config.js

-13
This file was deleted.

package.json

+32-1
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,37 @@
115115
"npm": "10.8.3",
116116
"reflect-metadata": "^0.1.13",
117117
"ts-jest": "^29.2.5",
118+
"ts-node": "^10.9.2",
118119
"tslib": "^2.3.0"
119-
}
120+
},
121+
122+
"jest": {
123+
"verbose": true,
124+
"preset": "ts-jest/presets/default-esm",
125+
"testRegex": "(/__tests__/.*|(\\.|/)(test|unit-test))\\.(js?|ts?)$",
126+
"modulePathIgnorePatterns": [
127+
"<rootDir>/dist/",
128+
"<rootDir>/node_modules/"
129+
],
130+
"extensionsToTreatAsEsm": [
131+
".ts"
132+
],
133+
"moduleNameMapper": {
134+
"^(\\.{1,2}/.*)\\.js$": "$1"
135+
},
136+
"transform": {
137+
"^.+\\.(mt|t|cj|j)s$": [
138+
"ts-jest",
139+
{
140+
"useESM": true
141+
}
142+
]
143+
},
144+
"globals": {
145+
"ts-jest": {
146+
"useESM": true
147+
}
148+
}
149+
}
150+
120151
}

0 commit comments

Comments
 (0)