[libdispatch-dev] Lion branch porting status

Mark Heily mark at heily.com
Tue Aug 30 18:34:27 PDT 2011


On 08/29/2011 10:07 PM, Daniel A. Steffen wrote:
>
> the harness is mostly just posix_spawn with START_SUSPENDED followed
> by SIGCONT, along with a dispatch proc and timer source to watch for
> testcase exit/timeout. You can probably skip the START_SUSPENDED/SIGCONT
> if that is what is causing trouble, the proc source nowadays correctly
> handles processes that have exited before it gets setup (in that it
> assumes a non-existent pid means the process has exited).

Thanks, that pointed me at the exact problem. Now the testsuite is 
running and 50% of the tests are passing. There's still work to be done, 
but it's encouraging progress. I've enclosed the log at the end of this 
message.

>> I've created a compat/ directory and included a private copy of
>> libbsd, libkqueue, libpthread_workqueue, and libMachShims.
>
> nice! not sure we want to import all those libraries into the
> macosforge repo though, can we provide instructions/scripts to
> download them automatically from a canonical location ? (similarly to
> the macosx build dependencies on Libc/xnu sources)
>

That's fair enough; it would be hard to stay current with the changes to 
libkqueue/libpthread_workqueue. In my repository, I imported libbsd 
because it's very stable, and am using svn:externals to pull in the 
other libraries. If you prefer a script or Makefile target to download 
the dependencies, that's also an option.

Regards,

  - Mark

P.S. Log of the testsuite on Linux:

==================================================
[TEST] Dispatch Apply
[PID] 31305
==================================================


[BEGIN] dispatch_get_global_queue
	Actual: 0x2aee5834d280
	Expected: 0x2aee5834d280
[PASS] dispatch_get_global_queue

[BEGIN] count
	Actual: 32
	Expected: 32
[PASS] count

[BEGIN] nested count
	Actual: 32768
	Expected: 32768
[PASS] nested count
PASS: dispatch_apply

==================================================
[TEST] Dispatch (Public) API
[PID] 31352
==================================================


[BEGIN] dispatch_get_main_queue
	Actual: 0x60ea80
	Expected: 0x60ea80
[PASS] dispatch_get_main_queue
PASS: dispatch_api

==================================================
[TEST] Dispatch C99
[PID] 31387
==================================================


[BEGIN] dispatch_get_main_queue
	Actual: 0x60ea80
	Expected: 0x60ea80
[PASS] dispatch_get_main_queue
PASS: dispatch_c99

==================================================
[TEST] Dispatch Debug
[PID] 31422
==================================================

=== log file opened for lt-dispatch_debug[31422] at 1314753091.213646 ===
com.apple.main-thread[0x60eac0] = { xrefcnt = 0xffffffff, refcnt = 
0xffffffff, suspend_cnt = 0x0, locked = 1, target = 
com.apple.root.default-overcommit-priority[0x2b21d188c340], width = 0x0, 
running = 0x0, barrier = 1 }: dispatch_queue_t
com.apple.root.default-priority[0x2b21d188c280] = { xrefcnt = 
0xffffffff, refcnt = 0xffffffff, suspend_cnt = 0x0, locked = 1, target = 
[(nil)], width = 0x7fffffff, running = 0x1, barrier = 0 }: dispatch_queue_t
kevent-source[0x18391c0] = { xrefcnt = 0x2, refcnt = 0x3, suspend_cnt = 
0x1, locked = 0, target = com.apple.libdispatch-manager[0x2b21d188c700], 
pending_data = 0x0, pending_data_mask = 0x0, timer = { target = 0x0, 
last_fire = 0x0, interval = 0x0, flags = 0x0 }, filter = 
DISPATCH_EVFILT_TIMER }: dispatch_source_t
semaphore[0x1839420] = { xrefcnt = 0x1, refcnt = 0x1, suspend_cnt = 0x0, 
locked = 0, value = 9223372036854775807, orig = 9223372036854775807 }: 
dispatch_group_t
PASS: dispatch_debug

==================================================
[TEST] Dispatch Queue Finalizer
[PID] 31455
==================================================


[BEGIN] dispatch_queue_new
	Actual: 0x1439010
	Expected: 0x1439010
[PASS] dispatch_queue_new

[BEGIN] finalizer ran
	Actual: (nil)
	Expected: (nil)
