mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 19:00:07 +00:00
test-skeleton.c: Add write_message function
This commit is contained in:
parent
4e9bf327ad
commit
14699b6e37
@ -1,3 +1,11 @@
|
||||
2016-06-22 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
* test-skeleton.c (write_message): New function.
|
||||
* malloc/tst-mallocfork2.c (write_message): Remove.
|
||||
* debug/tst-longjmp_chk2.c (write_indented): New function.
|
||||
(write_message): Remove.
|
||||
(stackoverflow_handler): Call write_indented.
|
||||
|
||||
2016-06-22 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/i386/fpu/s_nearbyint.S (__nearbyint): Do not mask
|
||||
|
@ -12,18 +12,20 @@
|
||||
#include <sys/resource.h>
|
||||
#include <unistd.h>
|
||||
|
||||
static int do_test (void);
|
||||
#define TEST_FUNCTION do_test ()
|
||||
#include "../test-skeleton.c"
|
||||
|
||||
static jmp_buf mainloop;
|
||||
static sigset_t mainsigset;
|
||||
static volatile sig_atomic_t pass;
|
||||
|
||||
static void
|
||||
write_message (const char *message)
|
||||
write_indented (const char *str)
|
||||
{
|
||||
ssize_t unused __attribute__ ((unused));
|
||||
for (int i = 0; i < pass; ++i)
|
||||
unused = write (STDOUT_FILENO, " ", 1);
|
||||
unused = write (STDOUT_FILENO, message, strlen (message));
|
||||
write_message (" ");
|
||||
write_message (str);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -33,11 +35,10 @@ stackoverflow_handler (int sig)
|
||||
/* Sanity check to keep test from looping forever (in case the longjmp
|
||||
chk code is slightly broken). */
|
||||
pass++;
|
||||
assert (pass < 5);
|
||||
sigaltstack (NULL, &altstack);
|
||||
write_message ("in signal handler\n");
|
||||
write_indented ("in signal handler\n");
|
||||
if (altstack.ss_flags & SS_ONSTACK)
|
||||
write_message ("on alternate stack\n");
|
||||
write_indented ("on alternate stack\n");
|
||||
siglongjmp (mainloop, pass);
|
||||
}
|
||||
|
||||
@ -127,6 +128,3 @@ do_test (void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define TEST_FUNCTION do_test ()
|
||||
#include "../test-skeleton.c"
|
||||
|
@ -44,6 +44,9 @@ enum { malloc_maximum_size = 70000 };
|
||||
/* How many signals need to be delivered before the test exits. */
|
||||
enum { signal_count = 1000 };
|
||||
|
||||
static int do_test (void);
|
||||
#define TEST_FUNCTION do_test ()
|
||||
#include "../test-skeleton.c"
|
||||
|
||||
/* Process ID of the subprocess which sends SIGUSR1 signals. */
|
||||
static pid_t sigusr1_sender_pid;
|
||||
@ -56,14 +59,6 @@ static volatile sig_atomic_t sigusr1_received;
|
||||
progress. Checked by liveness_signal_handler. */
|
||||
static volatile sig_atomic_t progress_indicator = 1;
|
||||
|
||||
/* Write the message to standard output. Usable from signal
|
||||
handlers. */
|
||||
static void
|
||||
write_message (const char *str)
|
||||
{
|
||||
write (STDOUT_FILENO, str, strlen (str));
|
||||
}
|
||||
|
||||
static void
|
||||
sigusr1_handler (int signo)
|
||||
{
|
||||
@ -213,6 +208,3 @@ do_test (void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define TEST_FUNCTION do_test ()
|
||||
#include "../test-skeleton.c"
|
||||
|
@ -115,6 +115,16 @@ xrealloc (void *p, size_t n)
|
||||
return p;
|
||||
}
|
||||
|
||||
/* Write a message to standard output. Can be used in signal
|
||||
handlers. */
|
||||
static void
|
||||
__attribute__ ((unused))
|
||||
write_message (const char *message)
|
||||
{
|
||||
ssize_t unused __attribute__ ((unused));
|
||||
unused = write (STDOUT_FILENO, message, strlen (message));
|
||||
}
|
||||
|
||||
/* List of temporary files. */
|
||||
struct temp_name_list
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user