Skip to content

Commit d1cf4c1

Browse files
mkaputcptartur
authored andcommitted
Add oracles test
commit-id:adef9534 # Conflicts: # Cargo.lock # Conflicts: # .tool-versions
1 parent 8464eec commit d1cf4c1

File tree

10 files changed

+596
-0
lines changed

10 files changed

+596
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[package]
2+
name = "oracles"
3+
version = "0.1.0"
4+
edition = "2024_07"
5+
assets = ["wasm_oracle.wasm"]
6+
7+
#[[target.starknet-contract]]
8+
#sierra = true
9+
10+
[dependencies]
11+
oracle = "1"
12+
starknet = "2.4.0"
13+
14+
[dev-dependencies]
15+
snforge_std = { path = "../../../../../snforge_std" }
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/usr/bin/env sh
2+
set -ex
3+
4+
# Run this script to generate wasm fixtures from their sources.
5+
# Prebuilt fixtures are expected to be commited to the repository.
6+
7+
cd "$(dirname "$0")"
8+
9+
cargo build --manifest-path=wasm_oracle/Cargo.toml --release --target wasm32-wasip2
10+
cp wasm_oracle/target/wasm32-wasip2/release/wasm_oracle.wasm .
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
use core::panics::panic_with_byte_array;
2+
3+
mod wasm_oracle {
4+
pub fn add(left: u64, right: u64) -> oracle::Result<u64> {
5+
oracle::invoke("wasm:wasm_oracle.wasm", "add", (left, right))
6+
}
7+
8+
pub fn err() -> oracle::Result<Result<ByteArray, ByteArray>> {
9+
oracle::invoke("wasm:wasm_oracle.wasm", "err", ())
10+
}
11+
12+
pub fn panic() -> oracle::Result<Result<ByteArray, ByteArray>> {
13+
oracle::invoke("wasm:wasm_oracle.wasm", "panic", ())
14+
}
15+
}
16+
17+
#[test]
18+
fn add() {
19+
assert!(wasm_oracle::add(2, 3) == Ok(5));
20+
}
21+
22+
#[test]
23+
fn err() {
24+
assert!(wasm_oracle::err() == Ok(Err("failed hard")));
25+
}
26+
27+
#[should_panic]
28+
#[test]
29+
fn panic() {
30+
wasm_oracle::panic().unwrap().unwrap();
31+
}
32+
33+
#[test]
34+
fn unexpected_panic() {
35+
wasm_oracle::panic().unwrap().unwrap();
36+
}
37+
38+
#[test]
39+
fn panic_contents() {
40+
let err = wasm_oracle::panic().unwrap_err();
41+
// Panic with error so we get better error than "unwrap failed"
42+
panic_with_byte_array(@format!("{}", err))
43+
}
68.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)