[PASS] finalizer ran

[BEGIN] correct context
	Actual: 0xd5b9635e46269779
	Expected: 0xd5b9635e46269779
[PASS] correct context
PASS: dispatch_queue_finalizer

==================================================
[TEST] Dispatch Group
[PID] 31494
==================================================


[BEGIN] dispatch_group_async
	Actual: 0x13b0010
	Expected: 0x13b0010
[PASS] dispatch_group_async

[BEGIN] dispatch_group_async
	Actual: 0x2adbfc0008b0
	Expected: 0x2adbfc0008b0
[PASS] dispatch_group_async
sleeping...

sleeping...
[BEGIN] dispatch_group_wait
	Actual: 0
	Expected: 0
sleeping...
[PASS] dispatch_group_wait

[BEGIN] dispatch_group_wait
	Actual: -1
	Expected: 0
[FAIL] dispatch_group_wait (dispatch_group.c:89)
	dispatch_group.c:89

[BEGIN] dispatch_group_async
	Actual: 0x2adbfc000b10
	Expected: 0x2adbfc000b10
[PASS] dispatch_group_async

[BEGIN] Notification Received
	Actual: 0x60ec00
	Expected: 0x60ec00
[PASS] Notification Received
FAIL: dispatch_group

==================================================
[TEST] Dispatch Overcommit
[PID] 31737
==================================================


[BEGIN] dispatch_queue_create
	Actual: 0x7df0a0
	Expected: 0x7df0a0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7df360
	Expected: 0x7df360
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7df4f0
	Expected: 0x7df4f0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7df680
	Expected: 0x7df680
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7df810
	Expected: 0x7df810
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7dfad0
	Expected: 0x7dfad0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7dfc60
	Expected: 0x7dfc60
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7dfdf0
	Expected: 0x7dfdf0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7dff80
	Expected: 0x7dff80
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e0110
	Expected: 0x7e0110
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e03d0
	Expected: 0x7e03d0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e0560
	Expected: 0x7e0560
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e06f0
	Expected: 0x7e06f0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e0880
	Expected: 0x7e0880
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e0a10
	Expected: 0x7e0a10
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e0ba0
	Expected: 0x7e0ba0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e0d30
	Expected: 0x7e0d30
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e0ec0
	Expected: 0x7e0ec0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e1050
	Expected: 0x7e1050
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e11e0
	Expected: 0x7e11e0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e1370
	Expected: 0x7e1370
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e1500
	Expected: 0x7e1500
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e1690
	Expected: 0x7e1690
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e1820
	Expected: 0x7e1820
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e19b0
	Expected: 0x7e19b0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e1b40
	Expected: 0x7e1b40
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e1cd0
	Expected: 0x7e1cd0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e1e60
	Expected: 0x7e1e60
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e1ff0
	Expected: 0x7e1ff0
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e2180
	Expected: 0x7e2180
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e2310
	Expected: 0x7e2310
[PASS] dispatch_queue_create

[BEGIN] dispatch_queue_create
	Actual: 0x7e24a0
	Expected: 0x7e24a0
[PASS] dispatch_queue_create

[BEGIN] count
	Actual: 32
	Expected: 32
[PASS] count
PASS: dispatch_overcommit

==================================================
[TEST] Dispatch Ping Pong
[PID] 31803
==================================================


[BEGIN] dispatch_queue_create(ping)
	Actual: 0x2230010
	Expected: 0x2230010
[PASS] dispatch_queue_create(ping)

[BEGIN] dispatch_queue_create(pong)
	Actual: 0x22300c0
	Expected: 0x22300c0
[PASS] dispatch_queue_create(pong)

[BEGIN] dispatch_group_create
	Actual: 0x2230170
	Expected: 0x2230170
[PASS] dispatch_group_create

[BEGIN] count
	Actual: 1000000
	Expected: 1000000
[PASS] count
PASS: dispatch_pingpong

==================================================
[TEST] Dispatch C++
[PID] 9741
==================================================


[BEGIN] dispatch_get_main_queue
	Actual: 0x60e2c0
	Expected: 0x60e2c0
[PASS] dispatch_get_main_queue
PASS: dispatch_plusplus

==================================================
[TEST] Dispatch Priority
[PID] 9776
==================================================

/bin/bash: line 5:  9776 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_priority

