Bump version to 24.04.3.4
[LibreOffice.git] / qadevOOo / runner / stats / Summarizer.java
blob36addd5e6dfdf70b18dc3fae9f218d9e3eaf0f86
1 /*
2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 package stats;
20 import java.util.ArrayList;
22 import share.DescEntry;
24 /**
26 * this class adds up the results of the subentries of a given DescEntry
27 * and fills the subentries in cases of SKIPPED states
29 public class Summarizer
32 /**
34 * gets the state for a SuperEntry according to its subentries
36 public void summarizeUp(DescEntry entry)
38 if ((entry.State != null) && !entry.State.equals("UNKNOWN"))
40 return;
42 int count = entry.SubEntryCount;
43 int knownIssues = 0;
44 ArrayList<String> failures = new ArrayList<String>();
45 ArrayList<String> states = new ArrayList<String>();
46 for (int i = 0; i < count; i++)
48 if (entry.SubEntries[i].State == null)
50 entry.SubEntries[i].State = "COMPLETED.FAILED";
52 if (entry.SubEntries[i].State.equals("known issue"))
54 entry.SubEntries[i].State = "COMPLETED.OK";
55 knownIssues++;
57 if (!entry.SubEntries[i].State.endsWith("OK"))
59 String sFailure = "[" + entry.SubEntries[i].longName + "]" + " is testcode: [" + entry.SubEntries[i].entryName + "]";
60 failures.add(sFailure);
61 states.add(entry.SubEntries[i].State);
64 if (failures.size() > 0)
66 StringBuilder errMsg = new StringBuilder();
67 String state = "COMPLETED.FAILED";
68 for (int j = 0; j < failures.size(); j++)
70 if (states.get(j).equals("not part of the job"))
72 state = "COMPLETED(some interfaces/services not tested).OK";
74 else
76 errMsg.append(failures.get(j)).append(" - ").append(states.get(j)).append("\r\n");
79 entry.hasErrorMsg = true;
80 entry.ErrorMsg = errMsg.toString();
81 entry.State = state;
83 else if (entry.EntryType.equals("component") && knownIssues > 0)
85 entry.State = "COMPLETED(with known issues).OK";
87 else
89 entry.State = "COMPLETED.OK";
93 public static void summarizeDown(DescEntry entry, String state)
95 if ((entry.State == null) || entry.State.equals("UNKNOWN"))
97 entry.State = state;
99 for (int i = 0; i < entry.SubEntryCount; i++)
101 summarizeDown(entry.SubEntries[i], entry.State);