1*2804Stomee /* 2*2804Stomee * CDDL HEADER START 3*2804Stomee * 4*2804Stomee * The contents of this file are subject to the terms of the 5*2804Stomee * Common Development and Distribution License (the "License"). 6*2804Stomee * You may not use this file except in compliance with the License. 7*2804Stomee * 8*2804Stomee * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*2804Stomee * or http://www.opensolaris.org/os/licensing. 10*2804Stomee * See the License for the specific language governing permissions 11*2804Stomee * and limitations under the License. 12*2804Stomee * 13*2804Stomee * When distributing Covered Code, include this CDDL HEADER in each 14*2804Stomee * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*2804Stomee * If applicable, add the following below this CDDL HEADER, with the 16*2804Stomee * fields enclosed by brackets "[]" replaced with your own identifying 17*2804Stomee * information: Portions Copyright [yyyy] [name of copyright owner] 18*2804Stomee * 19*2804Stomee * CDDL HEADER END 20*2804Stomee */ 21*2804Stomee 22*2804Stomee /* 23*2804Stomee * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24*2804Stomee * Use is subject to license terms. 25*2804Stomee */ 26*2804Stomee 27*2804Stomee #pragma ident "%Z%%M% %I% %E% SMI" 28*2804Stomee 29*2804Stomee 30*2804Stomee /* 31*2804Stomee * ASSERTION: 32*2804Stomee * Signed integer keys print and sort as expected using the 33*2804Stomee * aggsortkeypos and aggsortrev options 34*2804Stomee * 35*2804Stomee * SECTION: Aggregations, Printing Aggregations 36*2804Stomee * 37*2804Stomee * NOTES: DTrace sorts integer keys as unsigned values, yet prints 32- 38*2804Stomee * and 64-bit integers as signed values. Since the Java DTrace API is 39*2804Stomee * expected to emulate this behavior, this test was added to ensure that 40*2804Stomee * the behavior is preserved. 41*2804Stomee */ 42*2804Stomee 43*2804Stomee #pragma D option quiet 44*2804Stomee #pragma D option aggsortkey 45*2804Stomee #pragma D option aggsortkeypos=1 46*2804Stomee #pragma D option aggsortrev 47*2804Stomee 48*2804Stomee BEGIN 49*2804Stomee { 50*2804Stomee @i8["cat", (char)-2] = sum(-2); 51*2804Stomee @i8["dog", (char)-2] = sum(-22); 52*2804Stomee @i8["mouse", (char)-2] = sum(-222); 53*2804Stomee @i8["cat", (char)-1] = sum(-1); 54*2804Stomee @i8["dog", (char)-1] = sum(-11); 55*2804Stomee @i8["mouse", (char)-1] = sum(-111); 56*2804Stomee @i8["cat", (char)0] = sum(0); 57*2804Stomee @i8["dog", (char)0] = sum(10); 58*2804Stomee @i8["mouse", (char)0] = sum(100); 59*2804Stomee @i8["cat", (char)1] = sum(1); 60*2804Stomee @i8["dog", (char)1] = sum(11); 61*2804Stomee @i8["mouse", (char)1] = sum(111); 62*2804Stomee @i8["cat", (char)2] = sum(2); 63*2804Stomee @i8["dog", (char)2] = sum(22); 64*2804Stomee @i8["mouse", (char)2] = sum(222); 65*2804Stomee 66*2804Stomee @i16["mouse", (short)-2] = sum(-2); 67*2804Stomee @i16["dog", (short)-2] = sum(-22); 68*2804Stomee @i16["cat", (short)-2] = sum(-222); 69*2804Stomee @i16["mouse", (short)-1] = sum(-1); 70*2804Stomee @i16["dog", (short)-1] = sum(-11); 71*2804Stomee @i16["cat", (short)-1] = sum(-111); 72*2804Stomee @i16["mouse", (short)0] = sum(0); 73*2804Stomee @i16["dog", (short)0] = sum(10); 74*2804Stomee @i16["cat", (short)0] = sum(100); 75*2804Stomee @i16["mouse", (short)1] = sum(1); 76*2804Stomee @i16["dog", (short)1] = sum(11); 77*2804Stomee @i16["cat", (short)1] = sum(111); 78*2804Stomee @i16["mouse", (short)2] = sum(2); 79*2804Stomee @i16["dog", (short)2] = sum(22); 80*2804Stomee @i16["cat", (short)2] = sum(222); 81*2804Stomee 82*2804Stomee @i32["mouse", -2] = sum(-2); 83*2804Stomee @i32["bear", -2] = sum(-22); 84*2804Stomee @i32["cat", -2] = sum(-222); 85*2804Stomee @i32["mouse", -1] = sum(-1); 86*2804Stomee @i32["bear", -1] = sum(-11); 87*2804Stomee @i32["cat", -1] = sum(-111); 88*2804Stomee @i32["mouse", 0] = sum(0); 89*2804Stomee @i32["bear", 0] = sum(10); 90*2804Stomee @i32["cat", 0] = sum(100); 91*2804Stomee @i32["mouse", 1] = sum(1); 92*2804Stomee @i32["bear", 1] = sum(11); 93*2804Stomee @i32["cat", 1] = sum(111); 94*2804Stomee @i32["mouse", 2] = sum(2); 95*2804Stomee @i32["bear", 2] = sum(22); 96*2804Stomee @i32["cat", 2] = sum(222); 97*2804Stomee 98*2804Stomee @i64["cat", (long long)-2] = sum(-2); 99*2804Stomee @i64["bear", (long long)-2] = sum(-22); 100*2804Stomee @i64["dog", (long long)-2] = sum(-222); 101*2804Stomee @i64["cat", (long long)-1] = sum(-1); 102*2804Stomee @i64["bear", (long long)-1] = sum(-11); 103*2804Stomee @i64["dog", (long long)-1] = sum(-111); 104*2804Stomee @i64["cat", (long long)0] = sum(0); 105*2804Stomee @i64["bear", (long long)0] = sum(10); 106*2804Stomee @i64["dog", (long long)0] = sum(100); 107*2804Stomee @i64["cat", (long long)1] = sum(1); 108*2804Stomee @i64["bear", (long long)1] = sum(11); 109*2804Stomee @i64["dog", (long long)1] = sum(111); 110*2804Stomee @i64["cat", (long long)2] = sum(2); 111*2804Stomee @i64["bear", (long long)2] = sum(22); 112*2804Stomee @i64["dog", (long long)2] = sum(222); 113*2804Stomee 114*2804Stomee exit(0); 115*2804Stomee } 116