//
//  SentryCrashThread_Tests.m
//
//  Created by Karl Stenerud on 2012-03-03.
//
//  Copyright (c) 2012 Karl Stenerud. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall remain in place
// in this source code.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//


#import <XCTest/XCTest.h>

#import "SentryCrashThread.h"
#import "TestThread.h"


@interface SentryCrashThread_Tests : XCTestCase @end

@implementation SentryCrashThread_Tests

// TODO: Disabling this until I figure out what's wrong with queue names.
//- (void) testGetQueueName
//{
//    kern_return_t kr;
//    const task_t thisTask = mach_task_self();
//    thread_act_array_t threads;
//    mach_msg_type_number_t numThreads;
//
//    kr = task_threads(thisTask, &threads, &numThreads);
//    XCTAssertTrue(kr == KERN_SUCCESS, @"");
//
//    bool success = false;
//    char buffer[100];
//    for(mach_msg_type_number_t i = 0; i < numThreads; i++)
//    {
//        thread_t thread = threads[i];
//        if(sentrycrashthread_getQueueName(thread, buffer, sizeof(buffer)))
//        {
//            success = true;
//            break;
//        }
//    }
//
//    for(mach_msg_type_number_t i = 0; i < numThreads; i++)
//    {
//        mach_port_deallocate(thisTask, threads[i]);
//    }
//    vm_deallocate(thisTask, (vm_address_t)threads, sizeof(thread_t) * numThreads);
//
//    XCTAssertTrue(success, @"");
//}

@end
