Recently I ran into an issue where I wanted to find if there is a bug filed 
against a certain assertion. The only way I was able to use is to search for 
the name of the function which has the assertion.  The function can be 
overloaded or the function can have more than one assertion.  So I found it 
difficult to track the assertion I am interested in.  In future if the function 
gets renamed, it will be even more difficult.

I have a suggestion for this.

A pre-build tool will tag every new assertion after the change is committed.  
For example in the code I will add the following assertion:

        ASSERT(condition);

The pre-build tool will change it to be:

        ASSERT_TAG(condition, “abcde”);

where “abcde” is a unique tag in all the source code.  A database should be 
maintained by the build process to keep track what tags are available to be 
assigned.

When the assertion fires, the dump may look like the following:

        ASSERTION FAILED (tag: abcde) condition
        … rest of the call-stack

In Bugzilla, there should be a field for the assertion tag.  If I want to file 
an assertion bug, I should be filling this field like the following:

        Product:                WebKit
        Summary:        ASSERTION failed in someFunction
        Assertion tag:  abcde
        Description:
        Attachment:

Later if the assertion fires, from the dump I can know exactly what assertion 
fired.  And more importantly I can search for it easily.  In the Bugzilla 
search page, I should see a field for the assertion tag in the simple search 
page:

        Status:         All
        Product:                WebKit
        Words:
        Assertion tag:  abcde

This search will bring me all the opened bugs in WebKit which has the assertion 
tag = “abcde” if there is any.

        ID              Product         Comp    Assignee        Status  
Resolution      Assertion tag   Summary
        12345   WebKit                                                          
                                abcde                   ASSERTION failed in 
someFunction

Thanks,
Said

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to