Mercurial > hg > xemacs-beta
annotate src/tests.c @ 5223:acc4a6c9f5f9
Remove the definition of Q_data from glyphs.c, fixing C++ build.
2010-06-01 Aidan Kehoe <kehoea@parhasard.net>
* glyphs.c (syms_of_glyphs):
Remove the definition of Q_data from this file, now it's in
general-slots.h. Problem picked up by a C++ build.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Tue, 01 Jun 2010 20:31:11 +0100 |
parents | 71ee43b8a74d |
children | 308d34e9f07d |
rev | line source |
---|---|
398 | 1 /* C support for testing XEmacs - see tests/automated/c-tests.el |
2 Copyright (C) 2000 Martin Buchholz | |
5013 | 3 Copyright (C) 2001, 2002, 2010 Ben Wing. |
3417 | 4 Copyright (C) 2006 The Free Software Foundation, Inc. |
398 | 5 |
6 This file is part of XEmacs. | |
7 | |
8 XEmacs is free software; you can redistribute it and/or modify it | |
9 under the terms of the GNU General Public License as published by the | |
10 Free Software Foundation; either version 2, or (at your option) any | |
11 later version. | |
12 | |
13 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
16 for more details. | |
17 | |
18 You should have received a copy of the GNU General Public License | |
19 along with XEmacs; see the file COPYING. If not, write to | |
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
21 Boston, MA 02111-1307, USA. */ | |
22 | |
23 /* Author: Martin Buchholz | |
24 | |
25 This file provides support for running tests for XEmacs that cannot | |
26 be written entirely in Lisp. These tests are run automatically via | |
27 tests/automated/c-tests.el, or can be run by hand using M-x */ | |
28 | |
29 | |
30 #include <config.h> | |
31 #include "lisp.h" | |
32 #include "buffer.h" | |
33 #include "lstream.h" | |
489 | 34 #include "elhash.h" |
398 | 35 #include "opaque.h" |
3417 | 36 #include "file-coding.h" /* XCODING_SYSTEM_EOL_TYPE and its values */ |
398 | 37 |
38 static Lisp_Object Vtest_function_list; | |
39 | |
40 DEFUN ("test-data-format-conversion", Ftest_data_format_conversion, 0, 0, "", /* | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
41 Return list of results of test TO_EXTERNAL_FORMAT() and TO_INTERNAL_FORMAT(). |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
42 For use by the automated test suite. See tests/automated/c-tests. |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
43 |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
44 Each element is a list (DESCRIPTION, STATUS, REASON). |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
45 DESCRIPTION is a string describing the test. |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
46 STATUS is a symbol, either t (pass) or nil (fail). |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
47 REASON is nil or a string describing the failure (not required). |
398 | 48 */ |
49 ()) | |
50 { | |
665 | 51 void *ptr; Bytecount len; |
5156
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
52 Lisp_Object string = Qnil, opaque = Qnil, conversion_result = Qnil; |
398 | 53 |
867 | 54 Ibyte int_foo[] = "\n\nfoo\nbar"; |
398 | 55 Extbyte ext_unix[]= "\n\nfoo\nbar"; |
56 | |
57 Extbyte ext_dos[] = "\r\n\r\nfoo\r\nbar"; | |
58 Extbyte ext_mac[] = "\r\rfoo\rbar"; | |
59 Lisp_Object opaque_dos = make_opaque (ext_dos, sizeof (ext_dos) - 1); | |
60 Lisp_Object string_foo = make_string (int_foo, sizeof (int_foo) - 1); | |
61 | |
62 Extbyte ext_latin[] = "f\372b\343\340"; | |
867 | 63 Ibyte int_latin1[] = "f\200\372b\200\343\200\340"; |
64 Ibyte int_latin2[] = "f\201\372b\201\343\201\340"; | |
398 | 65 #ifdef MULE |
66 Extbyte ext_latin12[]= "f\033-A\372b\343\340\033-B"; | |
67 Extbyte ext_tilde[] = "f~b~~"; | |
68 Lisp_Object string_latin2 = make_string (int_latin2, sizeof (int_latin2) - 1); | |
69 #endif | |
70 Lisp_Object opaque_latin = make_opaque (ext_latin, sizeof (ext_latin) - 1); | |
71 Lisp_Object opaque0_latin = make_opaque (ext_latin, sizeof (ext_latin)); | |
72 Lisp_Object string_latin1 = make_string (int_latin1, sizeof (int_latin1) - 1); | |
3417 | 73 int autodetect_eol_p = |
74 !NILP (Fsymbol_value (intern ("eol-detection-enabled-p"))); | |
5156
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
75 struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5; |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
76 struct gcpro ngcpro1, ngcpro2, ngcpro3; |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
77 #ifdef MULE |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
78 struct gcpro ngcpro4; |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
79 #endif |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
80 |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
81 /* DFC conversion inhibits GC, but we have a call2() below which calls |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
82 Lisp, which can trigger GC, so we need to GC-protect everything here. */ |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
83 GCPRO5 (string, opaque, conversion_result, opaque_dos, string_foo); |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
84 #ifdef MULE |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
85 NGCPRO4 (string_latin2, opaque_latin, opaque0_latin, string_latin1); |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
86 #else |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
87 NGCPRO3 (opaque_latin, opaque0_latin, string_latin1); |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
88 #endif |
398 | 89 |
90 /* Check for expected strings before and after conversion. | |
771 | 91 Conversions depend on whether MULE is defined. */ |
4318
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
92 |
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
93 /* #### Any code below that uses iso-latin-2-with-esc is ill-conceived. */ |
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
94 |
398 | 95 #ifdef MULE |
96 #define DFC_CHECK_DATA_COND_MULE(ptr,len, \ | |
97 constant_string_mule, \ | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
98 constant_string_non_mule, \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
99 description) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
100 DFC_CHECK_DATA (ptr, len, constant_string_mule, description) |
398 | 101 #define DFC_CHECK_DATA_COND_MULE_NUL(ptr,len, \ |
102 constant_string_mule, \ | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
103 constant_string_non_mule, \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
104 description) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
105 DFC_CHECK_DATA_NUL (ptr, len, constant_string_mule, description) |
398 | 106 #else |
107 #define DFC_CHECK_DATA_COND_MULE(ptr,len, \ | |
108 constant_string_mule, \ | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
109 constant_string_non_mule, \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
110 description) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
111 DFC_CHECK_DATA (ptr, len, constant_string_non_mule, description) |
398 | 112 #define DFC_CHECK_DATA_COND_MULE_NUL(ptr,len, \ |
113 constant_string_mule, \ | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
114 constant_string_non_mule, \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
115 description) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
116 DFC_CHECK_DATA_NUL (ptr, len, constant_string_non_mule, description) |
398 | 117 #endif |
118 | |
3417 | 119 /* These now only apply to base coding systems, and |
120 need to test `eol-detection-enabled-p' at runtime. */ | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
121 #define DFC_CHECK_DATA_COND_EOL(ptr,len, \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
122 constant_string_eol, \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
123 constant_string_non_eol, \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
124 description) do { \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
125 if (autodetect_eol_p) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
126 DFC_CHECK_DATA (ptr, len, constant_string_eol, description); \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
127 else \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
128 DFC_CHECK_DATA (ptr, len, constant_string_non_eol, description); \ |
3417 | 129 } while (0) |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
130 #define DFC_CHECK_DATA_COND_EOL_NUL(ptr,len, \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
131 constant_string_eol, \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
132 constant_string_non_eol, \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
133 description) do { \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
134 if (autodetect_eol_p) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
135 DFC_CHECK_DATA_NUL (ptr, len, constant_string_eol, description); \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
136 else \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
137 DFC_CHECK_DATA_NUL (ptr, len, constant_string_non_eol, description); \ |
3417 | 138 } while (0) |
398 | 139 |
140 /* Check for expected strings before and after conversion. */ | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
141 #define DFC_CHECK_DATA(ptr,len,constant_string,test) do { \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
142 DFC_INITIALIZE (test); \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
143 DFC_CHECK_LENGTH (len, sizeof (constant_string) - 1, test); \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
144 DFC_CHECK_CONTENT (ptr, constant_string, len, test); \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
145 DFC_RESULT_PASS (test); \ |
398 | 146 } while (0) |
147 | |
148 /* Macro version that includes the trailing NULL byte. */ | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
149 #define DFC_CHECK_DATA_NUL(ptr,len,constant_string,test) do { \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
150 DFC_INITIALIZE (test); \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
151 DFC_CHECK_LENGTH (len, sizeof (constant_string), test); \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
152 DFC_CHECK_CONTENT (ptr, constant_string, len, test); \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
153 DFC_RESULT_PASS (test); \ |
398 | 154 } while (0) |
155 | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
156 /* WARNING WARNING WARNING! |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
157 The following macros are NOT protected by "do { ... } while (0)"!! |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
158 */ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
159 |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
160 #define DFC_INITIALIZE(test_name) if (0) |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
161 |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
162 #define DFC_CHECK_LENGTH(len1,len2,str1) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
163 else if ((len1) != (len2)) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
164 conversion_result = \ |
4953
304aebb79cd3
function renamings to track names of char typedefs
Ben Wing <ben@xemacs.org>
parents:
4952
diff
changeset
|
165 Fcons (list3 (build_cistring(str1), Qnil, build_ascstring("wrong length")), \ |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
166 conversion_result) |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
167 |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
168 #define DFC_CHECK_CONTENT(str1,str2,len1,str3) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
169 else if (memcmp (str1, str2, len1)) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
170 conversion_result = \ |
4953
304aebb79cd3
function renamings to track names of char typedefs
Ben Wing <ben@xemacs.org>
parents:
4952
diff
changeset
|
171 Fcons (list3 (build_cistring(str3), Qnil, \ |
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4752
diff
changeset
|
172 build_ascstring("octet comparison failed")), \ |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
173 conversion_result) |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
174 |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
175 #define DFC_RESULT_PASS(str1) \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
176 else \ |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
177 conversion_result = \ |
4953
304aebb79cd3
function renamings to track names of char typedefs
Ben Wing <ben@xemacs.org>
parents:
4952
diff
changeset
|
178 Fcons (list3 (build_cistring(str1), Qt, Qnil), \ |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
179 conversion_result) |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
180 |
398 | 181 #ifdef MULE |
182 ptr = NULL, len = rand(); | |
183 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)), | |
184 ALLOCA, (ptr, len), | |
771 | 185 intern ("iso-8859-2")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
186 DFC_CHECK_DATA_NUL (ptr, len, ext_latin, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
187 "Latin-2 DATA, ALLOCA, Latin 2/NUL"); |
398 | 188 |
189 ptr = NULL, len = rand(); | |
190 TO_EXTERNAL_FORMAT (LISP_STRING, string_latin2, | |
191 ALLOCA, (ptr, len), | |
771 | 192 intern ("iso-8859-2")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
193 DFC_CHECK_DATA (ptr, len, ext_latin, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
194 "Latin-2 Lisp string, ALLOCA, Latin 2"); |
398 | 195 |
196 ptr = NULL, len = rand(); | |
197 TO_EXTERNAL_FORMAT (LISP_STRING, string_latin1, | |
198 ALLOCA, (ptr, len), | |
4318
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
199 intern ("iso-latin-2-with-esc")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
200 DFC_CHECK_DATA (ptr, len, ext_latin12, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
201 "Latin-1 Lisp string, ALLOCA, Latin 2/ESC"); |
398 | 202 |
203 ptr = NULL, len = rand(); | |
204 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1), | |
205 MALLOC, (ptr, len), | |
771 | 206 intern ("iso-8859-2")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
207 DFC_CHECK_DATA (ptr, len, ext_latin, "Latin-2 DATA, MALLOC, Latin-2"); |
4976
16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents:
4953
diff
changeset
|
208 xfree (ptr); |
398 | 209 |
210 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1), | |
211 LISP_OPAQUE, opaque, | |
771 | 212 intern ("iso-8859-2")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
213 DFC_CHECK_DATA (XOPAQUE_DATA (opaque), XOPAQUE_SIZE (opaque), ext_latin, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
214 "Latin-2 DATA, Lisp opaque, Latin-2"); |
398 | 215 |
216 ptr = NULL, len = rand(); | |
217 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1), | |
218 ALLOCA, (ptr, len), | |
4318
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
219 intern ("iso-latin-2-with-esc")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
220 DFC_CHECK_DATA (ptr, len, int_latin2, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
221 "Latin-2/ESC, ALLOCA, Latin-1 DATA"); |
398 | 222 |
223 ptr = NULL, len = rand(); | |
224 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1), | |
225 MALLOC, (ptr, len), | |
4318
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
226 intern ("iso-latin-2-with-esc")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
227 DFC_CHECK_DATA (ptr, len, int_latin2, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
228 "Latin-2/ESC, MALLOC, Latin-1 DATA"); |
4976
16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents:
4953
diff
changeset
|
229 xfree (ptr); |
398 | 230 |
231 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1), | |
232 LISP_STRING, string, | |
4318
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
233 intern ("iso-latin-2-with-esc")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
234 DFC_CHECK_DATA (XSTRING_DATA (string), XSTRING_LENGTH (string), int_latin2, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
235 "Latin-2/ESC, Lisp string, Latin-2"); |
398 | 236 |
237 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_latin, | |
238 LISP_STRING, string, | |
4318
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
239 intern ("iso-latin-2-with-esc")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
240 DFC_CHECK_DATA (XSTRING_DATA (string), XSTRING_LENGTH (string), int_latin2, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
241 "Lisp opaque, Lisp string, Latin-2/ESC"); |
398 | 242 |
243 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque0_latin, | |
244 LISP_STRING, string, | |
4318
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
245 intern ("iso-latin-2-with-esc")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
246 DFC_CHECK_DATA_NUL (XSTRING_DATA (string), XSTRING_LENGTH (string), int_latin2, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
247 "Lisp opaque, Lisp string, Latin-2/ESC/NUL"); |
398 | 248 |
249 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque0_latin, | |
250 LISP_BUFFER, Fcurrent_buffer(), | |
4318
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
251 intern ("iso-latin-2-with-esc")); |
398 | 252 DFC_CHECK_DATA_NUL (BUF_BYTE_ADDRESS (current_buffer, BUF_PT (current_buffer)), |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
253 sizeof (int_latin2), int_latin2, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
254 "Lisp opaque, Lisp buffer, Latin-2/ESC/NUL"); |
398 | 255 |
256 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_latin, | |
257 LISP_BUFFER, Fcurrent_buffer(), | |
258 intern ("iso-8859-1")); | |
259 DFC_CHECK_DATA (BUF_BYTE_ADDRESS (current_buffer, BUF_PT (current_buffer)), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
260 sizeof (int_latin1) - 1, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
261 "Lisp opaque, Lisp buffer, Latin-1"); |
398 | 262 |
263 TO_INTERNAL_FORMAT (DATA, (ext_latin12, sizeof (ext_latin12) - 1), | |
264 ALLOCA, (ptr, len), | |
4318
4d0f773d5e21
Fix the test failures introduced by the non-ISO-2022 coding systems.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3417
diff
changeset
|
265 intern ("iso-latin-2-with-esc")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
266 DFC_CHECK_DATA (ptr, len, int_latin1, "DATA, ALLOCA, Latin-1"); |
398 | 267 |
268 #endif /* MULE */ | |
269 | |
270 ptr = NULL, len = rand(); | |
271 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1), | |
272 ALLOCA, (ptr, len), | |
273 Qbinary); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
274 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
275 "Latin-1 DATA, ALLOCA, binary"); |
398 | 276 |
277 ptr = NULL, len = rand(); | |
278 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1)), | |
279 ALLOCA, (ptr, len), | |
280 Qbinary); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
281 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, ext_latin, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
282 "Latin-1 DATA, ALLOCA, binary/NUL"); |
398 | 283 |
284 ptr = NULL, len = rand(); | |
285 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1), | |
286 ALLOCA, (ptr, len), | |
771 | 287 Qbinary); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
288 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_tilde, int_latin2, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
289 "Latin-2 DATA, ALLOCA, binary"); |
398 | 290 |
291 ptr = NULL, len = rand(); | |
292 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1), | |
293 ALLOCA, (ptr, len), | |
294 intern ("iso-8859-1")); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
295 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
296 "Latin-1 DATA, ALLOCA, Latin-1"); |
398 | 297 |
298 | |
299 ptr = NULL, len = rand(); | |
300 TO_EXTERNAL_FORMAT (LISP_STRING, string_latin1, | |
301 ALLOCA, (ptr, len), | |
302 Qbinary); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
303 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
304 "Latin-1 Lisp string, ALLOCA, binary"); |
398 | 305 |
306 ptr = NULL, len = rand(); | |
307 TO_EXTERNAL_FORMAT (LISP_STRING, string_latin1, | |
308 ALLOCA, (ptr, len), | |
771 | 309 Qbinary); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
310 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
311 "Latin-1 Lisp string, ALLOCA, binary"); |
398 | 312 |
313 ptr = NULL, len = rand(); | |
314 TO_EXTERNAL_FORMAT (LISP_STRING, string_latin1, | |
315 ALLOCA, (ptr, len), | |
316 intern ("iso-8859-1")); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
317 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
318 "Latin-1 Lisp string, ALLOCA, Latin-1"); |
398 | 319 |
320 ptr = NULL, len = rand(); | |
321 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1), | |
322 MALLOC, (ptr, len), | |
323 Qbinary); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
324 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
325 "Latin-1 DATA, MALLOC, binary"); |
4976
16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents:
4953
diff
changeset
|
326 xfree (ptr); |
398 | 327 |
328 ptr = NULL, len = rand(); | |
329 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)), | |
330 MALLOC, (ptr, len), | |
771 | 331 Qbinary); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
332 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, ext_tilde, int_latin2, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
333 "Latin-2 DATA, MALLOC, binary/NUL"); |
4976
16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents:
4953
diff
changeset
|
334 xfree (ptr); |
398 | 335 |
336 ptr = NULL, len = rand(); | |
337 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1), | |
338 MALLOC, (ptr, len), | |
339 intern ("iso-8859-1")); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
340 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
341 "Latin-1 DATA, MALLOC, Latin-1"); |
4976
16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents:
4953
diff
changeset
|
342 xfree (ptr); |
398 | 343 |
344 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1), | |
345 LISP_OPAQUE, opaque, | |
346 Qbinary); | |
347 DFC_CHECK_DATA_COND_MULE (XOPAQUE_DATA (opaque), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
348 XOPAQUE_SIZE (opaque), ext_latin, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
349 "Latin-1 DATA, Lisp opaque, binary"); |
398 | 350 |
351 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)), | |
352 LISP_OPAQUE, opaque, | |
771 | 353 Qbinary); |
398 | 354 DFC_CHECK_DATA_COND_MULE_NUL (XOPAQUE_DATA (opaque), |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
355 XOPAQUE_SIZE (opaque), ext_tilde, int_latin2, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
356 "Latin-2 DATA, Lisp opaque, binary"); |
398 | 357 |
358 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1), | |
359 LISP_OPAQUE, opaque, | |
360 intern ("iso-8859-1")); | |
361 DFC_CHECK_DATA_COND_MULE (XOPAQUE_DATA (opaque), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
362 XOPAQUE_SIZE (opaque), ext_latin, int_latin1, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
363 "Latin-1 DATA, Lisp opaque, Latin-1"); |
398 | 364 |
365 ptr = NULL, len = rand(); | |
366 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1), | |
367 ALLOCA, (ptr, len), | |
368 Qbinary); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
369 DFC_CHECK_DATA_COND_MULE (ptr, len, int_latin1, ext_latin, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
370 "Latin-1 DATA, ALLOCA, binary"); |
398 | 371 |
372 ptr = NULL, len = rand(); | |
373 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)), | |
374 ALLOCA, (ptr, len), | |
375 intern ("iso-8859-1")); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
376 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
377 "Latin-1 DATA, ALLOCA, Latin-1"); |
398 | 378 |
379 ptr = NULL, len = rand(); | |
380 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)), | |
381 MALLOC, (ptr, len), | |
382 intern ("iso-8859-1")); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
383 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
384 "Latin-1 DATA, MALLOC, Latin-1"); |
4976
16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents:
4953
diff
changeset
|
385 xfree (ptr); |
398 | 386 |
387 ptr = NULL, len = rand(); | |
388 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)), | |
389 MALLOC, (ptr, len), | |
390 Qnil); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
391 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
392 "Latin-1 DATA, MALLOC, nil"); |
4976
16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents:
4953
diff
changeset
|
393 xfree (ptr); |
398 | 394 |
395 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1), | |
396 LISP_STRING, string, | |
397 intern ("iso-8859-1")); | |
398 DFC_CHECK_DATA_COND_MULE (XSTRING_DATA (string), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
399 XSTRING_LENGTH (string), int_latin1, ext_latin, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
400 "Latin-1 DATA, Lisp stirng, Latin-1"); |
398 | 401 |
402 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_latin, | |
403 LISP_STRING, string, | |
404 intern ("iso-8859-1")); | |
405 DFC_CHECK_DATA_COND_MULE (XSTRING_DATA (string), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
406 XSTRING_LENGTH (string), int_latin1, ext_latin, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
407 "Latin-1 Lisp opaque, Lisp string, Latin-1"); |
398 | 408 |
409 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque0_latin, | |
410 LISP_STRING, string, | |
411 intern ("iso-8859-1")); | |
412 DFC_CHECK_DATA_COND_MULE_NUL (XSTRING_DATA (string), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
413 XSTRING_LENGTH (string), int_latin1, ext_latin, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
414 "Latin-1 Lisp opaque, Lisp string, Latin-1/NUL"); |
398 | 415 |
3417 | 416 /* This next group used to use the COND_EOL macros, but with the new Mule, |
417 they all specify an EOL convention, and all XEmacsen can grok them. */ | |
398 | 418 ptr = NULL, len = rand(); |
419 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo)), | |
420 MALLOC, (ptr, len), | |
771 | 421 Qbinary); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
422 DFC_CHECK_DATA_NUL (ptr, len, ext_unix, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
423 "ASCII DATA, MALLOC, binary/LF/NUL"); |
4976
16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents:
4953
diff
changeset
|
424 xfree (ptr); |
398 | 425 |
426 ptr = NULL, len = rand(); | |
427 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1), | |
428 LISP_OPAQUE, opaque, | |
429 intern ("raw-text-mac")); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
430 DFC_CHECK_DATA (XOPAQUE_DATA (opaque), XOPAQUE_SIZE (opaque), ext_mac, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
431 "ASCII DATA, Lisp opaque, binary/CR"); |
398 | 432 |
433 ptr = NULL, len = rand(); | |
434 TO_EXTERNAL_FORMAT (LISP_STRING, string_foo, | |
435 ALLOCA, (ptr, len), | |
436 intern ("raw-text-dos")); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
437 DFC_CHECK_DATA (ptr, len, ext_dos, "ASCII Lisp string, ALLOCA, binary/CRLF"); |
398 | 438 |
439 ptr = NULL, len = rand(); | |
440 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1), | |
441 ALLOCA, (ptr, len), | |
442 intern ("raw-text-unix")); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
443 DFC_CHECK_DATA (ptr, len, ext_unix, "ASCII DATA, ALLOCA, binary/LF"); |
398 | 444 |
445 ptr = NULL, len = rand(); | |
446 TO_EXTERNAL_FORMAT (LISP_STRING, string_foo, | |
447 MALLOC, (ptr, len), | |
448 intern ("no-conversion-mac")); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
449 DFC_CHECK_DATA (ptr, len, ext_mac, "ASCII Lisp string, MALLOC, binary/CR"); |
4976
16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
Ben Wing <ben@xemacs.org>
parents:
4953
diff
changeset
|
450 xfree (ptr); |
398 | 451 |
452 ptr = NULL, len = rand(); | |
453 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1), | |
454 ALLOCA, (ptr, len), | |
771 | 455 intern ("no-conversion-dos")); |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
456 DFC_CHECK_DATA (ptr, len, ext_dos, "ASCII DATA, ALLOCA, binary/CRLF"); |
398 | 457 |
458 ptr = NULL, len = rand(); | |
459 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo)), | |
460 ALLOCA, (ptr, len), | |
461 intern ("no-conversion-unix")); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
462 DFC_CHECK_DATA_NUL (ptr, len, ext_unix, "ASCII DATA, ALLOCA, binary/LF/NUL"); |
3417 | 463 |
464 /* Oh, Lawdy, Lawdy, Lawdy, this done broke mah heart! | |
465 | |
466 I tried using the technique | |
467 | |
468 Fget_coding_system (call2 | |
469 (intern ("coding-system-change-eol-conversion"), | |
470 intern ("undecided"), $EOL_TYPE)); | |
471 XCODING_SYSTEM_EOL_TYPE (cs_to_use) = $EOL_DETECT_TYPE; | |
472 | |
473 with EOL_TYPE = Qlf (for no-detect) and Qnil (for auto-detect), | |
474 and with EOL_DETECT_TYPE = EOL_LF and EOL_AUTODETECT | |
475 respectively, but this doesn't seem to work on the `undecided' | |
476 coding system. The coding-system-eol-type attribute on the | |
477 coding system itself needs to be changed, too. I'm not sure at | |
478 the moment how `set-eol-detection' works its magic, but the code | |
479 below gives correct test results without default EOL detection, | |
480 with default EOL detection, and with Mule. Ship it! | |
481 | |
482 Mule. You'll envy the dead. | |
483 */ | |
398 | 484 |
3417 | 485 { |
486 /* Check eol autodetection doesn't happen when disabled -- cheat. */ | |
487 Lisp_Object cs_to_use = Fget_coding_system (intern ("undecided-unix")); | |
488 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_dos, | |
489 LISP_BUFFER, Fcurrent_buffer(), | |
490 cs_to_use); | |
491 DFC_CHECK_DATA (BUF_BYTE_ADDRESS (current_buffer, BUF_PT (current_buffer)), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
492 sizeof (ext_dos) - 1, ext_dos, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
493 "DOS Lisp opaque, Lisp buffer, undecided-unix"); |
3417 | 494 |
495 /* Check eol autodetection works when enabled -- honest. */ | |
496 cs_to_use = | |
497 Fget_coding_system (call2 | |
498 (intern ("coding-system-change-eol-conversion"), | |
499 intern ("undecided"), Qnil)); | |
500 XCODING_SYSTEM_EOL_TYPE (cs_to_use) = EOL_AUTODETECT; | |
501 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_dos, | |
502 LISP_BUFFER, Fcurrent_buffer(), | |
503 cs_to_use); | |
504 DFC_CHECK_DATA (BUF_BYTE_ADDRESS (current_buffer, BUF_PT (current_buffer)), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
505 sizeof (int_foo) - 1, int_foo, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
506 "DOS Lisp opaque, Lisp buffer, undecided"); |
3417 | 507 /* reset to default */ |
508 XCODING_SYSTEM_EOL_TYPE (cs_to_use) = | |
509 autodetect_eol_p ? EOL_AUTODETECT : EOL_LF; | |
510 } | |
511 | |
512 /* Does eol-detection-enabled-p reflect the actual state of affairs? | |
513 This probably could be tested in Lisp somehow. Should it? */ | |
398 | 514 TO_INTERNAL_FORMAT (LISP_OPAQUE, opaque_dos, |
515 LISP_BUFFER, Fcurrent_buffer(), | |
516 intern ("undecided")); | |
3417 | 517 if (autodetect_eol_p) |
518 DFC_CHECK_DATA (BUF_BYTE_ADDRESS (current_buffer, | |
519 BUF_PT (current_buffer)), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
520 sizeof (int_foo) - 1, int_foo, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
521 "DOS Lisp opaque, Lisp buffer, autodetect eol"); |
3417 | 522 else |
523 DFC_CHECK_DATA (BUF_BYTE_ADDRESS (current_buffer, | |
524 BUF_PT (current_buffer)), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
525 sizeof (ext_dos) - 1, ext_dos, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
526 "DOS Lisp opaque, Lisp buffer, no autodetect eol"); |
398 | 527 |
528 TO_INTERNAL_FORMAT (DATA, (ext_mac, sizeof (ext_mac) - 1), | |
529 LISP_STRING, string, | |
530 intern ("iso-8859-1")); | |
531 DFC_CHECK_DATA_COND_EOL (XSTRING_DATA (string), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
532 XSTRING_LENGTH (string), int_foo, ext_mac, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
533 "Mac DATA, Lisp string, Latin-1/EOL"); |
398 | 534 { |
535 Lisp_Object stream = | |
536 make_fixed_buffer_input_stream (ext_dos, sizeof (ext_dos) - 1); | |
537 TO_INTERNAL_FORMAT (LISP_LSTREAM, stream, | |
538 LISP_STRING, string, | |
539 intern ("iso-8859-1")); | |
540 DFC_CHECK_DATA_COND_EOL (XSTRING_DATA (string), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
541 XSTRING_LENGTH (string), int_foo, ext_dos, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
542 "DOS lstream, Lisp string, Latin-1/EOL"); |
398 | 543 } |
544 | |
545 TO_INTERNAL_FORMAT (DATA, (ext_unix, sizeof (ext_unix) - 1), | |
546 LISP_STRING, string, | |
547 intern ("no-conversion")); | |
548 DFC_CHECK_DATA_COND_EOL (XSTRING_DATA (string), | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
549 XSTRING_LENGTH (string), int_foo, ext_unix, |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
550 "Unix DATA, Lisp string, no-conversion"); |
398 | 551 |
552 ptr = NULL, len = rand(); | |
553 TO_EXTERNAL_FORMAT (LISP_OPAQUE, opaque_dos, | |
554 ALLOCA, (ptr, len), | |
555 Qbinary); | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
556 DFC_CHECK_DATA (ptr, len, ext_dos, "DOS Lisp opaque, ALLOCA, binary"); |
398 | 557 |
5156
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
558 NUNGCPRO; |
6bff4f219697
fix crash etc. in tests.c/c-tests.el
Ben Wing <ben@xemacs.org>
parents:
5037
diff
changeset
|
559 UNGCPRO; |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
560 return conversion_result; |
398 | 561 } |
562 | |
563 | |
489 | 564 /* Hash Table testing */ |
565 | |
566 typedef struct | |
567 { | |
568 Lisp_Object hash_table; | |
569 EMACS_INT sum; | |
570 } test_hash_tables_data; | |
571 | |
572 | |
573 static int | |
2286 | 574 test_hash_tables_mapper (Lisp_Object UNUSED (key), Lisp_Object value, |
489 | 575 void *extra_arg) |
576 { | |
577 test_hash_tables_data *p = (test_hash_tables_data *) extra_arg; | |
578 p->sum += XINT (value); | |
579 return 0; | |
580 } | |
581 | |
582 static int | |
583 test_hash_tables_modifying_mapper (Lisp_Object key, Lisp_Object value, | |
584 void *extra_arg) | |
585 { | |
586 test_hash_tables_data *p = (test_hash_tables_data *) extra_arg; | |
587 Fputhash (make_int (- XINT (key)), | |
588 make_int (2 * XINT (value)), | |
589 p->hash_table); | |
590 p->sum += XINT (value); | |
591 return 0; | |
592 } | |
593 | |
594 static int | |
2286 | 595 test_hash_tables_predicate (Lisp_Object key, |
596 Lisp_Object UNUSED (value), | |
597 void *UNUSED (extra_arg)) | |
489 | 598 { |
599 return XINT (key) < 0; | |
600 } | |
601 | |
602 | |
603 DEFUN ("test-hash-tables", Ftest_hash_tables, 0, 0, "", /* | |
4752
b8afe0f9cbe3
Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4747
diff
changeset
|
604 Return list of results of testing C interface to hash tables. |
b8afe0f9cbe3
Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4747
diff
changeset
|
605 For use by the automated test suite. See tests/automated/c-tests. |
b8afe0f9cbe3
Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4747
diff
changeset
|
606 |
b8afe0f9cbe3
Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4747
diff
changeset
|
607 Each element is a list (DESCRIPTION, STATUS, REASON). |
b8afe0f9cbe3
Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4747
diff
changeset
|
608 DESCRIPTION is a string describing the test. |
b8afe0f9cbe3
Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4747
diff
changeset
|
609 STATUS is a symbol, either t (pass) or nil (fail). |
b8afe0f9cbe3
Restore some doc changes that got dropped in a merge.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4747
diff
changeset
|
610 REASON is nil or a string describing the failure (not required). |
489 | 611 */ |
612 ()) | |
613 { | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
614 Lisp_Object hash_result = Qnil; |
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
615 |
489 | 616 test_hash_tables_data data; |
617 data.hash_table = make_lisp_hash_table (50, HASH_TABLE_NON_WEAK, | |
5191
71ee43b8a74d
Add #'equalp as a hash test by default; add #'define-hash-table-test, GNU API
Aidan Kehoe <kehoea@parhasard.net>
parents:
5156
diff
changeset
|
618 Qequal); |
489 | 619 |
620 Fputhash (make_int (1), make_int (2), data.hash_table); | |
621 Fputhash (make_int (3), make_int (4), data.hash_table); | |
622 | |
623 data.sum = 0; | |
624 elisp_maphash_unsafe (test_hash_tables_mapper, | |
625 data.hash_table, (void *) &data); | |
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4752
diff
changeset
|
626 hash_result = Fcons (list3 (build_ascstring ("simple mapper"), |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
627 (data.sum == 2 + 4) ? Qt : Qnil, |
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4752
diff
changeset
|
628 build_ascstring ("sum != 2 + 4")), |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
629 hash_result); |
489 | 630 |
631 data.sum = 0; | |
632 elisp_maphash (test_hash_tables_modifying_mapper, | |
633 data.hash_table, (void *) &data); | |
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4752
diff
changeset
|
634 hash_result = Fcons (list3 (build_ascstring ("modifying mapper"), |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
635 (data.sum == 2 + 4) ? Qt : Qnil, |
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4752
diff
changeset
|
636 build_ascstring ("sum != 2 + 4")), |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
637 hash_result); |
489 | 638 |
639 /* hash table now contains: (1, 2) (3, 4) (-1, 2*2) (-3, 2*4) */ | |
640 | |
641 data.sum = 0; | |
642 elisp_maphash_unsafe (test_hash_tables_mapper, | |
643 data.hash_table, (void *) &data); | |
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4752
diff
changeset
|
644 hash_result = Fcons (list3 (build_ascstring ("simple mapper"), |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
645 (data.sum == 3 * (2 + 4)) ? Qt : Qnil, |
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4752
diff
changeset
|
646 build_ascstring ("sum != 3 * (2 + 4)")), |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
647 hash_result); |
489 | 648 |
649 /* Remove entries with negative keys, added by modifying mapper */ | |
650 elisp_map_remhash (test_hash_tables_predicate, | |
651 data.hash_table, 0); | |
652 | |
653 data.sum = 0; | |
654 elisp_maphash_unsafe (test_hash_tables_mapper, | |
655 data.hash_table, (void *) &data); | |
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4752
diff
changeset
|
656 hash_result = Fcons (list3 (build_ascstring ("remove negatives mapper"), |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
657 (data.sum == 2 + 4) ? Qt : Qnil, |
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4752
diff
changeset
|
658 build_ascstring ("sum != 2 + 4")), |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
659 hash_result); |
489 | 660 |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
661 return hash_result; |
489 | 662 } |
663 | |
5013 | 664 DEFUN ("test-store-void-in-lisp", Ftest_store_void_in_lisp, 0, 0, "", /* |
665 Test STORE_VOID_IN_LISP and its inverse GET_VOID_FROM_LISP. | |
666 Tests by internal assert(); only returns if it succeeds. | |
667 */ | |
668 ()) | |
669 { | |
670 struct foobar { int x; int y; short z; void *q; } baz; | |
671 | |
672 #define FROB(val) \ | |
673 do \ | |
674 { \ | |
675 void *pval = (void *) (val); \ | |
676 assert (GET_VOID_FROM_LISP (STORE_VOID_IN_LISP (pval)) == pval); \ | |
677 } \ | |
678 while (0) | |
679 assert (INT_VALBITS >= 31); | |
680 FROB (&baz); | |
681 FROB (&baz.x); | |
682 FROB (&baz.y); | |
683 FROB (&baz.z); | |
684 FROB (&baz.q); | |
685 FROB (0); | |
686 FROB (2); | |
687 FROB (&Vtest_function_list); | |
688 FROB (0x00000080); | |
689 FROB (0x00008080); | |
690 FROB (0x00808080); | |
691 FROB (0x80808080); | |
692 FROB (0xCAFEBABE); | |
693 FROB (0xFFFFFFFE); | |
694 #if INT_VALBITS >= 63 | |
695 FROB (0x0000808080808080); | |
696 FROB (0x8080808080808080); | |
697 FROB (0XDEADBEEFCAFEBABE); | |
698 FROB (0XFFFFFFFFFFFFFFFE); | |
699 #endif /* INT_VALBITS >= 63 */ | |
700 | |
5037 | 701 return list1 (list3 (build_ascstring ("STORE_VOID_IN_LISP"), Qt, Qnil)); |
5013 | 702 } |
703 | |
489 | 704 |
398 | 705 |
3263 | 706 #ifdef NEW_GC |
2720 | 707 #define TESTS_DEFSUBR(Fname) do { \ |
708 DEFSUBR_MC_ALLOC (Fname); \ | |
709 defsubr (S##Fname); \ | |
710 Vtest_function_list = \ | |
711 Fcons (intern (subr_name (S##Fname)), \ | |
712 Vtest_function_list); \ | |
713 } while (0) | |
3263 | 714 #else /* not NEW_GC */ |
398 | 715 #define TESTS_DEFSUBR(Fname) do { \ |
716 DEFSUBR (Fname); \ | |
717 Vtest_function_list = \ | |
718 Fcons (intern (subr_name (&S##Fname)), \ | |
719 Vtest_function_list); \ | |
720 } while (0) | |
3263 | 721 #endif /* not NEW_GC */ |
398 | 722 |
723 void | |
724 syms_of_tests (void) | |
725 { | |
726 Vtest_function_list = Qnil; | |
727 | |
728 TESTS_DEFSUBR (Ftest_data_format_conversion); | |
489 | 729 TESTS_DEFSUBR (Ftest_hash_tables); |
5013 | 730 TESTS_DEFSUBR (Ftest_store_void_in_lisp); |
398 | 731 /* Add other test functions here with TESTS_DEFSUBR */ |
732 } | |
733 | |
734 void | |
735 vars_of_tests (void) | |
736 { | |
737 DEFVAR_LISP ("test-function-list", &Vtest_function_list /* | |
738 List of all test functions defined in tests.c. | |
739 For use by the automated test suite. See tests/automated/c-tests. | |
740 */ ); | |
741 } | |
4747
294a86d29f99
Eliminate C asserts from c-tests.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4318
diff
changeset
|
742 |