Uploaded image for project: 'Clover'
  1. Clover
  2. CLOV-990

Inline assignments within while loop clause get no coverage

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Medium Medium
    • long term roadmap
    • 3.0.2, 3.1.0, 3.2.0, 3.3.0, 4.0.0
    • CEP Plugin, Reporting
    • None
    • Eclipse Helios, Vista 64bit

    • Severity 2 - Major

      This will work with any type of assignment:

      int i = 0;
      while ((i = i + 1) < 3)

      { System.out.println(i); }

      The "((i = i + 1) < 3)" will get no coverage with the mouseover hint being: "Expression evaluated to true 0 times, false 0 times."


      The following is no problem however:

      int i = 0;
      while ((++i) < 3) { System.out.println(i); }

      Here is another example that won't work:

      public static void inlineAssignment() {
      Class<?> c = Integer.class;
      while ((c = c.getSuperclass()) != null)

      { System.out.println(c); }

      }

      Since Clover is primarily a coverage tool, I marked this issue Major.

          Form Name

            [CLOV-990] Inline assignments within while loop clause get no coverage

            Unfortunately it is a long standing issue in Clover that it does not support coverage of inline assignments. We don't have any timeframe for resolving this, I'm afraid.

            Michael Studman (Inactive) added a comment - Unfortunately it is a long standing issue in Clover that it does not support coverage of inline assignments. We don't have any timeframe for resolving this, I'm afraid.

              Unassigned Unassigned
              983aa62a2de2 Benny Bottema
              Affected customers:
              0 This affects my team
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: