1
0
mirror of https://github.com/signalwire/freeswitch.git synced 2025-08-13 01:26:58 +00:00
Files
build
clients
cmake_modules
conf
debian
docs
dtd
fonts
fscomm
htdocs
html5
images
libs
apr
atomic
build
docs
dso
file_io
helpers
images
include
locks
memory
misc
mmap
network_io
passwd
poll
random
shmem
strings
support
tables
test
data
internal
Makefile.in
Makefile.win
NWGNUmakefile
README
abts.c
abts.h
abts_tests.h
aprtest.def
aprtest.dsp
aprtest.win
globalmutexchild.c
mod_test.c
nw_misc.c
nwgnuaprtest
nwgnuglobalmutexchild
nwgnumod_test
nwgnuproc_child
nwgnureadchild
nwgnusockchild
nwgnutestatmc
nwgnutryread
occhild.c
proc_child.c
readchild.c
sendfile.c
sockchild.c
testall.dsp
testall.dsw
testapp.c
testapp.dsp
testappnt.dsp
testargs.c
testatomic.c
testdir.c
testdso.c
testdup.c
testenv.c
testfile.c
testfilecopy.c
testfileinfo.c
testflock.c
testflock.h
testfmt.c
testfnmatch.c
testglobalmutex.c
testglobalmutex.h
testhash.c
testipsub.c
testlfs.c
testlock.c
testlockperf.c
testmmap.c
testmutexscope.c
testnames.c
testoc.c
testpath.c
testpipe.c
testpoll.c
testpools.c
testproc.c
testprocmutex.c
testrand.c
testrand2.c
testshm.c
testshm.h
testshmconsumer.c
testshmproducer.c
testsleep.c
testsock.c
testsock.h
testsockets.c
testsockopt.c
teststr.c
teststrnatcmp.c
testtable.c
testtemp.c
testthread.c
testtime.c
testud.c
testuser.c
testutil.c
testutil.h
testvsn.c
tryread.c
threadproc
time
user
.update
CHANGES
CMakeLists.txt
LICENSE
Makefile.in
NOTICE
NWGNUmakefile
README.dev
apr-config.in
apr.dsp
apr.dsw
apr.pc.in
apr.spec
build-outputs.mk
build.conf
buildconf
config.layout
configure.ac
configure.gnu
emacs-mode
libapr.dsp
libapr.rc
libaprnw.mcp.zip
renames_pending
apr-util
broadvoice
esl
freetdm
iksemel
ilbc
libcodec2
libdingaling
libg722_1
libks
libnatpmp
libscgi
libsndfile
libteletone
libtpl-1.5
libzrtp
miniupnpc
silk
sofia-sip
spandsp
srtp
tiff-4.0.2
unimrcp
win32
xmlrpc-c
.gitignore
scripts
src
support-d
tests
w32
web
yum
.clang-format
.gitattributes
.gitignore
.mailmap
Freeswitch.2015.sln
Freeswitch.2015.sln.bat
INSTALL
Makefile.am
acinclude.m4
bootstrap.sh
cc.sh
cluecon.tmpl
cluecon2.tmpl
cluecon2_small.tmpl
cluecon_small.tmpl
configure.ac
devel-bootstrap.sh
erlang.spec
freeswitch-config-rayo.spec
freeswitch-sounds-en-ca-june.spec
freeswitch-sounds-en-us-callie.spec
freeswitch-sounds-fr-ca-june.spec
freeswitch-sounds-music.spec
freeswitch-sounds-pt-BR-karina.spec
freeswitch-sounds-ru-RU-elena.spec
freeswitch-sounds-sv-se-jakob.spec
freeswitch.spec
swig_common.i
freeswitch/libs/apr/test/testfnmatch.c

77 lines
2.2 KiB
C
Raw Normal View History

/* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "testutil.h"
#include "apr_file_info.h"
#include "apr_fnmatch.h"
#include "apr_tables.h"
/* XXX NUM_FILES must be equal to the nummber of expected files with a
* .txt extension in the data directory at the time testfnmatch
* happens to be run (!?!). */
#define NUM_FILES (5)
static void test_glob(abts_case *tc, void *data)
{
int i;
char **list;
apr_array_header_t *result;
APR_ASSERT_SUCCESS(tc, "glob match against data/*.txt",
apr_match_glob("data\\*.txt", &result, p));
ABTS_INT_EQUAL(tc, NUM_FILES, result->nelts);
list = (char **)result->elts;
for (i = 0; i < result->nelts; i++) {
char *dot = strrchr(list[i], '.');
ABTS_STR_EQUAL(tc, dot, ".txt");
}
}
static void test_glob_currdir(abts_case *tc, void *data)
{
int i;
char **list;
apr_array_header_t *result;
apr_filepath_set("data", p);
APR_ASSERT_SUCCESS(tc, "glob match against *.txt with data as current",
apr_match_glob("*.txt", &result, p));
ABTS_INT_EQUAL(tc, NUM_FILES, result->nelts);
list = (char **)result->elts;
for (i = 0; i < result->nelts; i++) {
char *dot = strrchr(list[i], '.');
ABTS_STR_EQUAL(tc, dot, ".txt");
}
apr_filepath_set("..", p);
}
abts_suite *testfnmatch(abts_suite *suite)
{
suite = ADD_SUITE(suite)
abts_run_test(suite, test_glob, NULL);
abts_run_test(suite, test_glob_currdir, NULL);
return suite;
}