https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a3af97df133d8773379e1…
commit a3af97df133d8773379e1e339ac79933dc8fc874
Author: Stanislav Motylkov <x86corez(a)gmail.com>
AuthorDate: Wed Sep 8 19:28:59 2021 +0300
Commit: Stanislav Motylkov <x86corez(a)gmail.com>
CommitDate: Wed Sep 8 19:44:56 2021 +0300
[CRT_APITEST] Do not test functions that are missing on ARM
Addendum to 5f548654. ROSTESTS-374 CORE-17604
---
dll/win32/msvcrt/msvcrt.spec | 28 ++++++++++++++--------------
modules/rostests/apitests/crt/crtdata.c | 28 ++++++++++++++++++++++++++++
2 files changed, 42 insertions(+), 14 deletions(-)
diff --git a/dll/win32/msvcrt/msvcrt.spec b/dll/win32/msvcrt/msvcrt.spec
index 4ecdd97de49..62295ac46a3 100644
--- a/dll/win32/msvcrt/msvcrt.spec
+++ b/dll/win32/msvcrt/msvcrt.spec
@@ -255,8 +255,8 @@
@ cdecl ___lc_collate_cp_func()
@ cdecl ___lc_handle_func()
@ cdecl ___mb_cur_max_func()
-@ cdecl ___setlc_active_func()
-@ cdecl ___unguarded_readlc_active_add_func()
+@ cdecl -arch=i386,x86_64 ___setlc_active_func()
+@ cdecl -arch=i386,x86_64 ___unguarded_readlc_active_add_func()
@ extern __argc
@ extern __argv
@ extern __badioinfo __badioinfo
@@ -272,13 +272,13 @@
@ stub -version=0x600+ __dstbias
@ cdecl __fpecode()
@ cdecl __getmainargs(ptr ptr ptr long ptr)
-@ extern __initenv
+@ extern -arch=i386,x86_64 __initenv
@ cdecl __iob_func()
@ cdecl __isascii(long)
@ cdecl __iscsym(long)
@ cdecl __iscsymf(long)
-@ extern __lc_codepage
-@ extern __lc_collate_cp MSVCRT___lc_collate_cp
+@ extern -arch=i386,x86_64 __lc_codepage
+@ extern -arch=i386,x86_64 __lc_collate_cp MSVCRT___lc_collate_cp
@ extern __lc_handle MSVCRT___lc_handle
@ cdecl __lconv_init()
@ stub -version=0x600+ -arch=i386 __libm_sse2_acos
@@ -337,7 +337,7 @@
@ cdecl __pwctype_func()
@ cdecl __pxcptinfoptrs()
@ cdecl __set_app_type(long)
-@ extern __setlc_active
+@ extern -arch=i386,x86_64 __setlc_active
@ cdecl __setusermatherr(ptr)
@ stub -version=0x600+ __strncnt
@ cdecl __threadhandle() kernel32.GetCurrentThread
@@ -345,13 +345,13 @@
@ cdecl __toascii(long)
@ cdecl __unDName(ptr str long ptr ptr long)
@ cdecl __unDNameEx(ptr str long ptr ptr ptr long)
-@ extern __unguarded_readlc_active
+@ extern -arch=i386,x86_64 __unguarded_readlc_active
@ extern __wargv __wargv
@ cdecl __wcserror(wstr)
@ cdecl -version=0x600+ __wcserror_s(ptr long wstr)
@ stub -version=0x600+ __wcsncnt
@ cdecl __wgetmainargs(ptr ptr ptr long ptr)
-@ extern __winitenv
+@ extern -arch=i386,x86_64 __winitenv
@ cdecl -arch=i386 _abnormal_termination()
# stub _abs64
@ cdecl _access(str long)
@@ -460,14 +460,14 @@
@ extern _daylight
@ stub -version=0x600+ _difftime32
@ stub -version=0x600+ _difftime64
-@ extern _dstbias
+@ extern -arch=i386,x86_64 _dstbias
@ cdecl _dup(long)
@ cdecl _dup2(long long)
@ cdecl _ecvt(double long ptr ptr)
@ stub -version=0x600+ _ecvt_s
@ cdecl _endthread()
@ cdecl _endthreadex(long)
-@ extern _environ
+@ extern -arch=i386,x86_64 _environ
@ cdecl _eof(long)
@ cdecl _errno()
@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr)
@@ -491,7 +491,7 @@
@ cdecl _fgetchar()
@ cdecl _fgetwchar()
@ cdecl _filbuf(ptr)
-@ extern _fileinfo
+@ extern -arch=i386,x86_64 _fileinfo
@ cdecl _filelength(long)
@ cdecl -ret64 _filelengthi64(long)
@ cdecl _fileno(ptr)
@@ -886,7 +886,7 @@
@ extern _onexit # Declaring it as extern let us use the symbol from msvcrtex while
having the __imp_ symbol defined in the import lib
@ varargs _open(str long)
@ cdecl _open_osfhandle(long long)
-@ extern _osplatform
+@ extern -arch=i386,x86_64 _osplatform
@ extern _osver
@ cdecl -arch=i386 _outp(long long) MSVCRT__outp
@ cdecl -arch=i386 _outpd(long long) MSVCRT__outpd
@@ -1186,7 +1186,7 @@
@ stub -version=0x600+ _wctomb_l
@ stub -version=0x600+ _wctomb_s_l
@ extern _wctype
-@ extern _wenviron
+@ extern -arch=i386,x86_64 _wenviron
@ varargs _wexecl(wstr wstr)
@ varargs _wexecle(wstr wstr)
@ varargs _wexeclp(wstr wstr)
@@ -1216,7 +1216,7 @@
@ extern _winmajor
@ extern _winminor
@ stub -version=0x600+ _winput_s
-@ extern _winver
+@ extern -arch=i386,x86_64 _winver
@ cdecl _wmakepath(ptr wstr wstr wstr wstr)
@ stub -version=0x600+ _wmakepath_s
@ cdecl _wmkdir(wstr)
diff --git a/modules/rostests/apitests/crt/crtdata.c
b/modules/rostests/apitests/crt/crtdata.c
index 2022d43e81e..baf73a2f278 100644
--- a/modules/rostests/apitests/crt/crtdata.c
+++ b/modules/rostests/apitests/crt/crtdata.c
@@ -62,6 +62,7 @@ void Test___badioinfo(void)
ok(__badioinfo[0] != NULL, "__badioinfo is NULL\n");
}
+#ifndef _M_ARM
void Test___initenv(void)
{
_CRTIMP extern char** __initenv;
@@ -93,6 +94,7 @@ void Test___lc_collate_cp(void)
ok_int(___lc_collate_cp_func(), 0);
__lc_collate_cp--;
}
+#endif // !_M_ARM
void Test___lc_handle(void)
{
@@ -145,6 +147,7 @@ void Test___pioinfo(void)
}
+#ifndef _M_ARM
void Test___setlc_active(void)
{
_CRTIMP extern unsigned int __setlc_active;
@@ -166,6 +169,7 @@ void Test___unguarded_readlc_active(void)
_CRTIMP unsigned int* ___unguarded_readlc_active_add_func(void);
ok_ptr(___unguarded_readlc_active_add_func(), p);
}
+#endif // !_M_ARM
void Test___wargv(void)
{
@@ -180,6 +184,7 @@ void Test___wargv(void)
#endif
}
+#ifndef _M_ARM
void Test___winitenv(void)
{
_CRTIMP extern wchar_t** __winitenv;
@@ -189,6 +194,7 @@ void Test___winitenv(void)
ok_ptr(__p___winitenv(), &__winitenv);
#endif
}
+#endif
void Test__acmdln(void)
{
@@ -293,6 +299,7 @@ void Test__daylight(void)
#endif
}
+#ifndef _M_ARM
void Test__dstbias(void)
{
void* p = &_dstbias;
@@ -334,6 +341,7 @@ void Test__fileinfo(void)
ok_ptr(__p__fileinfo(), &_fileinfo);
#endif
}
+#endif // !_M_ARM
void Test__fmode(void)
{
@@ -408,6 +416,7 @@ void Test__mbctype(void)
#endif
}
+#ifndef _M_ARM
void Test__osplatform(void)
{
ok_int(_osplatform, s_osvi.dwPlatformId);
@@ -416,6 +425,7 @@ void Test__osplatform(void)
ok_ptr(_get_osplatform(), _osplatform);
#endif
}
+#endif
void Test__osver(void)
{
@@ -510,6 +520,7 @@ void Test__wcmdln(void)
#endif
}
+#ifndef _M_ARM
void Test__wenviron(void)
{
void* p = &_wenviron;
@@ -526,6 +537,7 @@ void Test__wenviron(void)
ok_int(_get_wenviron(), _wenviron);
#endif
}
+#endif
void Test__winmajor(void)
{
@@ -553,6 +565,7 @@ void Test__winminor(void)
#endif
}
+#ifndef _M_ARM
void Test__winver(void)
{
ok_int(_winver, (s_osvi.dwMajorVersion << 8) | s_osvi.dwMinorVersion);
@@ -565,6 +578,7 @@ void Test__winver(void)
ok_int(_get_winver(), _winver);
#endif
}
+#endif
void Test__wpgmptr(void)
{
@@ -598,16 +612,22 @@ START_TEST(crtdata)
Test___argc();
Test___argv();
Test___badioinfo();
+#ifndef _M_ARM
Test___initenv();
Test___lc_codepage();
Test___lc_collate_cp();
+#endif
Test___lc_handle();
Test___mb_cur_max();
Test___pioinfo();
+#ifndef _M_ARM
Test___setlc_active();
Test___unguarded_readlc_active();
+#endif
Test___wargv();
+#ifndef _M_ARM
Test___winitenv();
+#endif
Test__acmdln();
#ifdef _M_IX86
Test__adjust_fdiv();
@@ -616,14 +636,18 @@ START_TEST(crtdata)
Test__commode();
Test__ctype();
Test__daylight();
+#ifndef _M_ARM
Test__dstbias();
Test__environ();
Test__fileinfo();
+#endif
Test__fmode();
Test__iob();
Test__mbcasemap();
Test__mbctype();
+#ifndef _M_ARM
Test__osplatform();
+#endif
Test__osver();
Test__pgmptr();
Test__sys_errlist();
@@ -632,9 +656,13 @@ START_TEST(crtdata)
Test__tzname();
Test__wcmdln();
Test__wctype();
+#ifndef _M_ARM
Test__wenviron();
+#endif
Test__winmajor();
Test__winminor();
+#ifndef _M_ARM
Test__winver();
+#endif
Test__wpgmptr();
}