Commit Graph

468 Commits

Author SHA1 Message Date
Bendeguz Pisch 35a3efd936 Implement sigsetjmp and siglongjmp for X64 2025-01-04 00:29:19 +00:00
bitstr0m 5d6ae507e1 Implement glob.h 2024-12-12 15:17:16 +00:00
Anhad Singh a527cc53ea tests(pthread): status must be 0 if not leader
Fix CI break.

man pthread_barrier_wait(3)
> ...the constant PTHREAD_BARRIER_SERIAL_THREAD shall be returned to
> one *unspecified* thread and zero shall be  returned  to  each  of  the  remaining
> threads.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-12-05 16:24:10 +11:00
Anhad Singh e8e6b8cbc5 fix(expected): dynamic bins
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-11-26 19:51:06 +11:00
Anhad Singh cdb4843164 fix(tests): fix UB in mk{fifo,nod,nodat}
Memory chunk is allocated with `malloc` and used as the `dest` buffer
for `strncat`. The `dest` argument in `strncat` has to be NUL terminated,
however it was not.

This commit fixes this issue in mk{fifo,nod,noat}.c.

Almost all dynamic tests pass now.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-11-26 16:56:05 +11:00
Anhad Singh 22bbdb025c misc(tests): fix compilation of dlfcn.c
From man dlopen(3)
> According to the ISO C standard, casting between function
> pointers and 'void *', as done above, produces undefined results.
> POSIX.1-2001 and POSIX.1-2008 accepted this state of affairs and
> proposed the following workaround:
>
>   *(void **) (&cosine) = dlsym(handle, "cos");
>
> This (clumsy) cast conforms with the ISO C standard and will
> avoid any compiler warnings.
>
> The 2013 Technical Corrigendum 1 to POSIX.1-2008 improved matters
> by requiring that conforming implementations support casting
> 'void *' to a function pointer.  Nevertheless, some compilers
> (e.g., gcc with the '-pedantic' option) may complain about the
> cast used in this program.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-11-25 18:00:03 +11:00
Anhad Singh 6020c54ce7 chore(test): add expected outputs for dynamic tests
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-11-25 16:16:07 +11:00
Anhad Singh 00746c2566 misc(tests): disable dlfcn test for now
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-11-25 12:31:33 +11:00
Anhad Singh 7aa340570f chore: enable dynamic tests
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-11-25 12:13:03 +11:00
Josh Megnauth daa77e7149 Temporarily disable noreturn attribute test 2024-11-24 13:55:05 +00:00
Jeremy Soller 2c73cc947c Merge branch 'memmem' into 'master'
Implement memmem()

See merge request redox-os/relibc!560
2024-11-17 16:18:15 +00:00
Peter Limkilde Svendsen 6a765ed88f Implement memmem() 2024-11-17 16:18:14 +00:00
Jeremy Soller 09bcfd0711 Merge branch 'errno-const-macros' into 'master'
Test errno constant macros, make ENOTSUP available in Rust

See merge request redox-os/relibc!556
2024-11-17 16:16:47 +00:00
Peter Limkilde Svendsen 42011f28d8 Test errno constant macros, make ENOTSUP available in Rust 2024-11-17 16:16:47 +00:00
Jeremy Soller caac784caa Merge branch 'iso646' into 'master'
Add iso646.h and corresponding tests

See merge request redox-os/relibc!555
2024-11-17 16:16:11 +00:00
Josh Megnauth 5348273ccc Emit C attributes via cbindgen 2024-11-17 16:15:07 +00:00
Peter Limkilde Svendsen 56d05e2cdc Add iso646.h and corresponding tests 2024-11-10 16:19:15 +01:00
Josh Megnauth bf1ea4e799 Set h_errno for gethostbyname/addr 2024-11-02 12:21:47 +00:00
Peter Limkilde Svendsen 41264dc8b1 Add NulTerminatedInclusive iterator, rewrite/fix strchr/wcschr 2024-10-22 22:12:24 +00:00
Ron Williams 84399fb83a fix formatting 2024-10-06 05:43:17 -07:00
Ron Williams 72e5b514f4 Make all tests runnable in the same list 2024-10-06 05:33:56 -07:00
Ron Williams d2ef712fa7 Improve test running on Redox 2024-10-06 04:26:13 -07:00
Jeremy Soller d794dc7704 Merge branch 'test' into 'master'
Add sigaltstack test

