bug hunt work transfer

This commit is contained in:
FelixBrendel
2019-09-26 18:24:54 +02:00
parent d42ada70ef
commit 9677dc1f16
16 changed files with 884594 additions and 39 deletions
+8
View File
@@ -202,6 +202,14 @@ namespace Memory {
push_environment(create_built_ins_environment());
}
proc create_lisp_object_pointer(void* ptr) -> Lisp_Object* {
Lisp_Object* node;
try node = create_lisp_object();
set_type(node, Lisp_Object_Type::Pointer);
node->value.pointer = ptr;
return node;
}
proc create_lisp_object_number(double number) -> Lisp_Object* {
Lisp_Object* node;
try node = create_lisp_object();
+2 -1
View File
@@ -24,7 +24,7 @@ enum struct Lisp_Object_Type {
Pair,
Vector,
Continuation,
// Pointer,
Pointer,
// OwningPointer,
Function,
CFunction,
@@ -145,6 +145,7 @@ struct Lisp_Object {
Vector vector;
Function function;
cFunction* cFunction;
void* pointer;
Continuation continuation;
} value;
};
+38 -38
View File
@@ -575,17 +575,17 @@ proc test_singular_t_and_nil() -> testresult {
}
proc test_file(const char* file) -> testresult {
Memory::reset();
assert_no_error();
// Memory::reset();
// assert_no_error();
Environment* root_env = get_root_environment();
Environment* user_env = Memory::create_child_environment(root_env);
assert_no_error();
// Environment* root_env = get_root_environment();
// Environment* user_env = Memory::create_child_environment(root_env);
// assert_no_error();
push_environment(user_env);
defer {
pop_environment();
};
// push_environment(user_env);
// defer {
// pop_environment();
// };
built_in_load(Memory::create_string(file));
assert_no_error();
@@ -605,43 +605,43 @@ proc run_all_tests() -> bool {
pop_environment();
};
printf("-- Util --\n");
invoke_test(test_array_lists_adding_and_removing);
invoke_test(test_array_lists_sorting);
invoke_test(test_array_lists_searching);
// printf("-- Util --\n");
// invoke_test(test_array_lists_adding_and_removing);
// invoke_test(test_array_lists_sorting);
// invoke_test(test_array_lists_searching);
printf("\n -- Parsing --\n");
invoke_test(test_parse_atom);
invoke_test(test_parse_expression);
// printf("\n -- Parsing --\n");
// invoke_test(test_parse_atom);
// invoke_test(test_parse_expression);
printf("\n-- Basic evaluating --\n");
invoke_test(test_eval_operands);
// printf("\n-- Basic evaluating --\n");
// invoke_test(test_eval_operands);
printf("\n-- Built ins --\n");
invoke_test(test_built_in_add);
invoke_test(test_built_in_substract);
invoke_test(test_built_in_multiply);
invoke_test(test_built_in_divide);
invoke_test(test_built_in_if);
invoke_test(test_built_in_and);
invoke_test(test_built_in_or);
invoke_test(test_built_in_not);
invoke_test(test_built_in_type);
// printf("\n-- Built ins --\n");
// invoke_test(test_built_in_add);
// invoke_test(test_built_in_substract);
// invoke_test(test_built_in_multiply);
// invoke_test(test_built_in_divide);
// invoke_test(test_built_in_if);
// invoke_test(test_built_in_and);
// invoke_test(test_built_in_or);
// invoke_test(test_built_in_not);
// invoke_test(test_built_in_type);
printf("\n-- Memory management --\n");
invoke_test(test_singular_t_and_nil);
// printf("\n-- Memory management --\n");
// invoke_test(test_singular_t_and_nil);
printf("\n-- Test Files --\n");
invoke_test_script("alists");
invoke_test_script("case_and_cond");
invoke_test_script("evaluation_of_default_args");
invoke_test_script("lexical_scope");
invoke_test_script("class_macro");
invoke_test_script("import_and_load");
invoke_test_script("sicp");
invoke_test_script("macro_expand");
invoke_test_script("automata");
// invoke_test_script("alists");
// invoke_test_script("case_and_cond");
// invoke_test_script("lexical_scope");
// invoke_test_script("class_macro");
// invoke_test_script("import_and_load");
// invoke_test_script("sicp");
// invoke_test_script("macro_expand");
// invoke_test_script("automata");
return result;