Class KnownFailuresList

java.lang.Object
com.sun.javatest.KnownFailuresList

public class KnownFailuresList extends Object
Support class to read and process a list of tests and test cases which are known to fail during execution. The intent is to allow better post-run analysis of repetitive test runs, making is easier to find out what has "changed" since the list was made. This class is loosely based on the exclude list, making it easy to interchange the files and tools.

File format: Test_URL[Test_Cases] BugID_List The test URL rules are defined elsewhere, but it is critical that the test names do not contain spaces and nothing before the BugID_List has any whitespace. The exact format of the BugID_List must simply conform to being comma separated values, no whitespace or non-printable characters.

Since:
4.4
  • Field Details

  • Constructor Details

  • Method Details

    • isKflFile

      public static boolean isKflFile(File f)
      Test if a file appears to be for an exclude list, by checking the extension.
      Parameters:
      f - The file to be tested.
      Returns:
      true if the file appears to be a known failures list.
    • addEntry

      public void addEntry(KnownFailuresList.Entry e) throws KnownFailuresList.Fault
      Throws:
      KnownFailuresList.Fault
    • isStrictModeEnabled

      public boolean isStrictModeEnabled()
      Check whether strict mode is enabled or not. In strict mode, calls to addEntry may generate an exception in the case of conflicts, such as adding an entry to exclude a specific test case when the entire test is already excluded.
      Returns:
      true if strict mode is enabled, and false otherwise
      See Also:
    • setStrictModeEnabled

      public void setStrictModeEnabled(boolean on)
      Specify whether strict mode is on or not. In strict mode, calls to addEntry may generate an exception in the case of conflicts, such as adding an entry to exclude a specific test case when the entire test is already excluded.
      Parameters:
      on - true if strict mode should be enabled, and false otherwise
      See Also:
    • getIterator

      public Iterator<KnownFailuresList.Entry> getIterator(boolean group)
      Iterate over the contents of the table.
      Parameters:
      group - if true, entries for the same relative URL are grouped together, and if more than one, returned in an array; if false, the iterator always returns separate entries.
      Returns:
      an iterator for the table: the entries are either single instances of @link(Entry) or a mixture of @link(Entry) and @link(Entry)[], depending on the group parameter.
      See Also:
    • merge

      public void merge(KnownFailuresList other)
      Merge the contents of another exclude list into this one. The individual entries are merged; The title of the exclude list being merged is ignored.
      Parameters:
      other - the exclude list to be merged with this one.
    • find

      public KnownFailuresList.Entry[] find(String url)
    • find

      public KnownFailuresList.Entry find(String url, String tc)
    • listsAllOf

      public boolean listsAllOf(TestDescription td)
      Test if a specific test is completely excluded according to the table. It is completely excluded if there is an entry, and the test case field is null.
      Parameters:
      td - A test description for the test being checked.
      Returns:
      true if the table contains an entry for this test.
    • listsAllOf

      public boolean listsAllOf(String url)
      Test if a specific test is completely excluded according to the table. It is completely excluded if there is an entry, and the test case field is null.
      Parameters:
      url - The test-suite root-relative URL for the test.
      Returns:
      true if the table contains an entry for this test.
    • listsAnyOf

      public boolean listsAnyOf(TestDescription td)
      Test if a specific test is partially or completely excluded according to the table. It is so excluded if there is any entry in the table for the test.
      Parameters:
      td - A test description for the test being checked.
      Returns:
      true if the table contains an entry for this test.
    • listsAnyOf

      public boolean listsAnyOf(String url)
      Test if a specific test is partially or completely excluded according to the table. It is so excluded if there is any entry in the table for the test.
      Parameters:
      url - The test-suite root-relative URL for the test.
      Returns:
      true if the table contains an entry for this test.
    • isEmpty

      public boolean isEmpty()
      Check whether an exclude list has any entries or not.
      Returns:
      true if this exclude list has no entries
      See Also:
    • size

      public int size()
      Get the number of entries in the table.
      Returns:
      the number of entries in the table
      See Also:
    • getTitle

      public String getTitle()
      Get the title for this exclude list.
      Returns:
      the title for this exclude list
      See Also:
    • setTitle

      public void setTitle(String title)
      Set the title for this exclude list.
      Parameters:
      title - the title for this exclude list
      See Also:
    • write

      public void write(File f) throws IOException
      Write the table out to a file.
      Parameters:
      f - The file to which the table should be written.
      Throws:
      IOException - is thrown if any problems occur while the file is being written.
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
      Parameters:
      obj - - object to compare
      Returns:
      returns true if two entry tables are equal
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object