==================================================
[TEST] Dispatch Priority (Set Target Queue)
[PID] 9820
==================================================


[BEGIN] q[i]
	Actual: 0x17f8010
	Expected: 0x17f8010
[PASS] q[i]

[BEGIN] q[i]
	Actual: 0x17f8110
	Expected: 0x17f8110
[PASS] q[i]

[BEGIN] q[i]
	Actual: 0x17f8210
	Expected: 0x17f8210
[PASS] q[i]

[BEGIN] q[i]
	Actual: 0x17f8310
	Expected: 0x17f8310
[PASS] q[i]
/bin/bash: line 5:  9820 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_priority2

==================================================
[TEST] Dispatch Private Concurrent/Wide Queue
[PID] 9867
==================================================

Testing dispatch_async on queue hierarchy: global -> global -> global

[BEGIN] concurrently completed workers
	Actual: 16
	Expected: 16
[PASS] concurrently completed workers

[BEGIN] max submission concurrency
	Actual: 4
	Expected: 4
[PASS] max submission concurrency
Testing dispatch_group_async on queue hierarchy: global -> global -> global

[BEGIN] concurrently completed workers
	Actual: 16
	Expected: 16
[PASS] concurrently completed workers

[BEGIN] max submission concurrency
	Actual: 4
	Expected: 4
[PASS] max submission concurrency
Testing dispatch_sync on queue hierarchy: global -> global -> global

[BEGIN] max sync concurrency
	Actual: 16
	Expected: 16
[PASS] max sync concurrency
Testing dispatch_apply on queue hierarchy: global -> global -> global

[BEGIN] max apply concurrency
	Actual: 6
	Expected: 8
[FAIL] max apply concurrency (dispatch_concur.c:168)
	dispatch_concur.c:168
Testing dispatch_async on queue hierarchy: concurrent -> global -> global
/bin/bash: line 5:  9867 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_concur

==================================================
[TEST] Dispatch Queue Specific
[PID] 9967
==================================================


[BEGIN] get context for app
	Actual: 0x40bedc
	Expected: 0x40bedc
[PASS] get context for app
/bin/bash: line 5:  9967 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_context_for_key

==================================================
[TEST] Dispatch Source Read
[PID] 10013
==================================================

[SKIP] EVFILT_READ kevent not firing for test file (dispatch_read.c:70)

[BEGIN] test_fin run
	Actual: (nil)
	Expected: (nil)
[PASS] test_fin run
PASS: dispatch_read

==================================================
[TEST] Dispatch IO Convenience Read/Write
[PID] 10046
==================================================


[BEGIN] group wait timed out
	Actual: 1
	Expected: 0
[FAIL] group wait timed out (dispatch_read2.c:161)
	dispatch_read2.c:161
FAIL: dispatch_read2

==================================================
[TEST] Dispatch After
[PID] 10086
==================================================


[BEGIN] can't finish faster than 5.5s
	Actual: 0
	Expected: <506215959
[PASS] can't finish faster than 5.5s

[BEGIN] must finish faster than  6.5s
	Actual: 0
	Expected: <493785737
[PASS] must finish faster than  6.5s

[BEGIN] can't finish faster than 1.5s
	Actual: 0
	Expected: <500586797
[PASS] can't finish faster than 1.5s

[BEGIN] must finish faster than  2.5s
	Actual: 0
	Expected: <499414270
[PASS] must finish faster than  2.5s

[BEGIN] can't finish faster than 0s
	Actual: 0
	Expected: <35068
[PASS] can't finish faster than 0s

[BEGIN] must finish faster than .5s
	Actual: 0
	Expected: <499965674
[PASS] must finish faster than .5s
PASS: dispatch_after

==================================================
[TEST] Dispatch Source Timer
[PID] 10126
==================================================


[BEGIN] dispatch_get_main_queue
	Actual: 0x60f300
	Expected: 0x60f300
[PASS] dispatch_get_main_queue

[BEGIN] dispatch_source_create
	Actual: 0x7b7010
	Expected: 0x7b7010
[PASS] dispatch_source_create

[BEGIN] dispatch_source_create
	Actual: 0x7b8130
	Expected: 0x7b8130
[PASS] dispatch_source_create

[BEGIN] dispatch_source_create
	Actual: 0x7b8420
	Expected: 0x7b8420
