aboutsummaryrefslogtreecommitdiffstats
path: root/test/data
diff options
context:
space:
mode:
Diffstat (limited to 'test/data')
-rw-r--r--test/data/emacs-module/mod-test.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/data/emacs-module/mod-test.c b/test/data/emacs-module/mod-test.c
index 8dc9ff144af..f6c1c7cf3d2 100644
--- a/test/data/emacs-module/mod-test.c
+++ b/test/data/emacs-module/mod-test.c
@@ -296,6 +296,22 @@ Fmod_test_invalid_load (emacs_env *env, ptrdiff_t nargs, emacs_value *args,
296 return invalid_stored_value; 296 return invalid_stored_value;
297} 297}
298 298
299/* The next function works in conjunction with the two previous ones.
300 It stows away a copy of the object created by
301 `Fmod_test_invalid_store' in a global reference. Module assertions
302 should still detect the invalid load of the local reference. */
303
304static emacs_value global_copy_of_invalid_stored_value;
305
306static emacs_value
307Fmod_test_invalid_store_copy (emacs_env *env, ptrdiff_t nargs,
308 emacs_value *args, void *data)
309{
310 emacs_value local = Fmod_test_invalid_store (env, 0, NULL, NULL);
311 return global_copy_of_invalid_stored_value
312 = env->make_global_ref (env, local);
313}
314
299/* An invalid finalizer: Finalizers are run during garbage collection, 315/* An invalid finalizer: Finalizers are run during garbage collection,
300 where Lisp code can’t be executed. -module-assertions tests for 316 where Lisp code can’t be executed. -module-assertions tests for
301 this case. */ 317 this case. */
@@ -559,6 +575,8 @@ emacs_module_init (struct emacs_runtime *ert)
559 DEFUN ("mod-test-vector-fill", Fmod_test_vector_fill, 2, 2, NULL, NULL); 575 DEFUN ("mod-test-vector-fill", Fmod_test_vector_fill, 2, 2, NULL, NULL);
560 DEFUN ("mod-test-vector-eq", Fmod_test_vector_eq, 2, 2, NULL, NULL); 576 DEFUN ("mod-test-vector-eq", Fmod_test_vector_eq, 2, 2, NULL, NULL);
561 DEFUN ("mod-test-invalid-store", Fmod_test_invalid_store, 0, 0, NULL, NULL); 577 DEFUN ("mod-test-invalid-store", Fmod_test_invalid_store, 0, 0, NULL, NULL);
578 DEFUN ("mod-test-invalid-store-copy", Fmod_test_invalid_store_copy, 0, 0,
579 NULL, NULL);
562 DEFUN ("mod-test-invalid-load", Fmod_test_invalid_load, 0, 0, NULL, NULL); 580 DEFUN ("mod-test-invalid-load", Fmod_test_invalid_load, 0, 0, NULL, NULL);
563 DEFUN ("mod-test-invalid-finalizer", Fmod_test_invalid_finalizer, 0, 0, 581 DEFUN ("mod-test-invalid-finalizer", Fmod_test_invalid_finalizer, 0, 0,
564 NULL, NULL); 582 NULL, NULL);