aboutsummaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
authorPhilipp Stephani2020-01-05 16:05:14 +0100
committerPhilipp Stephani2020-01-05 16:07:28 +0100
commitfc92c2d8942cf466aa6dbc422f2e798801b18408 (patch)
treeddf5bc386ba474733db39de3d23f76c8563ebd4b /test/src
parent9d38564cdde8cbe9d4c08a7ffef7f25e9692814a (diff)
downloademacs-fc92c2d8942cf466aa6dbc422f2e798801b18408.tar.gz
emacs-fc92c2d8942cf466aa6dbc422f2e798801b18408.zip
Also print function data when printing module functions.
This is especially useful in cases where modules only use a single entry point and use the data to dispatch to the actual function. Such a design is common for languages such as Go and C++. * src/emacs-module.c (module_function_data): New function. * src/print.c (print_vectorlike): Use it to print module function data if not NULL. (print_object): Adapt size of buffer. * test/data/emacs-module/mod-test.c (emacs_module_init): Pass some non-NULL data to ‘mod-test-sum’. (Fmod_test_sum): Check that correct data is passed through. * test/src/emacs-module-tests.el (mod-test-sum-test) (module-function-object): Adapt unit tests.
Diffstat (limited to 'test/src')
-rw-r--r--test/src/emacs-module-tests.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/test/src/emacs-module-tests.el b/test/src/emacs-module-tests.el
index c61abfdf683..48d2e86a605 100644
--- a/test/src/emacs-module-tests.el
+++ b/test/src/emacs-module-tests.el
@@ -60,8 +60,9 @@
60 (should (eq 0 60 (should (eq 0
61 (string-match 61 (string-match
62 (concat "#<module function " 62 (concat "#<module function "
63 "\\(at \\(0x\\)?[[:xdigit:]]+\\( from .*\\)?" 63 "\\(at \\(0x\\)?[[:xdigit:]]+ "
64 "\\|Fmod_test_sum from .*\\)>") 64 "with data 0x1234\\( from .*\\)?"
65 "\\|Fmod_test_sum with data 0x1234 from .*\\)>")
65 (prin1-to-string (nth 1 descr))))) 66 (prin1-to-string (nth 1 descr)))))
66 (should (= (nth 2 descr) 3))) 67 (should (= (nth 2 descr) 3)))
67 (should-error (mod-test-sum "1" 2) :type 'wrong-type-argument) 68 (should-error (mod-test-sum "1" 2) :type 'wrong-type-argument)
@@ -97,6 +98,7 @@ changes."
97 (rx bos "#<module function " 98 (rx bos "#<module function "
98 (or "Fmod_test_sum" 99 (or "Fmod_test_sum"
99 (and "at 0x" (+ hex-digit))) 100 (and "at 0x" (+ hex-digit)))
101 " with data 0x1234"
100 (? " from " (* nonl) "mod-test" (* nonl) ) 102 (? " from " (* nonl) "mod-test" (* nonl) )
101 ">" eos) 103 ">" eos)
102 (prin1-to-string func))))) 104 (prin1-to-string func)))))