]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
drd, XML: more xsd refinements
authorBart Van Assche <bvanassche@acm.org>
Fri, 14 Oct 2011 18:00:06 +0000 (18:00 +0000)
committerBart Van Assche <bvanassche@acm.org>
Fri, 14 Oct 2011 18:00:06 +0000 (18:00 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12157

drd/docs/drd-xml-output.xsd

index 5c7ae5ef949dccb7f69a6fab447bb25c2c7f0d9d..12434735570fcb99a8e2c4d4efbabf9426a44970 100644 (file)
@@ -8,6 +8,21 @@
     </xs:sequence>
   </xs:complexType>
 
+  <!-- Name and value of an environment variable used in XML output file name via %q{...} -->
+  <xs:complexType name="vgLogfileQual">
+    <xs:sequence>
+      <xs:element name="var" type="xs:string"/>
+      <xs:element name="value" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <!-- User comment specified via xml-user-comment=... -->
+  <xs:complexType name="vgUserComment">
+    <xs:sequence>
+      <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
   <!-- Executable path and arguments -->
   <xs:complexType name="vgExeAndArgs">
     <xs:sequence>
     </xs:sequence>
   </xs:complexType>
 
+  <xs:complexType name="vgSupprFrame">
+    <xs:choice>
+      <xs:element name="fun" type="xs:string"/>
+      <xs:element name="obj" type="xs:string"/>
+    </xs:choice>
+  </xs:complexType>
+
   <!-- Client call stack -->
   <xs:complexType name="vgStack">
     <xs:sequence>
     </xs:restriction>
   </xs:simpleType>
 
+  <!-- Same as drdErrorKind but with the "drd:" prefix -->
+  <xs:simpleType name="drdSuppressionKind">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="drd:ConflictingAccess"/>
+      <xs:enumeration value="drd:MutexErr"/>
+      <xs:enumeration value="drd:CondErr"/>
+      <xs:enumeration value="drd:CondDestrErr"/>
+      <xs:enumeration value="drd:CondRaceErr"/>
+      <xs:enumeration value="drd:CondWaitErr"/>
+      <xs:enumeration value="drd:SemaphoreErr"/>
+      <xs:enumeration value="drd:BarrierErr"/>
+      <xs:enumeration value="drd:RwlockErr"/>
+      <xs:enumeration value="drd:HoldtimeErr"/>
+      <xs:enumeration value="drd:GenericErr"/>
+      <xs:enumeration value="drd:InvalidThreadId"/>
+      <xs:enumeration value="drd:UnimpHgClReq"/>
+      <xs:enumeration value="drd:UnimpDrdClReq"/>
+    </xs:restriction>
+  </xs:simpleType>
+
   <!-- Single line of trace information with an optional call stack -->
   <xs:complexType name="drdTrace">
     <xs:sequence>
     </xs:sequence>
   </xs:complexType>
 
+  <xs:complexType name="drdSuppression">
+    <xs:sequence>
+      <xs:element name="sname" type="xs:string"/>
+      <xs:element name="skind" type="drdSuppressionKind"/>
+      <xs:element name="skaux" type="xs:string" minOccurs="0"/>
+      <xs:element name="sframe" type="vgSupprFrame"
+                 minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="rawtext" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+
   <xs:complexType name="drdError">
     <xs:sequence>
       <xs:element name="unique" type="xs:string"/>
       <xs:element name="what" type="xs:string"/>
       <xs:element name="stack" type="vgStack"/>
       <xs:element name="auxwhat" type="xs:string" minOccurs="0"/>
-      <xs:element name="allocation_context" minOccurs="0"/>
+      <xs:element name="allocation_context" type="drdContext" minOccurs="0"/>
       <xs:element name="confl_wait_call" type="drdContext"
                  minOccurs="0"/>
       <xs:element name="first_observed_at" type="drdContext"
          </xs:sequence>
        </xs:complexType>
       </xs:element>
+      <xs:element name="suppression" type="drdSuppression" minOccurs="0"/>
     </xs:sequence>
   </xs:complexType>
 
        <xs:element name="pid" type="xs:string"/>
        <xs:element name="ppid" type="xs:string"/>
        <xs:element name="tool" type="xs:string"/>
+       <xs:element name="logfilequalifier" type="vgLogfileQual" minOccurs="0"/>
+       <xs:element name="usercomment" type="vgUserComment" minOccurs="0"/>
        <xs:element name="args" type="vgArgs"/>
        <xs:element name="trace" type="drdTrace"/>
        <xs:element name="error" type="drdError"