Subversion Repositories DevTools

Rev

Rev 6592 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6592 dpurdie 1
-- UtfCounts
2
-- Calculate the total unit tests for each Release within a Project
3
-- Based on the latest Non-Test Non-Error build
4
WITH UtfCounts as (
5
    SELECT rc.rtag_id, SUM ((SELECT COUNT(*) FROM test_run tr WHERE tr.build_id = cbi.build_id)) AS total_test_count
6
    FROM package_versions pv,
7
      release_content rc,
8
      (SELECT pv_id, MAX(build_id) AS build_id 
9
          FROM BUILD_INSTANCES bi
10
          WHERE bi.state    IN ('C')
11
          AND bi.reason NOT IN ('T')
12
          GROUP BY pv_id
13
          ) cbi,
14
      BUILD_INSTANCES bi,
15
      release_tags rt
16
    WHERE pv.pv_id   = rc.pv_id
17
    AND rt.rtag_id = rc.rtag_id
18
    AND rt.proj_id = :PROJ_ID
19
    AND cbi.pv_id(+) = pv.pv_id
20
    AND cbi.build_id = bi.build_id(+)
21
    GROUP by rc.rtag_id
22
) 
23
SELECT p.proj_id,
24
       p.proj_name,
25
       rt.rtag_name,
6615 dpurdie 26
       rt.OFFICIAL,
6592 dpurdie 27
       rm.rtag_id,
28
       rm.total_packages,
29
       rm.autobuilt,
30
       rm.lines_of_code,
31
       rm.unit_tested,
32
       rm.autotested,
33
       CASE
34
         WHEN rm.branches = 0 THEN NULL ELSE rm.branches
35
       END AS branches,
36
       TO_CHAR( rm.last_build_time,'DD-Mon-YYYY HH24:MI:SS' ) AS last_build_time,
37
       u.total_test_count
38
  FROM projects p,
39
       release_metrics rm,
40
       release_tags rt,
41
       UtfCounts u
42
 WHERE p.proj_id = rt.proj_id
43
   AND rm.rtag_id = rt.rtag_id
44
   AND p.proj_id = :PROJ_ID
45
   AND u.rtag_id = rt.rtag_id
46
 ORDER BY
47
       CASE
48
         WHEN rm.last_build_time IS NULL THEN 2 ELSE 1
49
       END,
50
       UPPER(rt.rtag_name),
51
       rm.last_build_time DESC,
52
       rm.rtag_id DESC
53