xref: /titanic_52/usr/src/lib/fm/libdiagcode/common/tests/README (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1*7c478bd9Sstevel@tonic-gate#
2*7c478bd9Sstevel@tonic-gate# CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate#
4*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate# with the License.
8*7c478bd9Sstevel@tonic-gate#
9*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate# and limitations under the License.
13*7c478bd9Sstevel@tonic-gate#
14*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate#
20*7c478bd9Sstevel@tonic-gate# CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate#
22*7c478bd9Sstevel@tonic-gate#
23*7c478bd9Sstevel@tonic-gate# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24*7c478bd9Sstevel@tonic-gate# Use is subject to license terms.
25*7c478bd9Sstevel@tonic-gate#
26*7c478bd9Sstevel@tonic-gate#
27*7c478bd9Sstevel@tonic-gate#pragma ident	"%Z%%M%	%I%	%E% SMI"
28*7c478bd9Sstevel@tonic-gate#
29*7c478bd9Sstevel@tonic-gate
30*7c478bd9Sstevel@tonic-gateThese are sample DIAGCODE dictionary files, used only when the
31*7c478bd9Sstevel@tonic-gate	make test
32*7c478bd9Sstevel@tonic-gatetarget is built in the libdiagcode source area.  These files have
33*7c478bd9Sstevel@tonic-gatespecial comments embedded in them that the test driver (tstdiagcode.c)
34*7c478bd9Sstevel@tonic-gateuses to tell it what tests to run against each dictionary.  These
35*7c478bd9Sstevel@tonic-gatetests can be used to regression test libdiagcode after a bug fix.
36*7c478bd9Sstevel@tonic-gateIf you add a feature to libdiagcode, you should add the appropriate
37*7c478bd9Sstevel@tonic-gateunit tests here.
38*7c478bd9Sstevel@tonic-gate
39*7c478bd9Sstevel@tonic-gateSince DIAGCODE dictionaries allow comments with the '#' character,
40*7c478bd9Sstevel@tonic-gatethe test driver looks for directives in the comments.  The directive
41*7c478bd9Sstevel@tonic-gatecomments start with:
42*7c478bd9Sstevel@tonic-gate
43*7c478bd9Sstevel@tonic-gate	#TEST:
44*7c478bd9Sstevel@tonic-gate
45*7c478bd9Sstevel@tonic-gateand then have a colon-separated list of arguments.  The first argument
46*7c478bd9Sstevel@tonic-gateis the function the test driver should call: open, close, codelen, maxkey,
47*7c478bd9Sstevel@tonic-gatekey2code, code2key, or getprop.  The second argument is the errno expected
48*7c478bd9Sstevel@tonic-gateon return, or zero if no errno is expected.  The next two arguments specify
49*7c478bd9Sstevel@tonic-gateinput and output parameters to the function, and are in formats specific
50*7c478bd9Sstevel@tonic-gateto each function.  For example:
51*7c478bd9Sstevel@tonic-gate
52*7c478bd9Sstevel@tonic-gate	#TEST:key2code:0:fault.one fault.two:SAMPLE0-8000-5V
53*7c478bd9Sstevel@tonic-gate
54*7c478bd9Sstevel@tonic-gateThe above line tells the test driver to call fm_dc_key2code() with the key[]
55*7c478bd9Sstevel@tonic-gatearray set to "fault.one" and "fault.two" (in that order) and expect
56*7c478bd9Sstevel@tonic-gatea non-error return, with the code SAMPLE0-8000-5V filled in.
57