[tor-bugs] #31705 [Core Tor/Tor]: Add sufficient coccinelle tooling to run coccinelle without stress

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Oct 9 17:38:46 UTC 2019


#31705: Add sufficient coccinelle tooling to run coccinelle without stress
--------------------------+------------------------------------
 Reporter:  nickm         |          Owner:  nickm
     Type:  task          |         Status:  needs_revision
 Priority:  Medium        |      Milestone:  Tor: 0.4.2.x-final
Component:  Core Tor/Tor  |        Version:
 Severity:  Normal        |     Resolution:
 Keywords:  042-should    |  Actual Points:  1.5
Parent ID:                |         Points:
 Reviewer:  teor          |        Sponsor:  Sponsor31-can
--------------------------+------------------------------------
Changes (by nickm):

 * actualpoints:   => 1.5


Comment:

 I have fixed all of the issues above, and gotten the number of files with
 parsing errors down from 143 to 12.  The remaining unhandled files are:

  * Those with funny case statement macros:
     * src/core/mainloop/connection.c
     * src/core/or/reasons.c
     * src/lib/tls/tortls.h
  * Those that use SMARTLIST_FOREACH_JOIN():
    * src/feature/nodelist/networkstatus.c
  * Those that consist entirely or almost entirely of macro definitions
 that Coccinelle does not understand:
    * src/lib/pubsub/pubsub_macros.h
    * src/lib/testsupport/testsupport.h
    * src/lib/smartlist_core/smartlist_foreach.h
    * src/lib/container/order.c
    * src/lib/container/handles.h
    * src/lib/container/map.c
    * src/lib/container/map.h
    * src/lib/cc/compat_compiler.h

 Also, in some cases, I had to disable parsing of certain things with an
 `#ifdef COCCI macro`.  In the future, if we can figure out how to parse
 those things, we should use this macro less often.

 After these changes, I ran into some merge conflicts with master and its
 improved annotate_ifdef_directives.  I have made a new branch
 `ticket31705_merged` to handle those conflicts, which has a PR at
 https://github.com/torproject/tor/pull/1403 .  If CI passes, I'll call it
 needs_review.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/31705#comment:12>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list