Mercurial > illumos > onarm
comparison usr/src/cmd/dtrace/test/tst/common/rates/tst.statusrate.d @ 0:c9caec207d52 b86
Initial porting based on b86
author | Koji Uno <koji.uno@sun.com> |
---|---|
date | Tue, 02 Jun 2009 18:56:50 +0900 |
parents | |
children | 1a15d5aaf794 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c9caec207d52 |
---|---|
1 /* | |
2 * CDDL HEADER START | |
3 * | |
4 * The contents of this file are subject to the terms of the | |
5 * Common Development and Distribution License (the "License"). | |
6 * You may not use this file except in compliance with the License. | |
7 * | |
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE | |
9 * or http://www.opensolaris.org/os/licensing. | |
10 * See the License for the specific language governing permissions | |
11 * and limitations under the License. | |
12 * | |
13 * When distributing Covered Code, include this CDDL HEADER in each | |
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. | |
15 * If applicable, add the following below this CDDL HEADER, with the | |
16 * fields enclosed by brackets "[]" replaced with your own identifying | |
17 * information: Portions Copyright [yyyy] [name of copyright owner] | |
18 * | |
19 * CDDL HEADER END | |
20 */ | |
21 | |
22 /* | |
23 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. | |
24 * Use is subject to license terms. | |
25 */ | |
26 | |
27 #pragma ident "@(#)tst.statusrate.d 1.1 06/08/28 SMI" | |
28 | |
29 /* | |
30 * ASSERTION: | |
31 * Positive test of statusrate option. | |
32 * | |
33 * SECTION: Options and Tunables/statusrate | |
34 */ | |
35 | |
36 /* | |
37 * Tests the statusrate option, by checking that the time delta between | |
38 * exit() and END is at least as long as mandated by the statusrate. | |
39 */ | |
40 | |
41 #pragma D option statusrate=10sec | |
42 | |
43 inline uint64_t NANOSEC = 1000000000; | |
44 | |
45 tick-1sec | |
46 /n++ > 5/ | |
47 { | |
48 exit(2); | |
49 ts = timestamp; | |
50 } | |
51 | |
52 END | |
53 /(this->delta = timestamp - ts) > 2 * NANOSEC/ | |
54 { | |
55 exit(0); | |
56 } | |
57 | |
58 END | |
59 /this->delta <= 2 * NANOSEC/ | |
60 { | |
61 printf("delta between exit() and END (%u nanos) too small", | |
62 this->delta); | |
63 exit(1); | |
64 } | |
65 | |
66 END | |
67 /this->delta > 20 * NANOSEC/ | |
68 { | |
69 printf("delta between exit() and END (%u nanos) too large", | |
70 this->delta); | |
71 exit(1); | |
72 } |