[PASS] dispatch_source_create

[BEGIN] dispatch_source_create
	Actual: 0x7b8670
	Expected: 0x7b8670
[PASS] dispatch_source_create

[BEGIN] dispatch_source_create
	Actual: 0x7b8a90
	Expected: 0x7b8a90
[PASS] dispatch_source_create

[BEGIN] dispatch_source_create
	Actual: 0x7b8d80
	Expected: 0x7b8d80
[PASS] dispatch_source_create

[BEGIN] timer number
	Actual: 1
	Expected: <3
[PASS] timer number
timer[1]

[BEGIN] timer number
	Actual: 2
	Expected: <3
[PASS] timer number
timer[2]
/bin/bash: line 5: 10126 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_timer

==================================================
[TEST] Dispatch Short Timer
[PID] 10181
==================================================

/bin/bash: line 5: 10181 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_timer_short

==================================================
[TEST] Dispatch Source Timeout
[PID] 10220
==================================================

Firing long timer

[BEGIN] Checking final value
	Actual: 10
	Expected: 10
[PASS] Checking final value

[BEGIN] Mini-timer fired
	Actual: 0
	Expected: 1
[FAIL] Mini-timer fired (dispatch_timer_timeout.c:67)
	dispatch_timer_timeout.c:67
/bin/bash: line 5: 10220 Illegal instruction     ./bsdtestharness ${dir}$tst
FAIL: dispatch_timer_timeout

==================================================
[TEST] Dispatch Semaphore
[PID] 10259
==================================================


[BEGIN] count
	Actual: 10000
	Expected: 10000
[PASS] count
PASS: dispatch_sema

==================================================
[TEST] Dispatch Suspend Timer
[PID] 10297
==================================================


[BEGIN] dispatch_get_main_queue
	Actual: 0x60f6c0
	Expected: 0x60f6c0
[PASS] dispatch_get_main_queue

[BEGIN] dispatch_source_timer_create
	Actual: 0xbb8010
	Expected: 0xbb8010
[PASS] dispatch_source_timer_create

[BEGIN] dispatch_source_timer_create
	Actual: 0xbb91e0
	Expected: 0xbb91e0
[PASS] dispatch_source_timer_create
tweedledee 1 (1)
tweedledee 2 (2)
tweedledee 3 (3)
suspending timer for 3 seconds
resuming timer

[BEGIN] tweedledee tick count
	Actual: 3
	Expected: 3
[PASS] tweedledee tick count

[BEGIN] tweedledee virtual tick count
	Actual: 3
	Expected: 3
[PASS] tweedledee virtual tick count
tweedledee 4 (6)
tweedledee 5 (7)
tweedledee 6 (8)
tweedledee 7 (9)

[BEGIN] tweedledee tick count
	Actual: 7
	Expected: 7
[PASS] tweedledee tick count

[BEGIN] tweedledee virtual tick count
	Actual: 9
	Expected: 9
[PASS] tweedledee virtual tick count

[BEGIN] finalizer ran
	Actual: 0xbb91e0
	Expected: 0xbb91e0
[PASS] finalizer ran
PASS: dispatch_suspend_timer

==================================================
[TEST] Dispatch Source Timer, bit 31
[PID] 10344
==================================================


[BEGIN] dispatch_get_main_queue
	Actual: 0x60eac0
	Expected: 0x60eac0
[PASS] dispatch_get_main_queue

[BEGIN] dispatch_source_create
	Actual: 0x8ff010
	Expected: 0x8ff010
[PASS] dispatch_source_create
/bin/bash: line 5: 10344 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_timer_bit31

==================================================
[TEST] Dispatch Source Timer, bit 63
[PID] 10390
==================================================

0
PASS: dispatch_timer_bit63

==================================================
[TEST] Dispatch Update Timer
[PID] 10427
==================================================


[BEGIN] dispatch_get_main_queue
	Actual: 0x60ec80
	Expected: 0x60ec80
[PASS] dispatch_get_main_queue

[BEGIN] dispatch_source_create
	Actual: 0xd52010
	Expected: 0xd52010
[PASS] dispatch_source_create

[BEGIN] dispatch_source_timer_create
	Actual: 0xd52010
	Expected: 0xd52010
