Skip to content

Commit d71b83a

Browse files
committed
mv contrib/eus64-check to euslisp/test
1 parent 21a5d86 commit d71b83a

File tree

9 files changed

+120
-53
lines changed

9 files changed

+120
-53
lines changed

.travis.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ if [ "$QEMU" != "" ]; then
8787
export EXIT_STATUS=0;
8888
set +e
8989
# run test in EusLisp/test
90+
make -C test
9091
for test_l in test/*.l; do
9192

9293
travis_time_start euslisp.${test_l##*/}.test
@@ -235,6 +236,7 @@ if [[ "`uname -m`" == "aarch"* ]]; then
235236
fi
236237

237238
# run test in EusLisp/test
239+
make -C $CI_SOURCE_PATH/test
238240
for test_l in $CI_SOURCE_PATH/test/*.l; do
239241

240242
travis_time_start euslisp.${test_l##*/}.test

contrib/eus64-check/Makefile

Lines changed: 0 additions & 34 deletions
This file was deleted.

test/Makefile

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
GCC_MACHINE=$(shell gcc -dumpmachine)
2+
$(info "-- GCC_MACHINE = ${GCC_MACHINE}")
3+
OS=$(shell uname -s | sed 's/[^A-Za-z1-9].*//')
4+
$(info "-- OS = ${OS}")
5+
ifeq ($(OS),Linux)
6+
export MAKEFILE=Makefile.Linux
7+
endif
8+
ifeq ($(OS),CYGWIN)
9+
export MAKEFILE=Makefile.Cygwin
10+
endif
11+
ifeq ($(OS),Darwin)
12+
export MAKEFILE=Makefile.Darwin
13+
endif
14+
15+
$(info "-- MAKEFILE = ${MAKEFILE}")
16+
17+
# set EUSDIR if not defined
18+
export EUSDIR?=$(CURDIR)/..
19+
$(info "-- EUSDIR = ${EUSDIR}")
20+
21+
include $(MAKEFILE)
22+
23+
SRC=test_foreign.c
24+
OBJ=$(basename $(SRC)).o
25+
LIB=$(basename $(SRC)).$(LSFX)
26+
27+
$(LIB): $(OBJ)
28+
$(LD) $(SOFLAGS) $(OUTOPT)$(LIB) $(OBJ) $(LDFLAGS)
29+
@echo "Try make test"
30+
31+
$(OBJ): $(SRC)
32+
$(CC) $(CFLAGS) -DCOMPILE_LIB -c $(SRC) $(OBJOPT)$(OBJ)
33+
34+
clean:
35+
rm -f $(LIB) $(OBJ)
36+
37+
test: $(LIB)
38+
teusgl eus64-test.l
39+
40+
clean :
41+
\rm -f *.o *.so
42+

test/Makefile.Cygwin

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
CC = c++
2+
CFLAGS = -O2 -falign-functions=4 -DCygwin -I$(EUSDIR)/include
3+
LDFLAGS =
4+
OBJOPT = -o
5+
OUTOPT = -o
6+
LD = c++ -shared -falign-functions=4
7+
EXELD = c++ -falign-functions=4
8+
SOFLAGS =
9+
EXESFX = .exe
10+
LSFX = dll
11+
LPFX = lib
12+
LIBS = -L$(ARCHDIR) -lRAPID

test/Makefile.Darwin

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
CC = c++
2+
CFLAGS = -O2 -falign-functions=8 -fPIC -DDarwin -DGCC -I$(EUSDIR)/include
3+
LDFLAGS =
4+
OBJOPT = -o
5+
OUTOPT = -o
6+
LD = c++
7+
SOFLAGS = -dynamiclib -flat_namespace -undefined suppress
8+
EXELD = c++
9+
EXESFX =
10+
LSFX = so
11+
LPFX = lib
12+
LIBS = -L$(ARCHDIR) -lRAPID

test/Makefile.Linux

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
CC = c++
2+
CFLAGS = -O2 -DLinux -DGCC -I$(EUSDIR)/include
3+
LDFLAGS =
4+
OBJOPT = -o
5+
OUTOPT = -o
6+
LD = c++
7+
SOFLAGS = -shared
8+
EXELD = c++
9+
EXESFX =
10+
LSFX = so
11+
LPFX = lib
12+
13+
ifneq (,$(findstring 64,$(shell gcc -dumpmachine)))
14+
CFLAGS+=-falign-functions=8
15+
else
16+
CFLAGS+=-falign-functions=4
17+
endif
18+
19+
ifneq ($(shell gcc -dumpmachine | egrep "^(arm|aarch)"),)
20+
LDFLAGS+=-Wl,-z,execstack
21+
CFLAGS+=-DARM -fPIC
22+
endif
23+
ifneq ($(shell gcc -dumpmachine | grep "^x86_64"),)
24+
CFLAGS+=-fPIC
25+
endif
26+
27+
ifneq ($(shell gcc -dumpmachine | grep "i.*86-linux"),)
28+
CC += -m32
29+
LD += -m32
30+
EXELD += -m32
31+
endif
32+
33+

