Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-15017] Code Processor: Implement support for analyzing skipped blocks

GitHub Issuen/a
TypeNew Feature
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2013-09-18T20:40:06.000+0000
Affected Version/sn/a
Fix Version/s2013 Sprint 19, 2013 Sprint 19 Tooling, Release 3.2.0
ComponentsCode Processor
Labelsn/a
ReporterBryan Hughes
AssigneePraveen Innamuri
Created2013-08-30T19:21:10.000+0000
Updated2017-03-09T00:31:22.000+0000

Description

Blindly skipping "skipped" blocks leads to really bad code coverage metrics, so we need to make it possible to analyze "skipped" blocks. At its heart, this will require two key architectural changes:

A new type of block, called "skipped"

This will be similar to "ambiguous" blocks, but with slightly different semantics

The ability to create a "shadow closure"

Shadow closures will clone an actual closure so that modifications to that closure by the skipped block are not reflected in the actual closure

Skipped blocks will use the shadow closure

Non-skipped blocks will use the original closure

There will probably be other architectural modifications necessary

Comments

  1. Bryan Hughes 2013-09-17

    PR: https://github.com/appcelerator/titanium-code-processor/pull/244
  2. Bryan Hughes 2013-09-17

    To test, run against the samples and templates apps from https://github.com/appcelerator-developer-relations. Without the feature, analysis coverage values are as low as 50%, but with they are all at least ~90%.
  3. Lee Morris 2017-03-09

    Closing ticket as fixed.

JSON Source