Skip to content

Commit 2dfde2e

Browse files
committed
update test code for armhf
1 parent 536f3ec commit 2dfde2e

File tree

3 files changed

+49
-0
lines changed

3 files changed

+49
-0
lines changed

test/test-foreign.l

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
206 207
7171
test-testd = 1.23456
7272
~%")
73+
(when (not (and (memq :word-size=32 *features*) (memq :arm *features*)))
7374
(format t "exec in eus~%")
7475
(format t "test-testd = ~A~%"
7576
(setq ret (test-testd 100 101 102
@@ -81,6 +82,7 @@ test-testd = 1.23456
8182
(assert (eps= 1.23456 ret))
8283

8384
;;
85+
(check-func 'test-testd)
8486
(setq f (piped-fork (format nil "eusg ~A/test/test-foreign.module_l '(progn (test-testd 100 101 102 103 104 105 1000.000000 1010.000000 1020.000000 1030.000000 1040.000000 1050.000000 1060.000000 1070.000000 2080.000000 2090.000000 206 207)(exit 0))'" *eusdir*)))
8587
(assert-read-line-string= f "100 101 102")
8688
(assert-read-line-string= f "103 104 105")
@@ -90,6 +92,26 @@ test-testd = 1.23456
9092
(assert-read-line-string= f "206 207")
9193
)
9294

95+
(format t "exec in eus~%")
96+
(format t "test-testf = ~A~%"
97+
(setq ret (test-testf 100 101 102
98+
103 104 105
99+
1000.0 1010.0 1020.0 1030.0
100+
1040.0 1050.0 1060.0 1070.0
101+
2080.0 2090.0
102+
206 207)))
103+
(assert (eps= 1.23456 ret))
104+
;;
105+
(check-func 'test-testf)
106+
(setq f (piped-fork (format nil "eusg ~A/test/test-foreign.module_l '(progn (test-testf 100 101 102 103 104 105 1000.000000 1010.000000 1020.000000 1030.000000 1040.000000 1050.000000 1060.000000 1070.000000 2080.000000 2090.000000 206 207)(exit 0))'" *eusdir*)))
107+
(assert-read-line-string= f "100 101 102")
108+
(assert-read-line-string= f "103 104 105")
109+
(assert-read-line-string= f "1000.000000 1010.000000 1020.000000 1030.000000")
110+
(assert-read-line-string= f "1040.000000 1050.000000 1060.000000 1070.000000")
111+
(assert-read-line-string= f "2080.000000 2090.000000")
112+
(assert-read-line-string= f "206 207")
113+
)
114+
93115
(deftest test-int-test
94116
(format t "~%~%int-test~%")
95117
(format t "expected result~%")
@@ -205,6 +227,7 @@ test-testd = 1.23456
205227
(double3-test 1 0.1 0.2 0.3 0.4)
206228

207229
;;
230+
(when (not (and (memq :word-size=32 *features*) (memq :arm *features*)))
208231
(check-func 'double-test)
209232
(setq f (piped-fork (format nil "eusg ~A/test/test-foreign.module_l '(progn (double-test 1 0.1 0.2 0.3 0.4)(exit 0))'" *eusdir*)))
210233
(assert-read-line-eps= f 0.1)
@@ -218,6 +241,7 @@ test-testd = 1.23456
218241
(assert-read-line-eps= f 0.3)
219242
(assert-read-line-eps= f 0.4)
220243
)
244+
)
221245

222246
(deftest test-eusfloat-test
223247
(format t "~%~%eusfloat-test~%")
@@ -432,10 +456,12 @@ test-testd = 1.23456
432456
(format t "~%ret-double(exec in eus)~%")
433457
(format t " ret-double ~8,8e~%" (ret-double 0.55555 133.0))
434458
;;
459+
(when (not (and (memq :word-size=32 *features*) (memq :arm *features*)))
435460
(check-func 'ret-double)
436461
(assert-read-funcall= '(ret-double 0.55555 133.0) (+ 0.55555 133.0))
437462
(assert (eps= (ret-double 0.55555 133.0) (+ 0.55555 133.0)))
438463
)
464+
)
439465

440466
(deftest test-return-eusfloat
441467
(format t "~%return eusfloat test~%")

test/test-foreign.module_l

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@
3939
:double :double :double :double
4040
:double :double
4141
:integer :integer) :float)
42+
(defforeign test-testf *testmod* "test_testf" (:integer :integer :integer
43+
:integer :integer :integer
44+
:float :float :float :float
45+
:float :float :float :float
46+
:float :float
47+
:integer :integer) :float)
4248
(defforeign call-ifunc *testmod* "call_ifunc" () :integer)
4349
(defforeign call-ffunc *testmod* "call_ffunc" () :float)
4450

test/test_foreign.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,24 @@ double test_testd2(long i0, long i1, long i2,
289289
//return 0x1234;
290290
return 1.23456;
291291
}
292+
eusfloat_t test_testf(long i0, long i1, long i2,
293+
long i3, long i4, long i5,
294+
eusfloat_t d0, eusfloat_t d1, eusfloat_t d2, eusfloat_t d3,
295+
eusfloat_t d4, eusfloat_t d5, eusfloat_t d6, eusfloat_t d7,
296+
eusfloat_t d8, eusfloat_t d9,
297+
long i6, long i7) {
298+
printf("%ld %ld %ld\n", i0, i1, i2);
299+
printf("%ld %ld %ld\n", i3, i4, i5);
300+
//printf("%ld %ld %ld %ld\n",
301+
//(long)d0, (long)d1, (long)d2, (long)d3);
302+
printf("%lf %lf %lf %lf\n", d0, d1, d2, d3);
303+
printf("%lf %lf %lf %lf\n", d4, d5, d6, d7);
304+
printf("%lf %lf\n", d8, d9);
305+
printf("%ld %ld\n", i6, i7);
292306

307+
//return 0x1234;
308+
return 1.23456;
309+
}
293310
static long (*g)();
294311
static double (*gf) (long i0, long i1, long i2,
295312
long i3, long i4, long i5,

0 commit comments

Comments
 (0)