Skip to content
This repository was archived by the owner on Jan 10, 2025. It is now read-only.

Commit ef3f356

Browse files
committed
Moves the tests of program.rs into a separate file.
1 parent 894f5a6 commit ef3f356

File tree

2 files changed

+30
-38
lines changed

2 files changed

+30
-38
lines changed

src/program.rs

-36
Original file line numberDiff line numberDiff line change
@@ -415,39 +415,3 @@ macro_rules! declare_builtin_function {
415415
}
416416
};
417417
}
418-
419-
#[cfg(test)]
420-
mod tests {
421-
use super::*;
422-
use crate::{syscalls, vm::TestContextObject};
423-
424-
#[test]
425-
fn test_builtin_program_eq() {
426-
let mut function_registry_a =
427-
FunctionRegistry::<BuiltinFunction<TestContextObject>>::default();
428-
function_registry_a
429-
.register_function_hashed(*b"log", syscalls::SyscallString::vm)
430-
.unwrap();
431-
function_registry_a
432-
.register_function_hashed(*b"log_64", syscalls::SyscallU64::vm)
433-
.unwrap();
434-
let mut function_registry_b =
435-
FunctionRegistry::<BuiltinFunction<TestContextObject>>::default();
436-
function_registry_b
437-
.register_function_hashed(*b"log_64", syscalls::SyscallU64::vm)
438-
.unwrap();
439-
function_registry_b
440-
.register_function_hashed(*b"log", syscalls::SyscallString::vm)
441-
.unwrap();
442-
let mut function_registry_c =
443-
FunctionRegistry::<BuiltinFunction<TestContextObject>>::default();
444-
function_registry_c
445-
.register_function_hashed(*b"log_64", syscalls::SyscallU64::vm)
446-
.unwrap();
447-
let builtin_program_a = BuiltinProgram::new_loader(Config::default(), function_registry_a);
448-
let builtin_program_b = BuiltinProgram::new_loader(Config::default(), function_registry_b);
449-
assert_eq!(builtin_program_a, builtin_program_b);
450-
let builtin_program_c = BuiltinProgram::new_loader(Config::default(), function_registry_c);
451-
assert_ne!(builtin_program_a, builtin_program_c);
452-
}
453-
}

tests/vm.rs

+30-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
use solana_sbpf::{
22
elf::Executable,
3-
program::BuiltinProgram,
4-
vm::{RuntimeEnvironmentSlot, TestContextObject},
3+
program::{BuiltinProgram, BuiltinFunction, FunctionRegistry},
4+
syscalls,
5+
vm::{RuntimeEnvironmentSlot, TestContextObject, Config},
56
};
67
use std::{fs::File, io::Read, sync::Arc};
78
use test_utils::create_vm;
@@ -49,3 +50,30 @@ fn test_runtime_environment_slots() {
4950
check_slot!(env, program_result, ProgramResult);
5051
check_slot!(env, memory_mapping, MemoryMapping);
5152
}
53+
54+
#[test]
55+
fn test_builtin_program_eq() {
56+
let mut function_registry_a = FunctionRegistry::<BuiltinFunction<TestContextObject>>::default();
57+
function_registry_a
58+
.register_function_hashed(*b"log", syscalls::SyscallString::vm)
59+
.unwrap();
60+
function_registry_a
61+
.register_function_hashed(*b"log_64", syscalls::SyscallU64::vm)
62+
.unwrap();
63+
let mut function_registry_b = FunctionRegistry::<BuiltinFunction<TestContextObject>>::default();
64+
function_registry_b
65+
.register_function_hashed(*b"log_64", syscalls::SyscallU64::vm)
66+
.unwrap();
67+
function_registry_b
68+
.register_function_hashed(*b"log", syscalls::SyscallString::vm)
69+
.unwrap();
70+
let mut function_registry_c = FunctionRegistry::<BuiltinFunction<TestContextObject>>::default();
71+
function_registry_c
72+
.register_function_hashed(*b"log_64", syscalls::SyscallU64::vm)
73+
.unwrap();
74+
let builtin_program_a = BuiltinProgram::new_loader(Config::default(), function_registry_a);
75+
let builtin_program_b = BuiltinProgram::new_loader(Config::default(), function_registry_b);
76+
assert_eq!(builtin_program_a, builtin_program_b);
77+
let builtin_program_c = BuiltinProgram::new_loader(Config::default(), function_registry_c);
78+
assert_ne!(builtin_program_a, builtin_program_c);
79+
}

0 commit comments

Comments
 (0)