test/selftest.cpp

Tue, 04 Oct 2022 19:25:07 +0200

author
Mike Becker <universe@uap-core.de>
date
Tue, 04 Oct 2022 19:25:07 +0200
changeset 591
7df0bcaecffa
parent 570
7edce1b5a798
child 651
19d1a8422f6e
permissions
-rw-r--r--

fix over-optimization of strstr

1. it's actually less performant to frequently read bytes
from an array instead of using the native word length
2. the SBO buffer should be local and not static to allow
multi-threading usage

universe@510 1 /*
universe@510 2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
universe@510 3 *
universe@510 4 * Copyright 2021 Mike Becker, Olaf Wintermann All rights reserved.
universe@510 5 *
universe@510 6 * Redistribution and use in source and binary forms, with or without
universe@510 7 * modification, are permitted provided that the following conditions are met:
universe@510 8 *
universe@510 9 * 1. Redistributions of source code must retain the above copyright
universe@510 10 * notice, this list of conditions and the following disclaimer.
universe@510 11 *
universe@510 12 * 2. Redistributions in binary form must reproduce the above copyright
universe@510 13 * notice, this list of conditions and the following disclaimer in the
universe@510 14 * documentation and/or other materials provided with the distribution.
universe@510 15 *
universe@510 16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
universe@510 17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
universe@510 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
universe@510 19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
universe@510 20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
universe@510 21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
universe@510 22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
universe@510 23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
universe@510 24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
universe@510 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
universe@510 26 * POSSIBILITY OF SUCH DAMAGE.
universe@510 27 */
universe@510 28
universe@510 29 #include <gtest/gtest.h>
universe@510 30 #include <cx/common.h>
universe@510 31
universe@510 32 TEST(SelfTest, BasicAssertion) {
universe@510 33 EXPECT_EQ(7 * 6, 42);
universe@510 34 }
universe@510 35
universe@510 36 TEST(SelfTest, UcxVersion) {
universe@510 37 EXPECT_GE(UCX_VERSION_MAJOR, 3);
universe@510 38 EXPECT_GE(UCX_VERSION, 3 << 16);
universe@510 39 }
universe@510 40
universe@510 41 TEST(SelfTest, CommonDefinitions) {
universe@510 42 EXPECT_EQ(__WORDSIZE, 8 * sizeof(void*));
universe@510 43 }

mercurial