<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >

<!--
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.
-->

<suite name="Default suite" guice-stage="DEVELOPMENT">
  <test name="Default test" thread-count="5" verbose="2">
    <classes>
      <class name="org.apache.datasketches.memory.internal.AllocateDirectMapMemoryTest"/>
      <class name="org.apache.datasketches.memory.internal.AllocateDirectMemoryTest"/>
      <class name="org.apache.datasketches.memory.internal.AllocateDirectWritableMapMemoryTest"/>
      <class name="org.apache.datasketches.memory.internal.BaseBufferTest"/>
      <class name="org.apache.datasketches.memory.internal.BaseStateTest"/>
      <class name="org.apache.datasketches.memory.internal.Buffer2Test"/>
      <class name="org.apache.datasketches.memory.internal.BufferBoundaryCheckTest"/>
      <class name="org.apache.datasketches.memory.internal.BufferInvariantsTest"/>
      <class name="org.apache.datasketches.memory.internal.BufferReadWriteSafetyTest"/>
      <class name="org.apache.datasketches.memory.internal.BufferTest"/>
      <class name="org.apache.datasketches.memory.internal.CommonBufferTest"/>
      <class name="org.apache.datasketches.memory.internal.CommonMemoryTest"/>
      <class name="org.apache.datasketches.memory.internal.CopyMemoryOverlapTest"/>
      <class name="org.apache.datasketches.memory.internal.CopyMemoryTest"/>
      <class name="org.apache.datasketches.memory.internal.DruidIssue11544Test"/>
      <class name="org.apache.datasketches.memory.internal.ExampleMemoryRequestServerTest"/>
      <class name="org.apache.datasketches.memory.internal.IgnoredArrayOverflowTest"/>
      <class name="org.apache.datasketches.memory.internal.LeafImplTest"/>
      <class name="org.apache.datasketches.memory.internal.MemoryBoundaryCheckTest"/>
      <class name="org.apache.datasketches.memory.internal.MemoryReadWriteSafetyTest"/>
      <class name="org.apache.datasketches.memory.internal.MemoryTest"/>
      <class name="org.apache.datasketches.memory.internal.MemoryWriteToTest"/>
      <class name="org.apache.datasketches.memory.internal.MurmurHash3v3Test"/>
      <class name="org.apache.datasketches.memory.internal.NativeWritableBufferImplTest"/>
      <class name="org.apache.datasketches.memory.internal.NativeWritableMemoryImplTest"/>
      <class name="org.apache.datasketches.memory.internal.NonNativeWritableBufferImplTest"/>
      <class name="org.apache.datasketches.memory.internal.NonNativeWritableMemoryImplTest"/>
      <class name="org.apache.datasketches.memory.internal.ResourceFromJarTest"/>
      <class name="org.apache.datasketches.memory.internal.SpecificLeafTest"/>
      <class name="org.apache.datasketches.memory.internal.UtilTest"/>
      <class name="org.apache.datasketches.memory.internal.WritableDirectCopyTest"/>
      <class name="org.apache.datasketches.memory.internal.WritableMemoryTest"/>
      <class name="org.apache.datasketches.memory.internal.XxHash64LoopingTest"/>
      <class name="org.apache.datasketches.memory.internal.XxHash64Test"/>
      <class name="org.apache.datasketches.memory.internal.ZeroCapacityTest"/>
    </classes>
  </test> <!-- Default test -->
</suite> <!-- Default suite -->