LIBSMI-TEST-008-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC
OBJECT-GROUP, MODULE-COMPLIANCE
FROM SNMPv2-CONF
testMib
FROM LIBSMI-TEST-MIB;
libsmiTest008Mib MODULE-IDENTITY
LAST-UPDATED "200005291500Z"
ORGANIZATION
"TU Braunschweig"
CONTACT-INFO
" Frank Strauss
Postal: TU Braunschweig
Bueltenweg 74/75
38106 Braunschweig
Germany
Phone: +49 531 391-3283
EMail: strauss@ibr.cs.tu-bs.de
http://www.ibr.cs.tu-bs.de/~strauss/"
DESCRIPTION
"This MIB module contains one or more intentional errors,
and/or unusual contents. Its only purpose is to check
the abilities of MIB parsers to detect these circumstances.
This MIB module is orginally written in SMIv2 format.
The MIB parser should complain about improper sub-typing by
checking the rules in RFC 2578 Appendix A and 'oral rules'
that are not specified in the SMIv2.
The libsmi parser is expected to report:
LIBSMI-TEST-008-MIB:86: warning: named numbers not in ascending order
LIBSMI-TEST-008-MIB:94: warning: named numbers not in ascending order
LIBSMI-TEST-008-MIB:133: warning: first bit (bit zero) has no name assigned
LIBSMI-TEST-008-MIB:139: warning: first bit (bit zero) has no name assigned
LIBSMI-TEST-008-MIB:144: warning: first bit (bit zero) has no name assigned
LIBSMI-TEST-008-MIB:144: warning: named numbers not in ascending order
LIBSMI-TEST-008-MIB:152: warning: first bit (bit zero) has no name assigned
LIBSMI-TEST-008-MIB:152: warning: named numbers not in ascending order
LIBSMI-TEST-008-MIB:160: warning: first bit (bit zero) has no name assigned
LIBSMI-TEST-008-MIB:168: warning: first bit (bit zero) has no name assigned
LIBSMI-TEST-008-MIB:176: warning: first bit (bit zero) has no name assigned
LIBSMI-TEST-008-MIB:77: warning: current type `Red' is not referenced in this module
LIBSMI-TEST-008-MIB:77: textual convention `Red' can not be derived from the textual convention `Color'
LIBSMI-TEST-008-MIB:102: named number `yellow(4)' illegal in sub-type of `Color'
LIBSMI-TEST-008-MIB:110: named number `red(2)' illegal in sub-type of `Color'
LIBSMI-TEST-008-MIB:118: named number `rot(1)' illegal in sub-type of `Color'
LIBSMI-TEST-008-MIB:135: warning: current type `FileAccess' is not referenced in this module
LIBSMI-TEST-008-MIB:135: textual convention `FileAccess' can not be derived from the textual convention `Access'
LIBSMI-TEST-008-MIB:160: named number `create' illegal in sub-type of `Access'
LIBSMI-TEST-008-MIB:168: named number `read' illegal in sub-type of `Access'
LIBSMI-TEST-008-MIB:176: named number `lesen' illegal in sub-type of `Access'
"
REVISION "200005291500Z"
DESCRIPTION
"Initial Revision."
::= { testMib 8 }
--
-- Test cases for enumeration sub-typing:
--
Color ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"."
SYNTAX INTEGER { red(1), green(2), blue(3) }
Red ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"."
SYNTAX Color { red(1) }
enumTests OBJECT IDENTIFIER ::= { libsmiTest008Mib 1 }
enumTest1 OBJECT-TYPE
SYNTAX Color { blue(3), red(1) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Valid sub-typing with different order."
::= { enumTests 1 }
enumTest2 OBJECT-TYPE
SYNTAX Color { red(1), blue(3), green(2) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Valid, although equivalent to the original type."
::= { enumTests 2 }
enumTest3 OBJECT-TYPE
SYNTAX Color { red(1), yellow(4) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Invalid, since yellow(4) is not defined in the base type."
::= { enumTests 3 }
enumTest4 OBJECT-TYPE
SYNTAX Color { red(2) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Invalid, since red is defined as 1 and not 2."
::= { enumTests 4 }
enumTest5 OBJECT-TYPE
SYNTAX Color { rot(1) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Invalid, since rot is defined as red(1)."
::= { enumTests 5 }
--
-- Test cases for bits sub-typing:
--
Access ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"junk"
SYNTAX BITS { read(1), write(2), execute(3) }
FileAccess ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"junk"
SYNTAX Access { read(1), write(2) }
bitsTests OBJECT IDENTIFIER ::= { libsmiTest008Mib 2 }
bitsTest1 OBJECT-TYPE
SYNTAX Access { write(2), read(1) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Valid sub-typing with different order."
::= { bitsTests 1 }
bitsTest2 OBJECT-TYPE
SYNTAX Access { write(2), execute(3), read(1) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Valid, although equivalent to the original type."
::= { bitsTests 2 }
bitsTest3 OBJECT-TYPE
SYNTAX Access { read(1), create(4) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Invalid, since create(4) is not defined in the base type."
::= { bitsTests 3 }
bitsTest4 OBJECT-TYPE
SYNTAX Access { read(2) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Invalid, since read is defined as 1 and not 2."
::= { bitsTests 4 }
bitsTest5 OBJECT-TYPE
SYNTAX Access { lesen(1) }
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Invalid, since lesen is defined as red(1)."
::= { bitsTests 5 }
--
-- Conformance statements.
--
libsmiTest008Group OBJECT-GROUP
OBJECTS
{ enumTest1, enumTest2, enumTest3, enumTest4, enumTest5,
bitsTest1, bitsTest2, bitsTest3, bitsTest4, bitsTest5 }
STATUS current
DESCRIPTION
"All object types."
::= { libsmiTest008Mib 3 }
libsmiTest008Compliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"All object types."
MODULE -- this module
MANDATORY-GROUPS { libsmiTest008Group }
::= { libsmiTest008Mib 4 }
END