--- testsuites/psxtests/Makefile.am | 10 +++- testsuites/psxtests/psxhdrs/aio/aio_cancel.c | 49 +++++++++++++++++ testsuites/psxtests/psxhdrs/aio/aio_error.c | 53 +++++++++++++++++++ testsuites/psxtests/psxhdrs/aio/aio_fsync.c | 49 +++++++++++++++++ testsuites/psxtests/psxhdrs/aio/aio_read.c | 52 ++++++++++++++++++ testsuites/psxtests/psxhdrs/aio/aio_return.c | 53 +++++++++++++++++++ testsuites/psxtests/psxhdrs/aio/aio_suspend.c | 52 ++++++++++++++++++ testsuites/psxtests/psxhdrs/aio/aio_write.c | 52 ++++++++++++++++++ testsuites/psxtests/psxhdrs/aio/lio_listio.c | 51 ++++++++++++++++++ 9 files changed, 420 insertions(+), 1 deletion(-) create mode 100755 testsuites/psxtests/psxhdrs/aio/aio_cancel.c create mode 100755 testsuites/psxtests/psxhdrs/aio/aio_error.c create mode 100755 testsuites/psxtests/psxhdrs/aio/aio_fsync.c create mode 100755 testsuites/psxtests/psxhdrs/aio/aio_read.c create mode 100755 testsuites/psxtests/psxhdrs/aio/aio_return.c create mode 100755 testsuites/psxtests/psxhdrs/aio/aio_suspend.c create mode 100755 testsuites/psxtests/psxhdrs/aio/aio_write.c create mode 100755 testsuites/psxtests/psxhdrs/aio/lio_listio.c
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am index 3b1c36338a..f1c4f43a0d 100644 --- a/testsuites/psxtests/Makefile.am +++ b/testsuites/psxtests/Makefile.am @@ -1826,7 +1826,15 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \ psxhdrs/sys/select/FD_SET.c \ psxhdrs/sys/select/FD_ZERO.c \ psxhdrs/sys/select/pselect.c \ - psxhdrs/sys/select/select.c + psxhdrs/sys/select/select.c \ + psxhdrs/aio/aio_read.c \ + psxhdrs/aio/aio_error.c \ + psxhdrs/aio/aio_cancel.c \ + psxhdrs/aio/aio_write.c \ + psxhdrs/aio/aio_fsync.c \ + psxhdrs/aio/aio_return.c \ + psxhdrs/aio/aio_suspend.c \ + psxhdrs/aio/lio_listio.c ## Not supported by RTEMS, but POSIX API Compliance tests exist. ## lib_a_SOURCES += psxhdrs/ulimit/ulimit.c diff --git a/testsuites/psxtests/psxhdrs/aio/aio_cancel.c b/testsuites/psxtests/psxhdrs/aio/aio_cancel.c new file mode 100755 index 0000000000..78f312eb27 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/aio/aio_cancel.c @@ -0,0 +1,49 @@ +/** + * @file + * @brief aio_cancel() API Conformance Test + */ + +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2019 Jacob Shin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <aio.h> + +int test( void ); + +int test( void ) +{ + int return_value; + int fildes = -1; + struct aiocb *aiocbp = NULL; + + return_value = aio_cancel(fildes, aiocbp); + return (return_value != -1); +} \ No newline at end of file diff --git a/testsuites/psxtests/psxhdrs/aio/aio_error.c b/testsuites/psxtests/psxhdrs/aio/aio_error.c new file mode 100755 index 0000000000..1e0fed821f --- /dev/null +++ b/testsuites/psxtests/psxhdrs/aio/aio_error.c @@ -0,0 +1,53 @@ +/** + * @file + * @brief aio_error() API Conformance Test + */ + +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2019 Jacob Shin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <aio.h> + +int test( void ); + +int test( void ) +{ + int return_value; + struct aiocb aiocbp; + char buf[1]; + aiocbp.aio_fildes = -1; + aiocbp.aio_nbytes = 1; + aiocbp.aio_buf = &buf; + aio_read(&aiocbp); + + return_value = aio_error(&aiocbp); + return (return_value != -1); +} \ No newline at end of file diff --git a/testsuites/psxtests/psxhdrs/aio/aio_fsync.c b/testsuites/psxtests/psxhdrs/aio/aio_fsync.c new file mode 100755 index 0000000000..bdb15e94fc --- /dev/null +++ b/testsuites/psxtests/psxhdrs/aio/aio_fsync.c @@ -0,0 +1,49 @@ +/** + * @file + * @brief aio_fsync() API Conformance Test + */ + +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2019 Jacob Shin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <aio.h> + +int test( void ); + +int test( void ) +{ + int return_value; + int op = O_SYNC; + struct aiocb aiocbp; + + return_value = aio_fsync(op, &aiocbp); + return (return_value != -1); +} \ No newline at end of file diff --git a/testsuites/psxtests/psxhdrs/aio/aio_read.c b/testsuites/psxtests/psxhdrs/aio/aio_read.c new file mode 100755 index 0000000000..e3e7aaeefe --- /dev/null +++ b/testsuites/psxtests/psxhdrs/aio/aio_read.c @@ -0,0 +1,52 @@ +/** + * @file + * @brief aio_read() API Conformance Test + */ + +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2019 Jacob Shin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <aio.h> + +int test( void ); + +int test( void ) +{ + int return_value; + struct aiocb aiocbp; + char buf[1]; + aiocbp.aio_fildes = -1; + aiocbp.aio_nbytes = 1; + aiocbp.aio_buf = &buf; + + return_value = aio_read(&aiocbp); + return (return_value != -1); +} \ No newline at end of file diff --git a/testsuites/psxtests/psxhdrs/aio/aio_return.c b/testsuites/psxtests/psxhdrs/aio/aio_return.c new file mode 100755 index 0000000000..d638dd142a --- /dev/null +++ b/testsuites/psxtests/psxhdrs/aio/aio_return.c @@ -0,0 +1,53 @@ +/** + * @file + * @brief aio_return() API Conformance Test + */ + +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2019 Jacob Shin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <aio.h> + +int test( void ); + +int test( void ) +{ + int return_value; + struct aiocb aiocbp; + char buf[1]; + aiocbp.aio_fildes = -1; + aiocbp.aio_nbytes = 1; + aiocbp.aio_buf = &buf; + aio_read(&aiocbp); + + return_value = aio_return(&aiocbp); + return (return_value != -1); +} \ No newline at end of file diff --git a/testsuites/psxtests/psxhdrs/aio/aio_suspend.c b/testsuites/psxtests/psxhdrs/aio/aio_suspend.c new file mode 100755 index 0000000000..3834754dda --- /dev/null +++ b/testsuites/psxtests/psxhdrs/aio/aio_suspend.c @@ -0,0 +1,52 @@ +/** + * @file + * @brief aio_suspend() API Conformance Test + */ + +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2019 Jacob Shin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <aio.h> + +int test( void ); + +int test( void ) +{ + int return_value; + const struct aiocb *list[1] = {NULL}; + int nent = 1; + struct timespec timeout; + timeout.tv_sec = 1; + timeout.tv_nsec = 0; + + return_value = aio_suspend(list, nent, &timeout); + return (return_value != -1); +} \ No newline at end of file diff --git a/testsuites/psxtests/psxhdrs/aio/aio_write.c b/testsuites/psxtests/psxhdrs/aio/aio_write.c new file mode 100755 index 0000000000..711eb43323 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/aio/aio_write.c @@ -0,0 +1,52 @@ +/** + * @file + * @brief aio_write() API Conformance Test + */ + +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2019 Jacob Shin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <aio.h> + +int test( void ); + +int test( void ) +{ + int return_value; + struct aiocb aiocbp; + char buf[1]; + aiocbp.aio_fildes = -1; + aiocbp.aio_nbytes = 1; + aiocbp.aio_buf = &buf; + + return_value = aio_write(&aiocbp); + return (return_value != -1); +} \ No newline at end of file diff --git a/testsuites/psxtests/psxhdrs/aio/lio_listio.c b/testsuites/psxtests/psxhdrs/aio/lio_listio.c new file mode 100755 index 0000000000..fba0362df3 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/aio/lio_listio.c @@ -0,0 +1,51 @@ +/** + * @file + * @brief lio_listio() API Conformance Test + */ + +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2019 Jacob Shin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <aio.h> + +int test( void ); + +int test( void ) +{ + int return_value; + struct aiocb *list[1] = {NULL}; + int nent = 1; + int mode = LIO_NOWAIT; + struct sigevent *sig = NULL; + + return_value = lio_listio(mode, list, nent, sig); + return (return_value != -1); +} \ No newline at end of file -- 2.17.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel