gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NSThread test failing


From: Doug Warren
Subject: NSThread test failing
Date: Sun, 11 Aug 2013 19:44:06 -0700

Hi Guys,

I wrote a simple test for NSThread to be run through a googletest framework, this passes on OSX but just hangs on GNUStep:

#import "Foundation/NSThread.h"

class NSThreadTest : public ::testing::Test {
 protected:
  virtual void SetUp() {
  // Tried with and without this
  GSRegisterCurrentThread();
  mainTid = pthread_self();
  }
public:
pthread_t mainTid;
};

pthread_t backgroundTid;
@interface BackgroundThread : NSObject
- (void) run:(NSObject*) thread;
@end

@implementation BackgroundThread
- (void) run:(NSObject*) thread
{
backgroundTid = pthread_self();
}
@end

TEST_F(NSThreadTest, TestsAreOnSameThread)
{
    EXPECT_EQ(mainTid, pthread_self());
}

TEST_F(NSThreadTest, BackgroundThreadNotMainThread)
{
    BackgroundThread* backThread = [[BackgroundThread alloc]init];
    backgroundTid = 0;
    [backThread performSelectorInBackground:@selector(run:) withObject:backThread];
    while(backgroundTid == 0)
        sleep(1);
    
    EXPECT_NE(mainTid, backgroundTid);
}

Any thoughts on what I'm doing wrong?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]