Closed Bug 382332 Opened 17 years ago Closed 17 years ago

"My Runs" link returns duplicate runs

Categories

(Testopia :: Test Runs, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: andy, Assigned: gregaryh)

References

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070217 Iceape/1.1.1 (Debian-1.1.1-2)
Build Identifier: 1.2.1

URL:

http://1.1.5.30/bugzilla/tr_list_runs.cgi?current_tab=run&summary_type=allwordssubstr&summary=&notes_type=allwordssubstr&notes=&environment_type
=allwordssubstr&environment=&tag_type=allwords&tag=&manager_type=substring&manager=Tester01%40test.com&run_id=&plan_id=&assignee_type=substr&assignee=Tester01%40test.com&debug=1

Returns:

Content-Type: text/html; charset=UTF-8

Bugzilla::CGI=HASH(0x8e7f268)->param("field-1-0-0") | Bugzilla::CGI=HASH(0x8e7f268)->param("type-1-0-0") | Bugzilla::CGI=HASH(0x8e7f268)->param("value-1-0-0")*

Bugzilla::CGI=HASH(0x8e7f268)->param("field-1-1-0") | Bugzilla::CGI=HASH(0x8e7f268)->param("type-1-1-0") | Bugzilla::CGI=HASH(0x8e7f268)->param("value-1-1-0")*

Bugzilla::CGI=HASH(0x8e7f268)->param("field-1-1-1") | Bugzilla::CGI=HASH(0x8e7f268)->param("type-1-1-1") | Bugzilla::CGI=HASH(0x8e7f268)->param("value-1-1-1")*

^(author|manager|default_tester), (manager , substring , Tester01@ajt01.casalemedia.com ) => map_manager.login_name , substring , Tester01@ajt01.casalemedia.com ,

,substring (map_manager.login_name , substring , Tester01@ajt01.casalemedia.com ) => map_manager.login_name , substring , Tester01@ajt01.casalemedia.com , INSTR(CAST(LOWER(map_manager.login_name) AS BINARY), CAST('tester01@ajt01.casalemedia.com' AS BINARY)) > 0

^(assignee|testedby), (assignee , substr , Tester01@ajt01.casalemedia.com ) => map_assignee.login_name , substr , Tester01@ajt01.casalemedia.com ,

,substr (map_assignee.login_name , substr , Tester01@ajt01.casalemedia.com ) => map_assignee.login_name , substr , Tester01@ajt01.casalemedia.com , INSTR(CAST(LOWER(map_assignee.login_name) AS BINARY), CAST('tester01@ajt01.casalemedia.com' AS BINARY)) > 0

INNER JOIN profiles AS map_manager ON test_runs.manager_id = map_manager.userid
LEFT JOIN test_case_runs AS case_run ON case_run.run_id = test_runs.run_id
INNER JOIN profiles AS map_assignee ON case_run.assignee = map_assignee.userid

SELECT test_runs.run_id FROM test_runs INNER JOIN profiles AS map_manager ON (test_runs.manager_id = map_manager.userid) LEFT JOIN test_case_runs AS case_run ON (case_run.run_id = test_runs.run_id) INNER JOIN profiles AS map_assignee ON (case_run.assignee = map_assignee.userid) WHERE (((INSTR(CAST(LOWER(map_manager.login_name) AS BINARY), CAST('tester01@ajt01.casalemedia.com' AS BINARY)) > 0) OR (INSTR(CAST(LOWER(map_assignee.login_name) AS BINARY), CAST('tester01@ajt01.casalemedia.com' AS BINARY)) > 0))) LIMIT 25 OFFSET 0
SELECT test_runs.run_id FROM test_runs INNER JOIN profiles AS map_manager ON (test_runs.manager_id = map_manager.userid) LEFT JOIN test_case_runs AS case_run ON (case_run.run_id = test_runs.run_id) INNER JOIN profiles AS map_assignee ON (case_run.assignee = map_assignee.userid) WHERE (((INSTR(CAST(LOWER(map_manager.login_name) AS BINARY), CAST('tester01@ajt01.casalemedia.com' AS BINARY)) > 0) OR (INSTR(CAST(LOWER(map_assignee.login_name) AS BINARY), CAST('tester01@ajt01.casalemedia.com' AS BINARY)) > 0))) LIMIT 25 OFFSET 0
SELECT test_runs.run_id FROM test_runs INNER JOIN profiles AS map_manager ON (test_runs.manager_id = map_manager.userid) LEFT JOIN test_case_runs AS case_run ON (case_run.run_id = test_runs.run_id) INNER JOIN profiles AS map_assignee ON (case_run.assignee = map_assignee.userid) WHERE (((INSTR(CAST(LOWER(map_manager.login_name) AS BINARY), CAST('tester01@ajt01.casalemedia.com' AS BINARY)) > 0) OR (INSTR(CAST(LOWER(map_assignee.login_name) AS BINARY), CAST('tester01@ajt01.casalemedia.com' AS BINARY)) > 0)))
total rows: 12

Running the last query against the database gives:

mysql> SELECT test_runs.run_id FROM test_runs INNER JOIN profiles AS map_manager ON (test_runs.manager_id = map_manager.userid) LEFT JOIN test_case_runs AS case_run ON (case_run.run_id = test_runs.run_id) INNER JOIN profiles AS map_assignee ON (case_run.assignee = map_assignee.userid) WHERE (((INSTR(CAST(LOWER(map_manager.login_name) AS BINARY), CAST('tester01@test.com' AS BINARY)) > 0) OR (INSTR(CAST(LOWER(map_assignee.login_name) AS BINARY), CAST('tester01@test.com' AS BINARY)) > 0)));
+--------+
| run_id |
+--------+
|      1 |
|      1 |
|      2 |
|      2 |
|      2 |
|      3 |
|      3 |
|      3 |
|      4 |
|      4 |
|      4 |
|      4 |
+--------+
12 rows in set (0.00 sec)


Reproducible: Always

Steps to Reproduce:
1. Create a test plan with some cases
2. Create two runs using several cases
3. Click "My Runs" link.
Actual Results:  
Get one row listed for each case-run

Expected Results:  
Get one row per run, similar to tr_list_runs.cgi?plan_id=4.
also occurring for myself on Windows 2003 Server, MySQL, Apache using build 1.2.1. would need to move to MAJOR priority.
This has been fixed on the tip.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
The fix is to uncomment line 1299 in Bugzilla/Testopia/Search.pm

Checked into branch
You need to log in before you can comment on or make changes to this bug.