# libsmi 0.5.0 -- the NATIVE x86_64 control run, and the oracle 79-libsmi.test # scores the wasm32-hwjs target against. # # Built from the identical tarball with the identical patch series the target # build applies (meta-oe recipes-support/libsmi: libsmi-fix-the-test-dump-files, # 0001-Define-createIdentifierRef-prototype-in-yang-complex, # 0001-parser-yang-Define-_DEFAULT_SOURCE), then plain ./configure && make, and # every command below run against that build's own installed share/mibs. # # WHY A NATIVE CONTROL AND NOT UPSTREAM'S OWN SUITE. libsmi tests itself well -- # test/*.test drive smilint and smidump over test/mibs and diff against # expectations the corpus carries. That harness was run against this native # control first and passes clean (parser.test and the smidump-* drivers, all # rc=0), so upstream's answers are sound and are not the problem. # # The problem is that the harness cannot run ON TARGET. Its drivers are in-tree: # they invoke ../tools/smidump against ../mibs from the build directory, and none # of test/mibs or test/dumps is installed by any package, so re-creating it on # the image would mean shipping ~19 MIB fixtures plus 20 directories of nominal # dumps as selftest payload -- a large payload to re-assert what a control run # establishes once, at build time, for free. # # So the control is the oracle, and the commands below run against the MIB # collection the IMAGE ships (libsmi-mibs, /usr/share/mibs) rather than a test # fixture -- which is also the corpus a user of these tools actually meets. # # ONE THING THE CONTROL RUN PINNED, AND IT IS NOT COSMETIC: the SMIPATH used # below begins with a COLON. The empty first element keeps libsmi's compiled-in # default module directory in the search path beside the two explicit ones. # Dropping it changes how an imported module's OID prefix resolves -- run without # it, libsmi's own LIBSMI-TEST-014-MIB reports its index sizes 6 subidentifiers # short (65427 -> 65421, 20 -> 14) and loses two warnings entirely, which reads # exactly like a parser defect and is not one. The IETF modules scored below are # found in the explicit directories and resolve identically either way, but the # control was captured with this exact string and the target uses the same one. # # WHAT IS BEING COMPARED, AND WHY BYTE-EXACTLY. Every value here is MIB # SEMANTICS -- an OID, a type name, a registration tree, a re-serialised module. # None of it carries a pointer width, a sizeof, an address, a locale or a # wall-clock time (the "generated by smidump 0.5.0" banner is a version string, # and the only dates are REVISION dates read out of the MIB text), so nothing in # it is ALLOWED to differ between x86_64 and wasm32. A single disagreement is a # defect on this arm rather than a platform difference to reason about. That is # what makes an md5 an acceptable oracle here: there is no legitimate diff to # describe, so the line count carried beside it is enough to localise a red. # # The four modules are chosen to widen the parser's exposure rather than to # repeat it: SNMPv2-TC is nothing but textual conventions, SNMPv2-MIB is a plain # scalar module, IF-MIB adds tables, an augment and an IMPORT from the iana tree, # and RMON2-MIB is the large one (5590 lines of re-serialised SMIv2) that walks # deep index and conformance structure. Ten output formats cross them because # each dumper is a separate translation unit over the same parse tree. # # Columns: # dump// # lint/ / stripped, the # cited module's as well as the module under test's) # query/ # version/ # # Regenerate (native control): see the design doc for BRINTOS-543. dump/tree/SNMPv2-MIB 0 77 eca9dd5a7b047696b904dd358cb77cfd dump/types/SNMPv2-MIB 0 20 6653a53dfa4c872ea54214b3761dae54 dump/imports/SNMPv2-MIB 0 13 253a427c418451d9db4df27c0c9ee5aa dump/identifiers/SNMPv2-MIB 0 72 51f4da9f368948005a514b608f99592f dump/smiv2/SNMPv2-MIB 0 804 850d5b8e6a95ef7497d5fbd774e906b4 dump/xml/SNMPv2-MIB 0 919 e9afdb6d0ce0a65e11385f39701f8053 dump/sming/SNMPv2-MIB 0 857 2255f60941e68cbd4c17d23f0d0ee8ec dump/mosy/SNMPv2-MIB 0 111 319f429a28c5abf9916877f26cd70410 dump/metrics/SNMPv2-MIB 0 126 28a75459baeaed375448436b18ca9cca dump/sizes/SNMPv2-MIB 0 21 d588b922839fe7b61ea2eacb9de6c54f dump/tree/SNMPv2-TC 0 3 5b2172ab4aeb24a3848381d42f71818b dump/types/SNMPv2-TC 0 35 ba23eae66ce656246b27d5403b6da7a3 dump/imports/SNMPv2-TC 0 5 1db31653368049e0dbb8e41e34f3c5d3 dump/identifiers/SNMPv2-TC 0 18 e33d8aaa6410d5c6a0c8c5fb1ea87d94 dump/smiv2/SNMPv2-TC 0 718 25cf35b129ff31d42aaa575b02d4d689 dump/xml/SNMPv2-TC 0 730 2d0795c4311fc3ddaf9546d0293ea5e7 dump/sming/SNMPv2-TC 0 758 c87362bd033a0e443d7cfab62ba3eabf dump/mosy/SNMPv2-TC 0 33 ff4bc1003ada6a4c1d5cfa83bff22a80 dump/metrics/SNMPv2-TC 0 84 046591f43eea45f11f305973d2bbaec4 dump/sizes/SNMPv2-TC 0 13 ddb8fc22ca4196af94c6a0ad44a2901e dump/tree/IF-MIB 0 101 7db3237149079f1ad43ac8d01062739e dump/types/IF-MIB 0 33 03fc7608324f7ddaa864704807a5f7f4 dump/imports/IF-MIB 0 31 01d686cbd8b524e75f965ffdb67478f1 dump/identifiers/IF-MIB 0 96 f60409cd531e4d935f52027e8395b6fc dump/smiv2/IF-MIB 0 1721 013932b56f733da7e84b2a3e526276e9 dump/xml/IF-MIB 0 1907 d3b79d74dd540f213647f47fe0f6940d dump/sming/IF-MIB 0 1701 b7b41047d51cd273c777fc270422b012 dump/mosy/IF-MIB 0 159 50f39003709337bc80d12a9e6cfa3efe dump/metrics/IF-MIB 0 148 b4c774befece1364ba7ad703ab9a374c dump/sizes/IF-MIB 0 27 dc5688b6f26a69fb0dfa5397bf89de09 dump/tree/RMON2-MIB 0 304 8ed66af4fc1424de476a7f5154337917 dump/types/RMON2-MIB 0 122 ccbc2eb7f1fd0e2a7c08d48bfe5457d4 dump/imports/RMON2-MIB 0 74 f9df4a5f23026199b1527f40c22d25ef dump/identifiers/RMON2-MIB 0 303 7a15b45e92fac4b03f7fd1748a6a4c35 dump/smiv2/RMON2-MIB 0 5590 cf72ebbbc9c22521dc7df13faeb48bcd dump/xml/RMON2-MIB 0 5733 4dfc76a1fc6a6e6325a44ed924d48c05 dump/sming/RMON2-MIB 0 5340 9f18d410c672760a3081873615579501 dump/mosy/RMON2-MIB 0 517 0f69cf75f1547aa7f83e311dd41a148b dump/metrics/RMON2-MIB 0 187 988be602b67bf0a15486498d47dc393c dump/sizes/RMON2-MIB 0 78 ff99fad9fa5b648cd80ea655871de48f lint/SNMPv2-MIB 3 01087ec8d165b0a76ea76e4a962b5f4f lint/IF-MIB 4 36d4ee79d2d717f05945251c5b76723e lint/RMON2-MIB 21 68d693506f15b56a805623f4a7216963 lint/SNMPv2-TC 20 1e7b7353399edda7b97de070e57b789b lint/TCP-MIB 6 59592e58a935000b7827ce6945f12924 lint/UDP-MIB 1 a6cd5d778949bda464581a57a514ce51 query/node-oid 1.3.6.1.2.1.2.1 query/node-type Integer32 query/node-access read-only query/node-kind scalar query/tbl-oid 1.3.6.1.2.1.2.2.1.2 query/type-base Enumeration query/type-numbers true(1) false(2) query/module-object IF-MIB::ifMIB query/module-language SMIv2 query/module-conformance 3 version/smilint smilint 0.5.0 version/smidump smidump 0.5.0