[PASS] dispatch_source_timer_create
1
2
3
4
5
6
7
/bin/bash: line 5: 10427 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_timer_set_time

==================================================
[TEST] Dispatch Starfish
[PID] 10476
==================================================

lap: 10
count: 1000
delta: 918900711 ns
math: 458.991364 ns / lap

[BEGIN] Latency
	Actual: 458
	Expected: <1000
[PASS] Latency
/bin/bash: line 5: 10476 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_starfish

==================================================
[TEST] Dispatch Cascade
[PID] 11660
==================================================

maxcount = 3234
 

                  * 

                  * 

                  * 

                  * 

                  * 

                  * 

                  * 

                  * 

                  * 

                  * 

                  *           * 

    *             *           * 

    *             *           * 

    *             *          ** 

    *             *          ** 

   **             *          ** 

   ***            *         *** 

   ***            *         *** 

   ***            *         ****                *                   * 

PASS: dispatch_cascade

==================================================
[TEST] Dispatch Timer Drift
[PID] 12590
==================================================


[BEGIN] dispatch_source_create
	Actual: 0x1a72010
	Expected: 0x1a72010
[PASS] dispatch_source_create
    0: jitter 0.000000, drift 0.000000
    1: jitter 0.000069, drift 0.000069
    2: jitter -0.000051, drift -0.000120
    3: jitter 0.000027, drift 0.000078
    4: jitter 0.000012, drift -0.000015
    5: jitter 0.000014, drift 0.000002
    6: jitter 0.000012, drift -0.000002
    7: jitter 0.000052, drift 0.000040
    8: jitter 0.000014, drift -0.000038
    9: jitter 0.000133, drift 0.000119
   10: jitter 0.000041, drift -0.000092
   11: jitter 0.000020, drift -0.000021
   12: jitter 0.000035, drift 0.000015
   13: jitter -0.000006, drift -0.000041
   14: jitter 0.000045, drift 0.000051
   15: jitter 0.000021, drift -0.000024
   16: jitter 0.000019, drift -0.000002
   17: jitter 0.000058, drift 0.000039
   18: jitter 0.000051, drift -0.000007
   19: jitter 0.000027, drift -0.000024
   20: jitter 0.000014, drift -0.000013
   21: jitter 0.000036, drift 0.000022
   22: jitter 0.000027, drift -0.000009
   23: jitter 0.000020, drift -0.000007
   24: jitter 0.000072, drift 0.000052
   25: jitter 0.000017, drift -0.000055
   26: jitter 0.000031, drift 0.000014
   27: jitter 0.000007, drift -0.000024
   28: jitter 0.000021, drift 0.000014
   29: jitter 0.000000, drift -0.000021
   30: jitter 0.000018, drift 0.000018
   31: jitter 0.000027, drift 0.000009
   32: jitter 0.000016, drift -0.000011
   33: jitter 0.000044, drift 0.000028
   34: jitter 0.000054, drift 0.000010
   35: jitter 0.000032, drift -0.000022
   36: jitter 0.000017, drift -0.000015
   37: jitter 0.000023, drift 0.000006
   38: jitter 0.000013, drift -0.000010
   39: jitter 0.000025, drift 0.000012
   40: jitter 0.000048, drift 0.000023
   41: jitter 0.000108, drift 0.000060
   42: jitter 0.000079, drift -0.000029
   43: jitter 0.000036, drift -0.000043
   44: jitter -0.000371, drift -0.000407
   45: jitter 0.000036, drift 0.000407
   46: jitter -0.000021, drift -0.000057
   47: jitter 0.000027, drift 0.000048
   48: jitter 0.000001, drift -0.000026
   49: jitter 0.000004, drift 0.000003
   50: jitter 0.000047, drift 0.000043
   51: jitter 0.000131, drift 0.000084
   52: jitter 0.000032, drift -0.000099
   53: jitter 0.000007, drift -0.000025
   54: jitter 0.000006, drift -0.000001
   55: jitter 0.000074, drift 0.000068
   56: jitter -0.000002, drift -0.000076
   57: jitter 0.000040, drift 0.000042
   58: jitter 0.000027, drift -0.000013
   59: jitter 0.000020, drift -0.000007
   60: jitter 0.000036, drift 0.000016
   61: jitter 0.000015, drift -0.000021
   62: jitter 0.000012, drift -0.000003
   63: jitter 0.000009, drift -0.000003
   64: jitter 0.000001, drift -0.000008
   65: jitter 0.000038, drift 0.000037
   66: jitter 0.000027, drift -0.000011
   67: jitter 0.000015, drift -0.000012
   68: jitter 0.000027, drift 0.000012
   69: jitter 0.000013, drift -0.000014
   70: jitter 0.000020, drift 0.000007
   71: jitter 0.000018, drift -0.000002
   72: jitter 0.000041, drift 0.000023
   73: jitter 0.000021, drift -0.000020
   74: jitter 0.000024, drift 0.000003
   75: jitter 0.000025, drift 0.000001
   76: jitter 0.000001, drift -0.000024
   77: jitter 0.000024, drift 0.000023
   78: jitter 0.000019, drift -0.000005
   79: jitter 0.000011, drift -0.000008
   80: jitter -0.000013, drift -0.000024
   81: jitter 0.000011, drift 0.000024
   82: jitter 0.000033, drift 0.000022
   83: jitter 0.000035, drift 0.000002
   84: jitter 0.000045, drift 0.000010
   85: jitter 0.000023, drift -0.000022
   86: jitter 0.000033, drift 0.000010
   87: jitter 0.000006, drift -0.000027
   88: jitter -0.000003, drift -0.000009
   89: jitter 0.000017, drift 0.000020
   90: jitter 0.000035, drift 0.000018
   91: jitter 0.000012, drift -0.000023
   92: jitter 0.000005, drift -0.000007
   93: jitter 0.000016, drift 0.000011
   94: jitter 0.000024, drift 0.000008
   95: jitter 0.000012, drift -0.000012
   96: jitter 0.000021, drift 0.000009
   97: jitter 0.000020, drift -0.000001
   98: jitter 0.000024, drift 0.000004
   99: jitter 0.000040, drift 0.000016
  100: jitter 0.000034, drift -0.000006
  101: jitter 0.000037, drift 0.000003
  102: jitter 0.000010, drift -0.000027
  103: jitter 0.000009, drift -0.000001
  104: jitter 0.000014, drift 0.000005
  105: jitter 0.000036, drift 0.000022
  106: jitter 0.000045, drift 0.000009
  107: jitter 0.000014, drift -0.000031
  108: jitter 0.000034, drift 0.000020
  109: jitter 0.000027, drift -0.000007
  110: jitter 0.000021, drift -0.000006
  111: jitter 0.000043, drift 0.000022
  112: jitter 0.000018, drift -0.000025
  113: jitter -0.000039, drift -0.000057
  114: jitter 0.000042, drift 0.000081
  115: jitter 0.000049, drift 0.000007
  116: jitter 0.000007, drift -0.000042
  117: jitter 0.000004, drift -0.000003
  118: jitter 0.000016, drift 0.000012
  119: jitter 0.000024, drift 0.000008
  120: jitter 0.000029, drift 0.000005
  121: jitter 0.000010, drift -0.000019
  122: jitter 0.000000, drift -0.000010
  123: jitter 0.000035, drift 0.000035
  124: jitter 0.000033, drift -0.000002
  125: jitter 0.000038, drift 0.000005
  126: jitter 0.000034, drift -0.000004
  127: jitter 0.000035, drift 0.000001
  128: jitter 0.000033, drift -0.000002
  129: jitter 0.000013, drift -0.000020
  130: jitter 0.000013, drift -0.000000
  131: jitter 0.000015, drift 0.000002
  132: jitter 0.000020, drift 0.000005
  133: jitter 0.000001, drift -0.000019
  134: jitter 0.000025, drift 0.000024
  135: jitter 0.000043, drift 0.000018
  136: jitter 0.000004, drift -0.000039
  137: jitter 0.000011, drift 0.000007
  138: jitter 0.000050, drift 0.000039
  139: jitter 0.000049, drift -0.000001
  140: jitter 0.000028, drift -0.000021
  141: jitter 0.000035, drift 0.000007
  142: jitter -0.000037, drift -0.000072
  143: jitter 0.000065, drift 0.000102
  144: jitter 0.000076, drift 0.000011
  145: jitter 0.000097, drift 0.000021
  146: jitter 0.000040, drift -0.000057
  147: jitter 0.000008, drift -0.000032
  148: jitter 0.000044, drift 0.000036
  149: jitter 0.000037, drift -0.000007
  150: jitter 0.000011, drift -0.000026
  151: jitter 0.000045, drift 0.000034
  152: jitter 0.000067, drift 0.000022
  153: jitter 0.000042, drift -0.000025
  154: jitter 0.000004, drift -0.000038
  155: jitter 0.000002, drift -0.000002
  156: jitter 0.000010, drift 0.000008
  157: jitter 0.000085, drift 0.000075
  158: jitter 0.000012, drift -0.000073
  159: jitter 0.000041, drift 0.000029
  160: jitter 0.000037, drift -0.000004
  161: jitter 0.000006, drift -0.000031
  162: jitter -0.000002, drift -0.000008
  163: jitter 0.000046, drift 0.000048
  164: jitter -0.000022, drift -0.000068
  165: jitter 0.000034, drift 0.000056
  166: jitter 0.000005, drift -0.000029
  167: jitter 0.000000, drift -0.000005
  168: jitter 0.000016, drift 0.000016
  169: jitter 0.000035, drift 0.000019
  170: jitter 0.000040, drift 0.000005
  171: jitter 0.000010, drift -0.000030
  172: jitter 0.000018, drift 0.000008
  173: jitter 0.000048, drift 0.000030
  174: jitter 0.000008, drift -0.000040
  175: jitter 0.000028, drift 0.000020
  176: jitter 0.000014, drift -0.000014
  177: jitter 0.000058, drift 0.000044
  178: jitter 0.000050, drift -0.000008
  179: jitter 0.000011, drift -0.000039
  180: jitter -0.000041, drift -0.000052
  181: jitter 0.000034, drift 0.000075
  182: jitter 0.000035, drift 0.000001
  183: jitter 0.000005, drift -0.000030
  184: jitter 0.000035, drift 0.000030
  185: jitter 0.000021, drift -0.000014
  186: jitter 0.000024, drift 0.000003
  187: jitter 0.000024, drift 0.000000
  188: jitter 0.000072, drift 0.000048
  189: jitter 0.000025, drift -0.000047
  190: jitter 0.000068, drift 0.000043
  191: jitter 0.000012, drift -0.000056
  192: jitter 0.000023, drift 0.000011
  193: jitter 0.000006, drift -0.000017
  194: jitter 0.000004, drift -0.000002
  195: jitter -0.000024, drift -0.000028
  196: jitter -0.000001, drift 0.000023
  197: jitter 0.000011, drift 0.000012
  198: jitter 0.000034, drift 0.000023
  199: jitter 0.000044, drift 0.000010
  200: jitter 0.000039, drift -0.000005
  201: jitter 0.000022, drift -0.000017
  202: jitter -0.000011, drift -0.000033
  203: jitter 0.000027, drift 0.000038
  204: jitter 0.000025, drift -0.000002
  205: jitter 0.000026, drift 0.000001
  206: jitter 0.000025, drift -0.000001
  207: jitter -0.000013, drift -0.000038
  208: jitter 0.000016, drift 0.000029
  209: jitter 0.000004, drift -0.000012
  210: jitter 0.000004, drift -0.000000
  211: jitter 0.000033, drift 0.000029
  212: jitter 0.000043, drift 0.000010
  213: jitter 0.000002, drift -0.000041
  214: jitter 0.000019, drift 0.000017
  215: jitter 0.000051, drift 0.000032
  216: jitter 0.000023, drift -0.000028
  217: jitter 0.000000, drift -0.000023
  218: jitter 0.000050, drift 0.000050
  219: jitter 0.000035, drift -0.000015
  220: jitter 0.000027, drift -0.000008
  221: jitter 0.000051, drift 0.000024
  222: jitter 0.000011, drift -0.000040
  223: jitter 0.000044, drift 0.000033
  224: jitter -0.000003, drift -0.000047
  225: jitter 0.000015, drift 0.000018
  226: jitter -0.000002, drift -0.000017
  227: jitter 0.000022, drift 0.000024
  228: jitter 0.000029, drift 0.000007
  229: jitter 0.000019, drift -0.000010
  230: jitter 0.000072, drift 0.000053
  231: jitter 0.000017, drift -0.000055
  232: jitter 0.000018, drift 0.000001
  233: jitter 0.000029, drift 0.000011
  234: jitter 0.000029, drift 0.000000
  235: jitter 0.000029, drift -0.000000
  236: jitter 0.000034, drift 0.000005
  237: jitter 0.000028, drift -0.000006
  238: jitter 0.000043, drift 0.000015
  239: jitter -0.000022, drift -0.000065
  240: jitter 0.000003, drift 0.000025
  241: jitter 0.000013, drift 0.000010
  242: jitter 0.000005, drift -0.000008
  243: jitter 0.000027, drift 0.000022
  244: jitter -0.000001, drift -0.000028
  245: jitter 0.000041, drift 0.000042
  246: jitter 0.000026, drift -0.000015
  247: jitter 0.000017, drift -0.000009
  248: jitter 0.000032, drift 0.000015
  249: jitter 0.000014, drift -0.000018

