Skip to content

Commit 3ef8435

Browse files
committed
test: Remove impls of DeprecatedSnippet
changelog: ignore
1 parent 5f24291 commit 3ef8435

File tree

1 file changed

+57
-173
lines changed

1 file changed

+57
-173
lines changed

tasm-lib/src/library.rs

Lines changed: 57 additions & 173 deletions
Original file line numberDiff line numberDiff line change
@@ -174,18 +174,15 @@ impl Library {
174174

175175
#[cfg(test)]
176176
mod tests {
177-
use std::collections::HashMap;
178-
179-
use num::One;
180177
use triton_vm::prelude::triton_asm;
181178
use triton_vm::prelude::Program;
182179

183180
use super::*;
184-
use crate::empty_stack;
185-
use crate::memory::memcpy::MemCpy;
186181
use crate::mmr::calculate_new_peaks_from_leaf_mutation::MmrCalculateNewPeaksFromLeafMutationMtIndices;
187-
use crate::test_helpers::test_rust_equivalence_given_input_values_deprecated;
188-
use crate::traits::deprecated_snippet::DeprecatedSnippet;
182+
use crate::test_prelude::*;
183+
184+
#[derive(Debug, Copy, Clone, BFieldCodec)]
185+
struct ZeroSizedType;
189186

190187
#[derive(Debug)]
191188
struct DummyTestSnippetA;
@@ -196,232 +193,119 @@ mod tests {
196193
#[derive(Debug)]
197194
struct DummyTestSnippetC;
198195

199-
impl DeprecatedSnippet for DummyTestSnippetA {
200-
fn entrypoint_name(&self) -> String {
201-
"tasmlib_a_dummy_test_value".to_string()
202-
}
203-
204-
fn input_field_names(&self) -> Vec<String> {
205-
vec![]
206-
}
207-
208-
fn input_types(&self) -> Vec<DataType> {
196+
impl BasicSnippet for DummyTestSnippetA {
197+
fn inputs(&self) -> Vec<(DataType, String)> {
209198
vec![]
210199
}
211200

212-
fn output_field_names(&self) -> Vec<String> {
213-
vec!["1".to_string(), "1".to_string(), "1".to_string()]
201+
fn outputs(&self) -> Vec<(DataType, String)> {
202+
vec![(DataType::Xfe, "dummy".to_string())]
214203
}
215204

216-
fn output_types(&self) -> Vec<DataType> {
217-
vec![DataType::Bfe, DataType::Bfe, DataType::Bfe]
218-
}
219-
220-
fn stack_diff(&self) -> isize {
221-
3
205+
fn entrypoint(&self) -> String {
206+
"tasmlib_a_dummy_test_value".to_string()
222207
}
223208

224-
fn function_code(&self, library: &mut Library) -> String {
225-
let entrypoint = self.entrypoint_name();
209+
fn code(&self, library: &mut Library) -> Vec<LabelledInstruction> {
226210
let b = library.import(Box::new(DummyTestSnippetB));
227211
let c = library.import(Box::new(DummyTestSnippetC));
228212

229-
format!(
230-
"
231-
{entrypoint}:
213+
triton_asm!(
214+
{self.entrypoint()}:
232215
call {b}
233216
call {c}
234217
return
235-
"
236218
)
237219
}
238-
239-
fn crash_conditions(&self) -> Vec<String> {
240-
vec![]
241-
}
242-
243-
fn gen_input_states(&self) -> Vec<crate::InitVmState> {
244-
vec![]
245-
}
246-
247-
fn common_case_input_state(&self) -> crate::InitVmState {
248-
todo!()
249-
}
250-
251-
fn worst_case_input_state(&self) -> crate::InitVmState {
252-
todo!()
253-
}
254-
255-
fn rust_shadowing(
256-
&self,
257-
stack: &mut Vec<BFieldElement>,
258-
_std_in: Vec<BFieldElement>,
259-
_secret_in: Vec<BFieldElement>,
260-
_memory: &mut HashMap<BFieldElement, BFieldElement>,
261-
) {
262-
stack.push(BFieldElement::one());
263-
stack.push(BFieldElement::one());
264-
stack.push(BFieldElement::one());
265-
}
266220
}
267221

268-
impl DeprecatedSnippet for DummyTestSnippetB {
269-
fn entrypoint_name(&self) -> String {
270-
"tasmlib_b_dummy_test_value".to_string()
271-
}
272-
273-
fn input_field_names(&self) -> Vec<String> {
222+
impl BasicSnippet for DummyTestSnippetB {
223+
fn inputs(&self) -> Vec<(DataType, String)> {
274224
vec![]
275225
}
276226

277-
fn input_types(&self) -> Vec<DataType> {
278-
vec![]
227+
fn outputs(&self) -> Vec<(DataType, String)> {
228+
["1"; 2]
229+
.map(|name| (DataType::Bfe, name.to_string()))
230+
.to_vec()
279231
}
280232

281-
fn output_field_names(&self) -> Vec<String> {
282-
vec!["1".to_string(), "1".to_string()]
283-
}
284-
285-
fn output_types(&self) -> Vec<DataType> {
286-
vec![DataType::Bfe, DataType::Bfe]
287-
}
288-
289-
fn stack_diff(&self) -> isize {
290-
2
233+
fn entrypoint(&self) -> String {
234+
"tasmlib_b_dummy_test_value".to_string()
291235
}
292236

293-
fn function_code(&self, library: &mut Library) -> String {
294-
let entrypoint = self.entrypoint_name();
237+
fn code(&self, library: &mut Library) -> Vec<LabelledInstruction> {
295238
let c = library.import(Box::new(DummyTestSnippetC));
296239

297-
format!(
298-
"
299-
{entrypoint}:
240+
triton_asm!(
241+
{self.entrypoint()}:
300242
call {c}
301243
call {c}
302244
return
303-
"
304245
)
305246
}
247+
}
306248

307-
fn crash_conditions(&self) -> Vec<String> {
308-
vec![]
309-
}
310-
311-
fn gen_input_states(&self) -> Vec<crate::InitVmState> {
249+
impl BasicSnippet for DummyTestSnippetC {
250+
fn inputs(&self) -> Vec<(DataType, String)> {
312251
vec![]
313252
}
314253

315-
fn common_case_input_state(&self) -> crate::InitVmState {
316-
todo!()
317-
}
318-
319-
fn worst_case_input_state(&self) -> crate::InitVmState {
320-
todo!()
254+
fn outputs(&self) -> Vec<(DataType, String)> {
255+
vec![(DataType::Bfe, "1".to_string())]
321256
}
322257

323-
fn rust_shadowing(
324-
&self,
325-
stack: &mut Vec<BFieldElement>,
326-
_std_in: Vec<BFieldElement>,
327-
_secret_in: Vec<BFieldElement>,
328-
_memory: &mut HashMap<BFieldElement, BFieldElement>,
329-
) {
330-
stack.push(BFieldElement::one());
331-
stack.push(BFieldElement::one());
332-
}
333-
}
334-
335-
impl DeprecatedSnippet for DummyTestSnippetC {
336-
fn entrypoint_name(&self) -> String {
258+
fn entrypoint(&self) -> String {
337259
"tasmlib_c_dummy_test_value".to_string()
338260
}
339261

340-
fn input_field_names(&self) -> Vec<String> {
341-
vec![]
342-
}
343-
344-
fn input_types(&self) -> Vec<DataType> {
345-
vec![]
262+
fn code(&self, _: &mut Library) -> Vec<LabelledInstruction> {
263+
triton_asm!({self.entrypoint()}: push 1 return)
346264
}
265+
}
347266

348-
fn output_field_names(&self) -> Vec<String> {
349-
vec!["1".to_string()]
350-
}
267+
impl Closure for DummyTestSnippetA {
268+
type Args = ZeroSizedType;
351269

352-
fn output_types(&self) -> Vec<DataType> {
353-
vec![DataType::Bfe]
270+
fn rust_shadow(&self, stack: &mut Vec<BFieldElement>) {
271+
push_encodable(stack, &xfe![[1, 1, 1]]);
354272
}
355273

356-
fn stack_diff(&self) -> isize {
357-
1
274+
fn pseudorandom_args(&self, _: [u8; 32], _: Option<BenchmarkCase>) -> Self::Args {
275+
ZeroSizedType
358276
}
277+
}
359278

360-
fn function_code(&self, _library: &mut Library) -> String {
361-
let entrypoint = self.entrypoint_name();
362-
363-
format!(
364-
"
365-
{entrypoint}:
366-
push 1
367-
return
368-
"
369-
)
370-
}
279+
impl Closure for DummyTestSnippetB {
280+
type Args = ZeroSizedType;
371281

372-
fn crash_conditions(&self) -> Vec<String> {
373-
vec![]
282+
fn rust_shadow(&self, stack: &mut Vec<BFieldElement>) {
283+
stack.push(bfe!(1));
284+
stack.push(bfe!(1));
374285
}
375286

376-
fn gen_input_states(&self) -> Vec<crate::InitVmState> {
377-
vec![]
287+
fn pseudorandom_args(&self, _: [u8; 32], _: Option<BenchmarkCase>) -> Self::Args {
288+
ZeroSizedType
378289
}
290+
}
379291

380-
fn common_case_input_state(&self) -> crate::InitVmState {
381-
todo!()
382-
}
292+
impl Closure for DummyTestSnippetC {
293+
type Args = ZeroSizedType;
383294

384-
fn worst_case_input_state(&self) -> crate::InitVmState {
385-
todo!()
295+
fn rust_shadow(&self, stack: &mut Vec<BFieldElement>) {
296+
stack.push(bfe!(1));
386297
}
387298

388-
fn rust_shadowing(
389-
&self,
390-
stack: &mut Vec<BFieldElement>,
391-
_std_in: Vec<BFieldElement>,
392-
_secret_in: Vec<BFieldElement>,
393-
_memory: &mut HashMap<BFieldElement, BFieldElement>,
394-
) {
395-
stack.push(BFieldElement::one())
299+
fn pseudorandom_args(&self, _: [u8; 32], _: Option<BenchmarkCase>) -> Self::Args {
300+
ZeroSizedType
396301
}
397302
}
398303

399304
#[test]
400305
fn library_includes() {
401-
let empty_stack = empty_stack();
402-
403-
let expected = None;
404-
test_rust_equivalence_given_input_values_deprecated(
405-
&DummyTestSnippetA,
406-
&empty_stack,
407-
&[],
408-
HashMap::default(),
409-
expected,
410-
);
411-
test_rust_equivalence_given_input_values_deprecated(
412-
&DummyTestSnippetB,
413-
&empty_stack,
414-
&[],
415-
HashMap::default(),
416-
expected,
417-
);
418-
test_rust_equivalence_given_input_values_deprecated(
419-
&DummyTestSnippetC,
420-
&empty_stack,
421-
&[],
422-
HashMap::default(),
423-
expected,
424-
);
306+
ShadowedClosure::new(DummyTestSnippetA).test();
307+
ShadowedClosure::new(DummyTestSnippetB).test();
308+
ShadowedClosure::new(DummyTestSnippetC).test();
425309
}
426310

427311
#[test]

0 commit comments

Comments
 (0)