See merge request redox-os/relibc!518
2024-09-28 16:09:48 +00:00
4lDO2 07af4e49f7 Add sigaltstack test. 2024-09-28 16:51:17 +02:00
Raffaele Ragni 1864a97a8e Impl net/if.h 2024-09-28 12:50:00 +00:00
4lDO2 293b041ea7 Move psignal test to correct (non-expect) category. 2024-09-24 19:34:53 +02:00
4lDO2 af6435e12d Implement psignal and psiginfo. 2024-09-24 19:34:53 +02:00
4lDO2 2b7a1ea94b Fix sigsuspend and add it to the sigqueue test. 2024-09-24 19:34:53 +02:00
4lDO2 9701e9c544 Add sigtimedwait to test, and various fixes. 2024-09-24 19:34:53 +02:00
4lDO2 30caf55429 Set siginfo_t.si_{pid,uid} from kill signals too. 2024-09-24 19:34:51 +02:00
4lDO2 f6761407e5 Pass si_pid to all realtime signals. 2024-09-24 19:34:51 +02:00
4lDO2 6fe7c264f6 Pass si_code to siginfo_t struct. 2024-09-24 19:34:51 +02:00
4lDO2 13e7b77643 Implement basic support for (kernel) rt signals. 2024-09-24 19:34:50 +02:00
4lDO2 c0e7af5289 Backwards-compatibly rewrite getdents to use special syscall. 2024-09-11 23:32:19 +02:00
Peter Limkilde Svendsen bb5adffdff Test endian.h macros 2024-09-06 22:28:24 +02:00
Peter Limkilde Svendsen 1cbbafd8b1 Fix little-endian-specific endian.h tests 2024-09-06 19:26:33 +02:00
Arnold Loubriat 9e20c351d8 Add endian.h 2024-09-04 00:50:30 +02:00
4lDO2 651445d0c9 Move forkpty test from EXPECT_NAMES to NAMES. 2024-08-10 13:08:11 +02:00
4lDO2 70e31a9454 Dup stdout rather than opening /dev/stdout.
The former is more portable, even on Linux if for example sudo/doas is used.
2024-08-10 13:00:13 +02:00
Jeremy Soller a38638542d Merge branch 'ctermid' into 'master'
Implement ctermid()

See merge request redox-os/relibc!490
2024-08-01 18:42:29 +00:00
Jeremy Soller dc9a577354 Merge branch 'mktime-timegm-refactor' into 'master'
Refactor mktime, timegm and fix wcpncpy test

See merge request redox-os/relibc!487
2024-08-01 18:42:01 +00:00
Peter Limkilde Svendsen 17076f37b9 Refactor mktime, timegm and fix wcpncpy test 2024-08-01 18:42:01 +00:00
Jeremy Soller 455d7323e9 Merge branch 'swscanf_works' into 'master'
swscanf and vswscanf implementation proposal

See merge request redox-os/relibc!472
2024-08-01 18:41:14 +00:00
Nicolás Antinori 198c5502b7 swscanf and vswscanf implementation proposal 2024-08-01 18:41:14 +00:00
Jeremy Soller af4fbf374e Merge branch 'dprintf' into 'master'
Implement dprintf and vdprintf

See merge request redox-os/relibc!489
2024-08-01 18:39:58 +00:00
Agoston Szepessy cdf5c70d5b Implement ctermid() 2024-07-25 11:32:26 +02:00
Agoston Szepessy bb1e8fe8d7 Implement dprintf and vdprintf 2024-07-23 22:15:53 +02:00
Agoston Szepessy a83d4cbced Implement getpass()
Also make fields in `termios` public; required for modifying them.

There's an new type of test: `EXPECT_INPUT_BINS`. These require a `.exp`
file to be present along with the `.c` file. The `.exp` file takes the
produced binary as an argument and sends input to the program. This is
useful for testing functions like `getpass()`.
2024-07-23 16:07:25 +02:00
4lDO2 01ce7f5aa1 Fix sigchld test. 2024-07-18 23:59:48 +02:00
Jeremy Soller 312b66e547 Merge branch 'usignal2' into 'master'
Implement syscall restart

See merge request redox-os/relibc!483
2024-07-17 09:38:41 +00:00