[BEGIN] drift
	Actual: 0.000018
	Expected: <0.001000
[PASS] drift
PASS: dispatch_drift

==================================================
[TEST] Dispatch Reader/Writer Queues
[PID] 12877
==================================================

/bin/bash: line 5: 12877 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_readsync

==================================================
[TEST] Dispatch Data
[PID] 13056
==================================================


[BEGIN] Data size of concatenated dispatch data
	Actual: 34
	Expected: 34
[PASS] Data size of concatenated dispatch data

[BEGIN] Contiguous memory size
	Actual: 34
	Expected: 34
[PASS] Contiguous memory size

[BEGIN] buffer2 destroyed
	Actual: 1
	Expected: 1
[PASS] buffer2 destroyed

[BEGIN] buffer4 destroyed
	Actual: 1
	Expected: 1
[PASS] buffer4 destroyed
PASS: dispatch_data

==================================================
[TEST] Dispatch IO
[PID] 13091
==================================================

[SKIP] Large file not found (dispatch_io.c:80)
[SKIP] Large file not found (dispatch_io.c:80)
[SKIP] Large file not found (dispatch_io.c:80)

[BEGIN] group wait timed out
	Actual: 1
	Expected: 0
[FAIL] group wait timed out (dispatch_io.c:220)
	dispatch_io.c:220