contrib/eus64-check/eus64-module.l renamed to test/test-foreign-module.l

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
(defforeign ret-float *testmod* "ret_float" () :float32)
1616
(defforeign ret-double *testmod* "ret_double" () :float)
1717
(defforeign ret-long *testmod* "ret_long" () :integer)
18-
18+
1919
(defforeign set-ifunc *testmod* "set_ifunc" (:integer) :integer)
2020
(defforeign set-ffunc *testmod* "set_ffunc" (:integer) :integer)
2121

@@ -34,5 +34,3 @@
3434
(defforeign get-size-long *testmod* "get_size_of_long" () :integer)
3535
(defforeign get-size-int *testmod* "get_size_of_int" () :integer)
3636
)
37-
38-

contrib/eus64-check/eus64-test.l renamed to test/test-foreign.l

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
(load "eus64-module.l")
1+
(load "test-foreign-module.l")
22
(require :unittest "lib/llib/unittest.l")
33

44
(init-unit-test)
@@ -9,7 +9,7 @@
99
(format t "pointer size ~D ~D~%"
1010
lisp::sizeof-* (get-size-pointer))
1111
(assert (= lisp::sizeof-* (get-size-pointer)))
12-
12+
1313
(format t "double size ~D ~D~%"
1414
lisp::sizeof-double (get-size-double))
1515
(assert (= lisp::sizeof-double (get-size-double)))
@@ -50,7 +50,7 @@ test-testd = 1.23456
5050
(assert (eps= 1.23456 ret))
5151

5252
;;
53-
(setq f (piped-fork "irteusgl eus64-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))'"))
53+
(setq f (piped-fork "eusg 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))'"))
5454
(assert (string= (read-line f) "100 101 102"))
5555
(assert (string= (read-line f) "103 104 105"))
5656
(assert (string= (read-line f) "1000.000000 1010.000000 1020.000000 1030.000000"))
@@ -74,7 +74,7 @@ test-testd = 1.23456
7474
(float3-test 0 0.1 0.2 0.3 0.4)
7575

7676
;;
77-
(setq f (piped-fork "irteusgl eus64-module.l '(progn (float-test 0 0.1 0.2 0.3 0.4)(exit 0))'"))
77+
(setq f (piped-fork "eusg test-foreign-module.l '(progn (float-test 0 0.1 0.2 0.3 0.4)(exit 0))'"))
7878
(assert (eps= (read-from-string (subseq (read-line f) 2)) 0.1)) ;; skip first 2 character
7979
(assert (eps= (read-from-string (subseq (read-line f) 2)) 0.2))
8080
(assert (eps= (read-from-string (subseq (read-line f) 2)) 0.3))
@@ -96,12 +96,12 @@ test-testd = 1.23456
9696
(double3-test 1 0.1 0.2 0.3 0.4)
9797

9898
;;
99-
(setq f (piped-fork "irteusgl eus64-module.l '(progn (double-test 1 0.1 0.2 0.3 0.4)(exit 0))'"))
99+
(setq f (piped-fork "eusg test-foreign-module.l '(progn (double-test 1 0.1 0.2 0.3 0.4)(exit 0))'"))
100100
(assert (eps= (read-from-string (subseq (read-line f) 2)) 0.1)) ;; skip first 2 character
101101
(assert (eps= (read-from-string (subseq (read-line f) 2)) 0.2))
102102
(assert (eps= (read-from-string (subseq (read-line f) 2)) 0.3))
103103
(assert (eps= (read-from-string (subseq (read-line f) 2)) 0.4))
104-
(setq f (piped-fork "irteusgl eus64-module.l '(progn (double3-test 1 0.1 0.2 0.3 0.4)(exit 0))'"))
104+
(setq f (piped-fork "eusg test-foreign-module.l '(progn (double3-test 1 0.1 0.2 0.3 0.4)(exit 0))'"))
105105
(assert (eps= (read-from-string (subseq (read-line f) 2)) 0.1)) ;; skip first 2 character
106106
(assert (eps= (read-from-string (subseq (read-line f) 2)) 0.2))
107107
(assert (eps= (read-from-string (subseq (read-line f) 2)) 0.3))
@@ -128,7 +128,7 @@ test-testd = 1.23456
128128
(lv-test (length iv) iv)
129129

