1/* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#include "testutil.h" 18#include "apr_general.h" 19#include "apr_uuid.h" 20 21static void test_uuid_parse(abts_case *tc, void *data) 22{ 23 apr_uuid_t uuid; 24 apr_uuid_t uuid2; 25 char buf[APR_UUID_FORMATTED_LENGTH + 1]; 26 27 apr_uuid_get(&uuid); 28 apr_uuid_format(buf, &uuid); 29 30 apr_uuid_parse(&uuid2, buf); 31 ABTS_ASSERT(tc, "parse produced a different UUID", 32 memcmp(&uuid, &uuid2, sizeof(uuid)) == 0); 33} 34 35static void test_gen2(abts_case *tc, void *data) 36{ 37 apr_uuid_t uuid; 38 apr_uuid_t uuid2; 39 40 /* generate two of them quickly */ 41 apr_uuid_get(&uuid); 42 apr_uuid_get(&uuid2); 43 44 ABTS_ASSERT(tc, "generated the same UUID twice", 45 memcmp(&uuid, &uuid2, sizeof(uuid)) != 0); 46} 47 48abts_suite *testuuid(abts_suite *suite) 49{ 50 suite = ADD_SUITE(suite); 51 52 abts_run_test(suite, test_uuid_parse, NULL); 53 abts_run_test(suite, test_gen2, NULL); 54 55 return suite; 56} 57