summaryrefslogtreecommitdiff
path: root/tests/unistr/test-u8-strstr.c
blob: 12da0fb50bc45fdd276c24b6393f151bc3bb8387 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* Test of u8_strstr() function.
   Copyright (C) 2011-2024 Free Software Foundation, Inc.

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */

/* Written by Pádraig Brady <P@draigBrady.com>, 2011.  */

#include <config.h>

#include "unistr.h"

#include <stdint.h>
#include <stdlib.h>
#include <signal.h> /* For signal.  */
#include <unistd.h> /* For alarm.  */

#include "macros.h"

#define UNIT uint8_t
#define U_STRSTR u8_strstr
#define U_SET u8_set
#include "test-u-strstr.h"

int
main (void)
{
#if HAVE_DECL_ALARM
  /* Declare failure if test takes too long, by using default abort
     caused by SIGALRM.  Note since we defer to strstr() in this
     case, we're assuming that we're running this test on the
     same system that we did the check to ensure it has linear
     performance characteristics.  */
  int alarm_value = 50;
  signal (SIGALRM, SIG_DFL);
  alarm (alarm_value);
#endif

  test_u_strstr ();

  return test_exit_status;
}