130130
;;
131-
(setq f (piped-fork "irteusgl eus64-module.l '(progn (setq iv (integer-vector 0 100 10000 1000000 100000000 10000000000))(lv-test (length iv) iv)(exit 0))'"))
131+
(setq f (piped-fork "eusg test-foreign-module.l '(progn (setq iv (integer-vector 0 100 10000 1000000 100000000 10000000000))(lv-test (length iv) iv)(exit 0))'"))
132132
(assert (string= (read-line f) "size = 6"))
133133
(assert (string= (read-line f) "0: 0 0"))
134134
(assert (string= (read-line f) "1: 100 64"))
@@ -157,7 +157,7 @@ test-testd = 1.23456
157157
(dv-test (length fv) fv)
158158

159159
;;
160-
(setq f (piped-fork "irteusgl eus64-module.l '(progn (setq fv (float-vector 0.1 0.2 0.3 0.5 0.7))(dv-test (length fv) fv)(exit 0))'"))
160+
(setq f (piped-fork "eusg test-foreign-module.l '(progn (setq fv (float-vector 0.1 0.2 0.3 0.5 0.7))(dv-test (length fv) fv)(exit 0))'"))
161161
(assert (string= (read-line f) "size = 5"))
162162
(assert (string= (read-line f) "0: 1.000000e-01 3FB9999999999998"))
163163
(assert (string= (read-line f) "1: 2.000000e-01 3FC9999999999998"))
@@ -174,7 +174,7 @@ test-testd = 1.23456
174174
(format t "~%str-test(exec in eus)~%")
175175
(str-test (length str) str)
176176
;;
177-
(setq f (piped-fork "irteusgl eus64-module.l '(progn (setq str \"input : test64 string\")(str-test (length str) str)(exit 0))'"))
177+
(setq f (piped-fork "eusg test-foreign-module.l '(progn (setq str \"input : test64 string\")(str-test (length str) str)(exit 0))'"))
178178
(assert (string= (read-line f) (format nil "size = ~d" (length str))))
179179
(dotimes (i (length str))
180180
(assert (string= (read-line f) (format nil "~d: ~c ~x" i (elt str i) (elt str i))))

contrib/eus64-check/test_foreign.c renamed to test/test_foreign.c

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include <stdio.h>
22
#include <unistd.h>
33

4+
extern "C" {
45
int float_test(int n, float f1, float f2, float f3, float f4) {
56
unsigned int ui;
67

@@ -90,7 +91,7 @@ int int_test(long l, int i, short s) {
9091
printf("long = %ld(%lX)\n",l,l);
9192
printf("int = %d(%X)\n",i,i);
9293
printf("short = %d(%X)\n",s,s);
93-
94+
9495
return l + i + s;
9596
}
9697

@@ -119,7 +120,7 @@ long ret_long(long a, long b) {
119120
}
120121

121122
double test_testd(long i0, long i1, long i2,
122-
long i3, long i4, long i5,
123+
long i3, long i4, long i5,
123124
double d0, double d1, double d2, double d3,
124125
double d4, double d5, double d6, double d7,
125126
double d8, double d9,
@@ -132,12 +133,12 @@ double test_testd(long i0, long i1, long i2,
132133
printf("%lf %lf %lf %lf\n", d4, d5, d6, d7);
133134
printf("%lf %lf\n", d8, d9);
134135
printf("%ld %ld\n", i6, i7);
135-
136+
136137
//return 0x1234;
137138
return 1.23456;
138139
}
139140
double test_testd2(long i0, long i1, long i2,
140-
long i3, long i4, long i5,
141+
long i3, long i4, long i5,
141142
double d0, double d1, double d2, double d3,
142143
double d4, double d5, double d6, double d7,
143144
double d8, double d9, double d10,
@@ -150,14 +151,14 @@ double test_testd2(long i0, long i1, long i2,
150151
printf("%lf %lf %lf %lf\n", d4, d5, d6, d7);
151152
printf("%lf %lf %lf\n", d8, d9, d10);
152153
printf("%ld %ld\n", i6, i7);
153-
154+
154155
//return 0x1234;
155156
return 1.23456;
156157
}
157158

158159
static long (*g)();
159160
static double (*gf) (long i0, long i1, long i2,
160-
long i3, long i4, long i5,
161+
long i3, long i4, long i5,
161162
double d0, double d1, double d2, double d3,
162163
double d4, double d5, double d6, double d7,
163164
double d8, double d9,
@@ -172,7 +173,7 @@ long set_ifunc(long (*f) ())
172173
long set_ffunc(double (*f) ())
173174
{
174175
gf = (double (*) (long i0, long i1, long i2,
175-
long i3, long i4, long i5,
176+
long i3, long i4, long i5,
176177
double d0, double d1, double d2, double d3,
177178
double d4, double d5, double d6, double d7,
178179
double d8, double d9,
@@ -214,3 +215,4 @@ long get_size_of_long() {
214215
long get_size_of_int() {
215216
return (sizeof(int));
216217
}
218+
}

0 commit comments

Comments
 (0)