Skip to content

Commit

Permalink
Merge branch 'main' into fix/make-warnings
Browse files Browse the repository at this point in the history
# Conflicts:
#	c/tester.js
#	wasm/tester.js
  • Loading branch information
OBrezhniev committed Sep 14, 2023
2 parents d92e0e5 + 7f13f84 commit 1405005
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 8 deletions.
36 changes: 35 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,36 @@
# circom_tester
# circom tester
## Setup
1. Create new node js project.
2. Install `circom_tester` and `chai` packges.
3. Install `mocha` packge to run the tests.


## Creating & Running a test file

Create a js file contain the following code or use the src provided in the following section.
<br>Execue `mocha -p -r ts-node/register 'multiplier2.js'` to run the test file.

multiplier2.js ([src](test/multiplier2.js))
``` multiplier2.js
const chai = require("chai");
const path = require("path");
const wasm_tester = require("./../index").wasm;
const c_tester = require("./../index").c;

const F1Field = require("ffjavascript").F1Field;
const Scalar = require("ffjavascript").Scalar;
exports.p = Scalar.fromString("21888242871839275222246405745257275088548364400416034343698204186575808495617");
const Fr = new F1Field(exports.p);

const assert = chai.assert;

describe("Simple test", function () {
this.timeout(100000);

it("Checking the compilation of a simple circuit generating wasm", async function () {
const circuit = await wasm_tester(path.join(__dirname, "Multiplier2circom"));
const w = await circuit.calculateWitness({a: 2, b: 4});
await circuit.checkConstraints(w);
});
});
```
8 changes: 4 additions & 4 deletions c/tester.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,16 +78,16 @@ async function compile (baseName, fileName, options) {
if (options.verbose) flags += "--verbose ";

try {
let b = await exec("circom " + flags + fileName);
let b = await exec("circom " + flags + fileName);
if (options.verbose) {
console.log(b.stdout);
}
}
if (b.stderr) {
console.error(b.stderr);
}
} catch (e) {
assert(false,
"circom compiler error \n" + e);
assert(false,
"circom compiler error \n" + e);
}

const c_folder = path.join(options.output, baseName+"_cpp/")
Expand Down
6 changes: 3 additions & 3 deletions wasm/tester.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,16 +83,16 @@ async function compile (fileName, options) {
if (options.verbose) flags += "--verbose ";

try {
let b = await exec("circom " + flags + fileName);
let b = await exec("circom " + flags + fileName);
if (options.verbose) {
console.log(b.stdout);
}
if (b.stderr) {
console.error(b.stderr);
}
} catch (e) {
assert(false,
"circom compiler error \n" + e);
assert(false,
"circom compiler error \n" + e);
}
}

Expand Down

0 comments on commit 1405005

Please sign in to comment.