FAIL: dispatch_io

==================================================
[TEST] Dispatch IO Network test
[PID] 13134
==================================================

Server started and listening on port 53389
Client-connecting on port ... 53389
Server accepted connection. Server now writing

[BEGIN] group wait timed out
	Actual: 1

	Expected: 0
[BEGIN] group wait timed out
[FAIL] group wait timed out (dispatch_io_net.c:141)
	Actual: 1
	dispatch_io_net.c:141
	Expected: 0
[FAIL] group wait timed out (dispatch_io_net.c:291)
	dispatch_io_net.c:291
FAIL: dispatch_io_net

==================================================
[TEST] Dispatch VM Pressure test - No DISPATCH_SOURCE_TYPE_VM
[PID] 13175
==================================================

PASS: dispatch_vm

==================================================
[TEST] Dispatch VNODE RENAME
[PID] 13208
==================================================

!./bin/bash: line 5: 13208 Terminated              ./bsdtestharness 
${dir}$tst
FAIL: dispatch_vnode

==================================================
[TEST] Dispatch select workaround test
[PID] 13252
==================================================


[BEGIN] main_q
	Actual: 0x60f740
	Expected: 0x60f740
[PASS] main_q

[BEGIN] select source
	Actual: 0x145e310
	Expected: 0x145e310
[PASS] select source

[BEGIN] kevent read 1
	Actual: 16.000000
	Expected: <=512001.000000
[PASS] kevent read 1

[BEGIN] close
	Actual: 0	
	Expected: 0	
[PASS] close
[SKIP] EVFILT_READ kevent not firing for test file (dispatch_select.c:98)

[BEGIN] main_q
	Actual: 0x60f740
	Expected: 0x60f740
[PASS] main_q

[BEGIN] select source
	Actual: 0x145e410
	Expected: 0x145e410
[PASS] select source

[BEGIN] kevent read 1
	Actual: 8.000000
	Expected: <=512001.000000
[PASS] kevent read 1
/bin/bash: line 5: 13252 Terminated              ./bsdtestharness ${dir}$tst
FAIL: dispatch_select
===============================
17 of 34 tests failed
Please report to mark at heily.com
===============================


More information about the libdispatch-dev mailing list