You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calibre-web/test/Calibre-Web TestSummary_Lin...

6898 lines
225 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Calibre-Web Tests</title>
<meta name="generator" content=""/>
<meta name="version" content=""/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap -->
<link href="./../cps/static/css/libs/bootstrap.min.css" rel="stylesheet">
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="./../cps/static/js/libs/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="./../cps/static/js/libs/bootstrap.min.js"></script>
<!-- Project CSS -->
<link href="css/runner.css" rel="stylesheet">
<!-- Project JS -->
<script src="js/runner.js"></script>
</head>
<body>
<div class="row report-title">
<h1 id='report_title' class="text-center">Calibre-Web Tests</h1>
</div>
<div class="row">
<div class="col">
<div class="col-xs-12 col-sm-6">
<div class="piechart">
<div>
<canvas id="circle" width="350" height="168" ></canvas>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-6">
<div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3" style="margin-top:50px;">
<p class='text-justify attribute'><strong>Start Time: </strong>2024-01-13 20:33:30</p>
</div>
</div>
<div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3">
<p class='text-justify attribute'><strong>Stop Time: </strong>2024-01-14 03:06:58</p>
</div>
</div>
<div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3">
<p class='text-justify attribute'><strong>Duration: </strong>5h 26 min</p>
</div>
</div>
</div>
</div>
</div>
<div class='report-description'>
<div id='report_description' class='row text-center'></div>
</div>
<div class='text-center buttons'>
<div id='show_detail_line' class="btn-group pagination-centered" role="group" aria-label="TESTE">
<button type="button" class="btn btn-success" data-toggle="button" aria-pressed="false" data-placement="top"
title="Show only the execution summary" onclick="showCase(0)">Summary
</button>
<button type="button" class="btn btn-info" data-toggle="button" aria-pressed="false" data-placement="top"
title="Show only the execution summary" onclick="showCase(5)">Summary Problems
</button>
<button type="button" class="btn btn-warning" data-toggle="button" aria-pressed="false" data-placement="top"
title="Show skipped test cases" onclick="showCase(3)">Skipped
</button>
<button type="button" class="btn btn-danger" data-toggle="button" aria-pressed="false" data-placement="top"
title="Show the filed test cases" onclick="showCase(1)">Failed
</button>
<button type="button" class="btn btn-info" data-toggle="button" aria-pressed="false" data-placement="top"
title="Show the filed test cases" onclick="showCase(4)">Error
</button>
<button type="button" class="btn btn-primary" data-toggle="tooltip" aria-pressed="false" data-placement="top"
title="Show all test cases" onclick="showCase(2)">All
</button>
</div>
</div>
<table id='result_table' class='table table-bordered table-responsive table-curved'>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<tr id='header_row' class="text-center bg-grey">
<td>Test Group/Test case</td>
<td>Count</td>
<td>Pass</td>
<td>Fail</td>
<td>Error</td>
<td>Skip</td>
<td>View</td>
</tr>
<tr id="su" class="passClass">
<td>TestAnonymous</td>
<td class="text-center">13</td>
<td class="text-center">13</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c1', 13)">Detail</a>
</td>
</tr>
<tr id='pt1.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_check_locale_guest</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_category</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_format</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_hot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_rated</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_change_visibility_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_random_books_available</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_restricted_settings_visibility</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt1.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestAnonymous - test_guest_visibility_sidebar</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="errorClass">
<td>TestBackupMetadata</td>
<td class="text-center">21</td>
<td class="text-center">1</td>
<td class="text-center">8</td>
<td class="text-center">12</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c2', 21)">Detail</a>
</td>
</tr>
<tr id="ft2.1" class="none bg-danger">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_all</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft2.1')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft2.1" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft2.1').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 57, in test_backup_all
self.assertEqual(11, len(all_files))
AssertionError: 11 != 0</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft2.2" class="none bg-danger">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_author</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft2.2')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft2.2" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft2.2').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 181, in test_backup_change_book_author
self.assertEqual([&#34;Frodo Beutlin&#34;,&#34;Norbert Halagal&#34;,&#34;Liu Yang&#34;,&#34;Hector Gonçalves&#34;], metadata[&#39;author&#39;])
AssertionError: Lists differ: [&#39;Frodo Beutlin&#39;, &#39;Norbert Halagal&#39;, &#39;Liu Yang&#39;, &#39;Hector Gonçalves&#39;] != []
First list contains 4 additional elements.
First extra element 0:
&#39;Frodo Beutlin&#39;
- [&#39;Frodo Beutlin&#39;, &#39;Norbert Halagal&#39;, &#39;Liu Yang&#39;, &#39;Hector Gonçalves&#39;]
+ []</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft2.3" class="none bg-danger">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_description</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft2.3')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft2.3" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft2.3').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 310, in test_backup_change_book_description
self.assertCountEqual(metadata[&#39;description&#39;], &#34;&lt;p&gt;&lt;strong&gt;Test&lt;/strong&gt;&lt;/p&gt;&#34;)
AssertionError: Element counts were not equal:
First has 0, Second has 4: &#39;&lt;&#39;
First has 0, Second has 2: &#39;p&#39;
First has 0, Second has 4: &#39;&gt;&#39;
First has 0, Second has 3: &#39;s&#39;
First has 0, Second has 3: &#39;t&#39;
First has 0, Second has 2: &#39;r&#39;
First has 0, Second has 2: &#39;o&#39;
First has 0, Second has 2: &#39;n&#39;
First has 0, Second has 2: &#39;g&#39;
First has 0, Second has 1: &#39;T&#39;
First has 0, Second has 1: &#39;e&#39;
First has 0, Second has 2: &#39;/&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt2.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_identifier</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft2.5" class="none bg-danger">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_language</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft2.5')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft2.5" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft2.5').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 264, in test_backup_change_book_language
self.assertEqual(metadata[&#39;language&#39;], [&#34;en&#34;])
AssertionError: Lists differ: [] != [&#39;en&#39;]
Second list contains 1 additional elements.
First extra element 0:
&#39;en&#39;
- []
+ [&#39;en&#39;]</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft2.6" class="none bg-danger">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_publisher</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft2.6')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft2.6" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft2.6').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 155, in test_backup_change_book_publisher
self.assertEqual(metadata[&#39;publisher&#39;], &#39;Lo,执|1u&#39;)
AssertionError: &#39;&#39; != &#39;Lo,执|1u&#39;
+ Lo,执|1u</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.7" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_publishing_date</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.7')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.7" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.7').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 205, in test_backup_change_book_publishing_date
self.assertEqual(metadata[&#39;pub_date&#39;].date(), date(101, 1, 1))
AttributeError: &#39;str&#39; object has no attribute &#39;date&#39;</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.8" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_rating</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.8')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.8" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.8').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 291, in test_backup_change_book_rating
self.assertCountEqual(metadata[&#39;rating&#39;][&#39;content&#39;], &#34;6&#34;)
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.9" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_series_index</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.9')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.9" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.9').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 125, in test_backup_change_book_series_index
self.assertEqual(metadata[&#39;series_index&#39;][&#39;content&#39;], &#34;1.53&#34;)
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft2.10" class="none bg-danger">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_tags</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft2.10')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft2.10" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft2.10').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 227, in test_backup_change_book_tags
self.assertEqual(metadata[&#39;tags&#39;], [&#39;Lo执|1u&#39;])
AssertionError: Lists differ: [] != [&#39;Lo执|1u&#39;]
Second list contains 1 additional elements.
First extra element 0:
&#39;Lo执|1u&#39;
- []
+ [&#39;Lo执|1u&#39;]</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft2.11" class="none bg-danger">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_book_title</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft2.11')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft2.11" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft2.11').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 165, in test_backup_change_book_title
self.assertEqual(metadata[&#39;title&#39;], &#34;Buuko&#34;)
AssertionError: &#39;&#39; != &#39;Buuko&#39;
+ Buuko</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.12" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_Comment</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.12')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.12" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.12').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 506, in test_backup_change_custom_Comment
custom = json.loads(metadata[&#39;custom_8&#39;][&#39;content&#39;])
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.13" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_Enum</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.13')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.13" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.13').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 567, in test_backup_change_custom_Enum
custom = json.loads(metadata[&#39;custom_6&#39;][&#39;content&#39;])
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.14" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_bool</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.14')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.14" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.14').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 324, in test_backup_change_custom_bool
custom = json.loads(metadata[&#39;custom_1&#39;][&#39;content&#39;])
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.15" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_categories</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.15')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.15" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.15').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 533, in test_backup_change_custom_categories
custom = json.loads(metadata[&#39;custom_9&#39;][&#39;content&#39;])
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.16" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_date</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.16')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.16" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.16').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 478, in test_backup_change_custom_date
custom = json.loads(metadata[&#39;custom_2&#39;][&#39;content&#39;])
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.17" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_float</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.17')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.17" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.17').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 358, in test_backup_change_custom_float
custom = json.loads(metadata[&#39;custom_5&#39;][&#39;content&#39;])
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.18" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_int</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.18')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.18" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.18').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 391, in test_backup_change_custom_int
custom = json.loads(metadata[&#39;custom_4&#39;][&#39;content&#39;])
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.19" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_rating</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.19')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.19" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.19').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 424, in test_backup_change_custom_rating
custom = json.loads(metadata[&#39;custom_3&#39;][&#39;content&#39;])
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et2.20" class="none bg-info">
<td>
<div class='testcase'>TestBackupMetadata - test_backup_change_custom_text</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et2.20')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et2.20" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et2.20').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 451, in test_backup_change_custom_text
custom = json.loads(metadata[&#39;custom_10&#39;][&#39;content&#39;])
TypeError: string indices must be integers</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft2.21" class="none bg-danger">
<td>
<div class='testcase'>TestBackupMetadata - test_upload_book</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft2.21')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft2.21" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft2.21').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata.py&#34;, line 604, in test_upload_book
self.assertEqual(metadata[&#39;title&#39;], details[&#39;title&#39;])
AssertionError: &#39;&#39; != &#39;book&#39;
+ book</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="failClass">
<td>TestBackupMetadataGdrive</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c3', 1)">Detail</a>
</td>
</tr>
<tr id="ft3.1" class="none bg-danger">
<td>
<div class='testcase'>TestBackupMetadataGdrive - test_backup_gdrive</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft3.1')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft3.1" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft3.1').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_backup_metadata_gdrive.py&#34;, line 109, in test_backup_gdrive
self.assertTrue(fs.isfile(remote_meta.replace(&#39;\\&#39;, &#39;/&#39;)))
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="passClass">
<td>TestCli</td>
<td class="text-center">13</td>
<td class="text-center">13</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c4', 13)">Detail</a>
</td>
</tr>
<tr id='pt4.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_already_started</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_bind_to_single_interface</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_change_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_cli_SSL_files</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_cli_different_folder</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_cli_different_settings_database</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_dryrun_update</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_enable_reconnect</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_environ_port_setting</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_logfile</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_no_database</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_settingsdb_not_writeable</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt4.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCli - test_writeonly_static_files</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestCliGdrivedb</td>
<td class="text-center">4</td>
<td class="text-center">4</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c5', 4)">Detail</a>
</td>
</tr>
<tr id='pt5.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCliGdrivedb - test_cli_gdrive_folder</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt5.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCliGdrivedb - test_cli_gdrive_location</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt5.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCliGdrivedb - test_gdrive_db_nonwrite</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt5.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCliGdrivedb - test_no_database</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestCoverEditBooks</td>
<td class="text-center">2</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c6', 2)">Detail</a>
</td>
</tr>
<tr id='pt6.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCoverEditBooks - test_invalid_jpg_hdd</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft6.2" class="none bg-danger">
<td>
<div class='testcase'>TestCoverEditBooks - test_upload_jpg</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft6.2')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft6.2" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft6.2').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_cover_edit_books.py&#34;, line 81, in test_upload_jpg
self.assertFalse(self.check_element_on_page((By.ID, &#39;flash_danger&#39;)))
AssertionError: &lt;selenium.webdriver.remote.webelement.WebElement (session=&#34;758d3d76-66ea-472a-acf9-730236cb5ef6&#34;, element=&#34;0768a5fa-79ad-497d-8e26-e14146349e1d&#34;)&gt; is not false</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="passClass">
<td>TestDeleteDatabase</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c7', 1)">Detail</a>
</td>
</tr>
<tr id='pt7.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestDeleteDatabase - test_delete_books_in_database</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestEbookConvertCalibre</td>
<td class="text-center">15</td>
<td class="text-center">15</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c8', 15)">Detail</a>
</td>
</tr>
<tr id='pt8.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_calibre_log</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_convert_deactivate</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_convert_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_convert_failed_and_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_convert_only</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_convert_options</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_convert_parameter</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_convert_wrong_excecutable</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_convert_xss</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_email_failed</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_email_only</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_kindle_send_not_configured</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_ssl_smtp_setup_error</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_starttls_smtp_setup_error</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt8.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibre - test_user_convert_xss</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestEbookConvertCalibreGDrive</td>
<td class="text-center">6</td>
<td class="text-center">6</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c9', 6)">Detail</a>
</td>
</tr>
<tr id='pt9.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt9.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_failed_and_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt9.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_only</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt9.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_convert_parameter</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt9.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_email_failed</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt9.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertCalibreGDrive - test_email_only</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestEbookConvertKepubify</td>
<td class="text-center">3</td>
<td class="text-center">2</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c10', 3)">Detail</a>
</td>
</tr>
<tr id='pt10.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertKepubify - test_convert_deactivate</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft10.2" class="none bg-danger">
<td>
<div class='testcase'>TestEbookConvertKepubify - test_convert_only</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft10.2')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft10.2" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft10.2').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_kepubify.py&#34;, line 135, in test_convert_only
self.assertEqual(ret[-1][&#39;result&#39;], &#39;Finished&#39;)
AssertionError: &#39;Failed&#39; != &#39;Finished&#39;
- Failed
+ Finished</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt10.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertKepubify - test_convert_wrong_excecutable</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestEbookConvertGDriveKepubify</td>
<td class="text-center">3</td>
<td class="text-center">2</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c11', 3)">Detail</a>
</td>
</tr>
<tr id='pt11.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertGDriveKepubify - test_convert_deactivate</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft11.2" class="none bg-danger">
<td>
<div class='testcase'>TestEbookConvertGDriveKepubify - test_convert_only</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft11.2')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft11.2" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft11.2').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_ebook_convert_kepubify_gdrive.py&#34;, line 191, in test_convert_only
self.assertEqual(ret[-1][&#39;result&#39;], &#39;Finished&#39;)
AssertionError: &#39;Failed&#39; != &#39;Finished&#39;
- Failed
+ Finished</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt11.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEbookConvertGDriveKepubify - test_convert_wrong_excecutable</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="skipClass">
<td>TestEditAdditionalBooks</td>
<td class="text-center">20</td>
<td class="text-center">18</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">2</td>
<td class="text-center">
<a onclick="showClassDetail('c12', 20)">Detail</a>
</td>
</tr>
<tr id='pt12.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_cbz_comicinfo</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_change_upload_formats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_delete_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_delete_role</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_details_popup</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_edit_book_identifier</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_edit_book_identifier_capital</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_edit_book_identifier_standard</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_edit_special_book_identifier</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_title_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_cbz_coverformats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_edit_role</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cb7</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cbr</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_upload_metadata_cbt</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="st12.16" class="none bg-warning">
<td>
<div class='testcase'>TestEditAdditionalBooks - test_writeonly_calibre_database</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st12.16')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st12.16" class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_st12.16').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Not implemented</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt12.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_writeonly_path</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='st12.18' class='none bg-warning'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_xss_author_edit</div>
</td>
<td colspan='6' align='center'>SKIP</td>
</tr>
<tr id='pt12.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_xss_comment_edit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAdditionalBooks - test_xss_custom_comment_edit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestEditBooks</td>
<td class="text-center">38</td>
<td class="text-center">35</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">2</td>
<td class="text-center">
<a onclick="showClassDetail('c13', 38)">Detail</a>
</td>
</tr>
<tr id='pt13.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_download_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_category</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_comments</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_custom_bool</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_custom_categories</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_custom_comment</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_custom_date</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_custom_float</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_custom_int</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_custom_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_custom_single_select</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_custom_text</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_publishing_date</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_edit_title</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="st13.20" class="none bg-warning">
<td>
<div class='testcase'>TestEditBooks - test_rename_upper_lowercase</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st13.20')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st13.20" class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_st13.20').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">For some reason it works, but during test it fails, only if executed in debugger it works</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="st13.21" class="none bg-warning">
<td>
<div class='testcase'>TestEditBooks - test_rename_uppercase_lowercase</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st13.21')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st13.21" class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_st13.21').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Not Implemented</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt13.22' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.23' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_functions</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.24' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.25' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.26' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.27' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_typeahead_tag</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.28' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_book_cb7</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.29' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_book_cbr</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.30' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_book_cbt</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.31' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_book_cbz</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft13.32" class="none bg-danger">
<td>
<div class='testcase'>TestEditBooks - test_upload_book_epub</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft13.32')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft13.32" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft13.32').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_edit_books.py&#34;, line 998, in test_upload_book_epub
self.assertEqual(&#39;book9&#39;, details[&#39;title&#39;])
AssertionError: &#39;book9&#39; != &#39;book&#39;
- book9
? -
+ book</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt13.33' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_book_fb2</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.34' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_book_lit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.35' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_book_mobi</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.36' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_book_pdf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.37' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_cbz_coverformats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt13.38' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooks - test_upload_cover_hdd</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestEditAuthors</td>
<td class="text-center">6</td>
<td class="text-center">5</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c14', 6)">Detail</a>
</td>
</tr>
<tr id='pt14.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthors - test_change_capital_co_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthors - test_change_capital_one_author_one_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthors - test_change_capital_one_author_two_books</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthors - test_change_capital_rename_co_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt14.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthors - test_change_capital_rename_two_co_authors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft14.6" class="none bg-danger">
<td>
<div class='testcase'>TestEditAuthors - test_rename_capital_on_upload</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft14.6')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft14.6" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft14.6').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_edit_books_author.py&#34;, line 432, in test_rename_capital_on_upload
self.assertEqual(&#39;Useless&#39;, details[&#39;title&#39;])
AssertionError: &#39;Useless&#39; != &#39;title&#39;
- Useless
+ title</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="failClass">
<td>TestEditAuthorsGdrive</td>
<td class="text-center">6</td>
<td class="text-center">5</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c15', 6)">Detail</a>
</td>
</tr>
<tr id='pt15.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthorsGdrive - test_change_capital_co_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt15.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthorsGdrive - test_change_capital_one_author_one_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt15.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthorsGdrive - test_change_capital_one_author_two_books</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt15.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthorsGdrive - test_change_capital_rename_co_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt15.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditAuthorsGdrive - test_change_capital_rename_two_co_authors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft15.6" class="none bg-danger">
<td>
<div class='testcase'>TestEditAuthorsGdrive - test_rename_capital_on_upload</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft15.6')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft15.6" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft15.6').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_edit_books_author_gdrive.py&#34;, line 553, in test_rename_capital_on_upload
self.assertEqual(&#39;Useless&#39;, details[&#39;title&#39;])
AssertionError: &#39;Useless&#39; != &#39;title&#39;
- Useless
+ title</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="passClass">
<td>TestEditBooksList</td>
<td class="text-center">18</td>
<td class="text-center">18</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c16', 18)">Detail</a>
</td>
</tr>
<tr id='pt16.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_categories</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_comment</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_category</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_comment</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_enum</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_float</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_int</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_ratings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_cust_text</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_languages</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_seriesindex</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_bookslist_edit_title</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_list_visibility</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_restricted_rights</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt16.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksList - test_search_books_list</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="errorClass">
<td>TestLoadMetadata</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c17', 1)">Detail</a>
</td>
</tr>
<tr id="et17.1" class="none bg-info">
<td>
<div class='testcase'>TestLoadMetadata - test_load_metadata</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et17.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et17.1" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et17.1').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_edit_books_metadata.py&#34;, line 90, in test_load_metadata
elif &#39;https://amazon.com/&#39; == results[20][&#39;source&#39;]:
IndexError: list index out of range</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="passClass">
<td>TestEditBooksOnGdrive</td>
<td class="text-center">18</td>
<td class="text-center">18</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c18', 18)">Detail</a>
</td>
</tr>
<tr id='pt18.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_download_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_category</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_comments</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_bool</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_categories</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_float</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_int</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_single_select</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_custom_text</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_edit_title</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_upload_book_lit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt18.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEditBooksOnGdrive - test_watch_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestLoadMetadataScholar</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c19', 1)">Detail</a>
</td>
</tr>
<tr id='pt19.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLoadMetadataScholar - test_load_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSTARTTLS</td>
<td class="text-center">3</td>
<td class="text-center">3</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c20', 3)">Detail</a>
</td>
</tr>
<tr id='pt20.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSTARTTLS - test_STARTTLS</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt20.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSTARTTLS - test_STARTTLS_SSL_setup_error</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt20.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSTARTTLS - test_STARTTLS_resend_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSSL</td>
<td class="text-center">7</td>
<td class="text-center">7</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c21', 7)">Detail</a>
</td>
</tr>
<tr id='pt21.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSSL - test_SSL_None_setup_error</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt21.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSSL - test_SSL_STARTTLS_setup_error</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt21.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSSL - test_SSL_logging_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt21.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSSL - test_SSL_non_admin_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt21.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSSL - test_SSL_only</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt21.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSSL - test_email_limit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt21.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSSL - test_filepicker_two_file</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestEmbedMetadata</td>
<td class="text-center">5</td>
<td class="text-center">5</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c22', 5)">Detail</a>
</td>
</tr>
<tr id='pt22.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_convert_file_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt22.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_convert_kepub_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt22.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_download_check_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt22.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_download_kepub_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt22.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadata - test_download_permissions_missing_file</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestEmbedMetadataGdrive</td>
<td class="text-center">4</td>
<td class="text-center">4</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c23', 4)">Detail</a>
</td>
</tr>
<tr id='pt23.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadataGdrive - test_convert_file_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt23.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadataGdrive - test_convert_kepub_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt23.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadataGdrive - test_download_check_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt23.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestEmbedMetadataGdrive - test_download_kepub_embed_metadata</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestBookDatabase</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c24', 1)">Detail</a>
</td>
</tr>
<tr id='pt24.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestBookDatabase - test_invalid_book_path</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestErrorReadColumn</td>
<td class="text-center">2</td>
<td class="text-center">2</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c25', 2)">Detail</a>
</td>
</tr>
<tr id='pt25.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestErrorReadColumn - test_invalid_custom_column</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt25.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestErrorReadColumn - test_invalid_custom_read_column</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="skipClass">
<td>TestFilePicker</td>
<td class="text-center">3</td>
<td class="text-center">2</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c26', 3)">Detail</a>
</td>
</tr>
<tr id='pt26.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestFilePicker - test_filepicker_limited_file</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="st26.2" class="none bg-warning">
<td>
<div class='testcase'>TestFilePicker - test_filepicker_new_file</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st26.2')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st26.2" class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_st26.2').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Not implemented</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt26.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestFilePicker - test_two_filepickers</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSetupGdrive</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c27', 1)">Detail</a>
</td>
</tr>
<tr id='pt27.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSetupGdrive - test_config_gdrive</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestGoodreads</td>
<td class="text-center">3</td>
<td class="text-center">3</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c28', 3)">Detail</a>
</td>
</tr>
<tr id='pt28.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestGoodreads - test_author_page</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt28.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestGoodreads - test_author_page_invalid</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt28.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestGoodreads - test_goodreads_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestKoboSync</td>
<td class="text-center">11</td>
<td class="text-center">10</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c29', 11)">Detail</a>
</td>
</tr>
<tr id='pt29.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_book_download</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_kobo_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_kobo_limit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_kobo_sync_selected_shelfs</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_shelves_add_remove_books</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_sync_changed_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_sync_invalid</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_sync_reading_state</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_sync_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt29.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSync - test_sync_unchanged</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft29.11" class="none bg-danger">
<td>
<div class='testcase'>TestKoboSync - test_sync_upload</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft29.11')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft29.11" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft29.11').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py&#34;, line 281, in test_sync_upload
self.assertEqual([&#39;Noname 23&#39;], data[0][&#39;NewEntitlement&#39;][&#39;BookMetadata&#39;][&#39;Contributors&#39;])
AssertionError: Lists differ: [&#39;Noname 23&#39;] != [&#39;Unknown&#39;]
First differing element 0:
&#39;Noname 23&#39;
&#39;Unknown&#39;
- [&#39;Noname 23&#39;]
+ [&#39;Unknown&#39;]</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="passClass">
<td>TestKoboSyncBig</td>
<td class="text-center">6</td>
<td class="text-center">6</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c30', 6)">Detail</a>
</td>
</tr>
<tr id='pt30.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSyncBig - test_download_cover</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt30.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSyncBig - test_kobo_sync_multi_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt30.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSyncBig - test_kobo_sync_selected_shelves</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt30.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSyncBig - test_sync_changed_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt30.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSyncBig - test_sync_reading_state</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt30.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestKoboSyncBig - test_sync_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestLdapLogin</td>
<td class="text-center">13</td>
<td class="text-center">13</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c31', 13)">Detail</a>
</td>
</tr>
<tr id='pt31.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_LDAP_SSL</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_LDAP_SSL_CERTIFICATE</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_LDAP_STARTTLS</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_LDAP_fallback_Login</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_LDAP_import</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_LDAP_import_memberfield</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_LDAP_login</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_invalid_LDAP</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_ldap_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_ldap_authentication</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_ldap_kobo_sync</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_ldap_opds_anonymous</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt31.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLdapLogin - test_ldap_opds_download_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSecurity</td>
<td class="text-center">4</td>
<td class="text-center">4</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c32', 4)">Detail</a>
</td>
</tr>
<tr id='pt32.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSecurity - test_login_limit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt32.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSecurity - test_opds_limit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt32.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSecurity - test_password_strength</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt32.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSecurity - test_register_limit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestCalibreWebListOrders</td>
<td class="text-center">10</td>
<td class="text-center">10</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c33', 10)">Detail</a>
</td>
</tr>
<tr id='pt33.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_author_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_download_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_format_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_lang_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_order_authors_all_links</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_order_series_all_links</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_publisher_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_ratings_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_series_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt33.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebListOrders - test_tags_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="skipClass">
<td>TestLogging</td>
<td class="text-center">9</td>
<td class="text-center">8</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c34', 9)">Detail</a>
</td>
</tr>
<tr id='pt34.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogging - test_access_log_recover</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt34.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogging - test_debug_log</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt34.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogging - test_debuginfo_download</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt34.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogging - test_failed_login</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="st34.5" class="none bg-warning">
<td>
<div class='testcase'>TestLogging - test_failed_register</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st34.5')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st34.5" class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_st34.5').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Not Implemented</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt34.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogging - test_logbook_download</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt34.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogging - test_logfile_change</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt34.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogging - test_logfile_recover</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt34.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogging - test_logviewer</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestLogin</td>
<td class="text-center">19</td>
<td class="text-center">17</td>
<td class="text-center">2</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c35', 19)">Detail</a>
</td>
</tr>
<tr id='pt35.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_digest_login</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_capital_letters_user_unicode_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_cookie_steal</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_delete_admin</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_empty_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_locale_select</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft35.7" class="none bg-danger">
<td>
<div class='testcase'>TestLogin - test_login_log_hack</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft35.7')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft35.7" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft35.7').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_login.py&#34;, line 698, in test_login_log_hack
self.assertTrue(len(re.findall(&#39;Login failed for user &#34;testhackdata&#34;&#39;, data)), &#34;Linefeed in username gives wrong loglines&#34;)
AssertionError: 0 is not true : Linefeed in username gives wrong loglines</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt35.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_protected</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_remember_me</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_rename_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_unicode_user_space_end_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_login_user_with_space_password_end_space</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_magic_remote_login</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_next</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_password_policy</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_proxy_login</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft35.17" class="none bg-danger">
<td>
<div class='testcase'>TestLogin - test_proxy_login_multi_user</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft35.17')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft35.17" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft35.17').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_login.py&#34;, line 531, in test_proxy_login_multi_user
self.assertTrue(&#39;&lt;input type=&#34;text&#34; class=&#34;form-control&#34; name=&#34;name&#34; id=&#34;name&#34; value=&#34;new_user1&#34; autocomplete=&#34;off&#34;&gt;&#39; in resp.text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt35.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_proxy_login_opds</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt35.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestLogin - test_robots</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestMergeBooksList</td>
<td class="text-center">2</td>
<td class="text-center">2</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c36', 2)">Detail</a>
</td>
</tr>
<tr id='pt36.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestMergeBooksList - test_book_merge</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt36.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestMergeBooksList - test_delete_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestOAuthLogin</td>
<td class="text-center">2</td>
<td class="text-center">2</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c37', 2)">Detail</a>
</td>
</tr>
<tr id='pt37.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOAuthLogin - test_oauth_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt37.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOAuthLogin - test_visible_oauth</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestOPDSFeed</td>
<td class="text-center">24</td>
<td class="text-center">24</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c38', 24)">Detail</a>
</td>
</tr>
<tr id='pt38.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_author</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_books</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_calibre_companion</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_colon_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_cover</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_download_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_formats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_guest_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_hot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_non_admin</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_random</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_ratings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_read_unread</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_search</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_shelf_access</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_stats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.21' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.22' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_top_rated</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.23' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_opds_unicode_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt38.24' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestOPDSFeed - test_recently_added</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestUploadPDF</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c39', 1)">Detail</a>
</td>
</tr>
<tr id='pt39.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUploadPDF - test_upload_invalid_pdf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestPipInstall</td>
<td class="text-center">3</td>
<td class="text-center">3</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c40', 3)">Detail</a>
</td>
</tr>
<tr id='pt40.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestPipInstall - test_command_start</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt40.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestPipInstall - test_foldername_database_location</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt40.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestPipInstall - test_module_start</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="skipClass">
<td>TestReader</td>
<td class="text-center">8</td>
<td class="text-center">7</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c41', 8)">Detail</a>
</td>
</tr>
<tr id='st41.1' class='none bg-warning'>
<td>
<div class='testcase'>TestReader - test_cb7_reader</div>
</td>
<td colspan='6' align='center'>SKIP</td>
</tr>
<tr id='pt41.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_comic_MACOS_files</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt41.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_comic_reader</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt41.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_epub_reader</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt41.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_pdf_reader</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt41.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_single_file_comic</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt41.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_sound_listener</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt41.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReader - test_txt_reader</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestReadOnlyDatabase</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c42', 1)">Detail</a>
</td>
</tr>
<tr id='pt42.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReadOnlyDatabase - test_readonly_path</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestRegister</td>
<td class="text-center">8</td>
<td class="text-center">8</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c43', 8)">Detail</a>
</td>
</tr>
<tr id='pt43.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestRegister - test_forgot_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt43.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestRegister - test_illegal_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt43.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestRegister - test_limit_domain</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt43.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestRegister - test_register_no_server</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt43.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestRegister - test_registering_only_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt43.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestRegister - test_registering_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt43.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestRegister - test_registering_user_fail</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt43.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestRegister - test_user_change_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestReverseProxy</td>
<td class="text-center">3</td>
<td class="text-center">3</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c44', 3)">Detail</a>
</td>
</tr>
<tr id='pt44.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReverseProxy - test_logout</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt44.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReverseProxy - test_move_page</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt44.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestReverseProxy - test_reverse_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="skipClass">
<td>TestShelf</td>
<td class="text-center">16</td>
<td class="text-center">15</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c45', 16)">Detail</a>
</td>
</tr>
<tr id='pt45.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_access_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_add_shelf_from_search</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_adv_search_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_arrange_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_create_public_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_create_public_shelf_no_permission</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_delete_book_of_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_private_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_public_private_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_public_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_rename_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_shelf_action_non_shelf_edit_role</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_shelf_anonymous</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="st45.14" class="none bg-warning">
<td>
<div class='testcase'>TestShelf - test_shelf_database_change</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st45.14')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st45.14" class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_st45.14').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Change Database Not Implemented</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt45.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_shelf_long_name</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt45.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestShelf - test_xss_shelf</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSocket</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c46', 1)">Detail</a>
</td>
</tr>
<tr id='pt46.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSocket - test_socket_communication</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestSystemdActivation</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c47', 1)">Detail</a>
</td>
</tr>
<tr id='pt47.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestSystemdActivation - test_systemd_activation</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestThumbnailsEnv</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c48', 1)">Detail</a>
</td>
</tr>
<tr id='pt48.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnailsEnv - test_cover_cache_env_on_database_change</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="failClass">
<td>TestThumbnails</td>
<td class="text-center">8</td>
<td class="text-center">4</td>
<td class="text-center">3</td>
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c49', 8)">Detail</a>
</td>
</tr>
<tr id='pt49.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_cache_non_writable</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft49.2" class="none bg-danger">
<td>
<div class='testcase'>TestThumbnails - test_cache_of_deleted_book</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft49.2')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft49.2" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft49.2').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py&#34;, line 192, in test_cache_of_deleted_book
self.assertEqual(book_thumbnail_reference, 2)
AssertionError: 0 != 2</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt49.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_cover_cache_on_database_change</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt49.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_cover_change_on_upload_new_cover</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='st49.5' class='none bg-warning'>
<td>
<div class='testcase'>TestThumbnails - test_cover_for_series</div>
</td>
<td colspan='6' align='center'>SKIP</td>
</tr>
<tr id="ft49.6" class="none bg-danger">
<td>
<div class='testcase'>TestThumbnails - test_cover_on_upload_book</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft49.6')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft49.6" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft49.6').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py&#34;, line 253, in test_cover_on_upload_book
self.assertEqual(book_thumbnail_reference+2, count_files(thumbnail_cache_path))
AssertionError: 222 != 220</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt49.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestThumbnails - test_remove_cover_from_cache</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft49.8" class="none bg-danger">
<td>
<div class='testcase'>TestThumbnails - test_sideloaded_book</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft49.8')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft49.8" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft49.8').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py&#34;, line 326, in test_sideloaded_book
self.assertGreaterEqual(diff(BytesIO(list_cover), BytesIO(new_list_cover), delete_diff_file=True), 0.04)
AssertionError: 0.0 not greater than or equal to 0.04</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="errorClass">
<td>TestUpdater</td>
<td class="text-center">9</td>
<td class="text-center">1</td>
<td class="text-center">4</td>
<td class="text-center">3</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c50', 9)">Detail</a>
</td>
</tr>
<tr id="ft50.1" class="none bg-danger">
<td>
<div class='testcase'>TestUpdater - test_check_update_nightly_errors</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft50.1')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft50.1" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft50.1').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 235, in test_check_update_nightly_errors
self.check_updater(&#39;Timeout&#39;, &#34;alert&#34;, 13)
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 87, in check_updater
self.assertTrue(responsetext in self.check_element_on_page((By.ID, &#34;message&#34;)).text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft50.2" class="none bg-danger">
<td>
<div class='testcase'>TestUpdater - test_check_update_nightly_request_errors</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft50.2')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft50.2" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft50.2').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 263, in test_check_update_nightly_request_errors
self.check_updater(&#39;Timeout&#39;, &#34;alert&#34;, 13)
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 87, in check_updater
self.assertTrue(responsetext in self.check_element_on_page((By.ID, &#34;message&#34;)).text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft50.3" class="none bg-danger">
<td>
<div class='testcase'>TestUpdater - test_check_update_stable_errors</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft50.3')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft50.3" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft50.3').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 153, in test_check_update_stable_errors
self.check_updater(&#39;Timeout&#39;, &#34;alert&#34;, 13)
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 87, in check_updater
self.assertTrue(responsetext in self.check_element_on_page((By.ID, &#34;message&#34;)).text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft50.4" class="none bg-danger">
<td>
<div class='testcase'>TestUpdater - test_check_update_stable_versions</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft50.4')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft50.4" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft50.4').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 181, in test_check_update_stable_versions
self.check_updater(&#39;{}.{}.{}&#39;.format(*version3), &#34;alert-warning&#34;)
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 87, in check_updater
self.assertTrue(responsetext in self.check_element_on_page((By.ID, &#34;message&#34;)).text)
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et50.5" class="none bg-info">
<td>
<div class='testcase'>TestUpdater - test_perform_update</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et50.5')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et50.5" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et50.5').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 390, in test_perform_update
performUpdate.click()
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py&#34;, line 93, in click
self._execute(Command.CLICK_ELEMENT)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py&#34;, line 403, in _execute
return self._parent.execute(command, params)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 440, in execute
self.error_handler.check_response(response)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py&#34;, line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: Element &lt;div id=&#34;perform_update&#34; class=&#34;btn btn-primary hidden&#34;&gt; could not be scrolled into view
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
ElementNotInteractableError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:349:5
webdriverClickElement@chrome://remote/content/marionette/interaction.sys.mjs:166:11
interaction.clickElement@chrome://remote/content/marionette/interaction.sys.mjs:135:11
clickElement@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:204:29
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:84:31</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="et50.6" class="none bg-info">
<td>
<div class='testcase'>TestUpdater - test_perform_update_stable_errors</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et50.6')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et50.6" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et50.6').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 330, in test_perform_update_stable_errors
performUpdate.click()
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py&#34;, line 93, in click
self._execute(Command.CLICK_ELEMENT)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py&#34;, line 403, in _execute
return self._parent.execute(command, params)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 440, in execute
self.error_handler.check_response(response)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py&#34;, line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: Element &lt;div id=&#34;perform_update&#34; class=&#34;btn btn-primary hidden&#34;&gt; could not be scrolled into view
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
ElementNotInteractableError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:349:5
webdriverClickElement@chrome://remote/content/marionette/interaction.sys.mjs:166:11
interaction.clickElement@chrome://remote/content/marionette/interaction.sys.mjs:135:11
clickElement@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:204:29
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:84:31</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="st50.7" class="none bg-warning">
<td>
<div class='testcase'>TestUpdater - test_perform_update_timeout</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st50.7')">SKIP</a>
</div>
<!--css div popup start-->
<div id="div_st50.7" class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_st50.7').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Takes too long</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='pt50.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUpdater - test_reconnect_database</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="et50.9" class="none bg-info">
<td>
<div class='testcase'>TestUpdater - test_update_write_protect</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et50.9')">ERROR</a>
</div>
<!--css div popup start-->
<div id="div_et50.9" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_et50.9').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_updater.py&#34;, line 433, in test_update_write_protect
performUpdate.click()
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py&#34;, line 93, in click
self._execute(Command.CLICK_ELEMENT)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py&#34;, line 403, in _execute
return self._parent.execute(command, params)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py&#34;, line 440, in execute
self.error_handler.check_response(response)
File &#34;/home/ozzie/Development/calibre-web-test/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py&#34;, line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: Element &lt;div id=&#34;perform_update&#34; class=&#34;btn btn-primary hidden&#34;&gt; could not be scrolled into view
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
ElementNotInteractableError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:349:5
webdriverClickElement@chrome://remote/content/marionette/interaction.sys.mjs:166:11
interaction.clickElement@chrome://remote/content/marionette/interaction.sys.mjs:135:11
clickElement@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:204:29
receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:84:31</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="failClass">
<td>TestUploadEPubs</td>
<td class="text-center">5</td>
<td class="text-center">1</td>
<td class="text-center">4</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c51', 5)">Detail</a>
</td>
</tr>
<tr id='pt51.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_cover</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="ft51.2" class="none bg-danger">
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_cover_formats</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft51.2')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft51.2" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft51.2').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py&#34;, line 212, in test_upload_epub_cover_formats
self.assertAlmostEqual(diff(BytesIO(original), BytesIO(cover_image), delete_diff_file=True), 0.0058,
AssertionError: 0.0 != 0.0058 within 0.0001 delta (0.0058 difference)</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft51.3" class="none bg-danger">
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_duplicate</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft51.3')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft51.3" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft51.3').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py&#34;, line 59, in test_upload_epub_duplicate
self.assertEqual(&#39;Der titel&#39;, details[&#39;title&#39;])
AssertionError: &#39;Der titel&#39; != &#39;title&#39;
- Der titel
+ title</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft51.4" class="none bg-danger">
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_identifier</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft51.4')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft51.4" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft51.4').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py&#34;, line 229, in test_upload_epub_identifier
self.assertListEqual([{&#34;bookid&#34;: &#34;test&#34;}], ci[&#39;identifier&#39;])
AssertionError: Lists differ: [{&#39;bookid&#39;: &#39;test&#39;}] != []
First list contains 1 additional elements.
First extra element 0:
{&#39;bookid&#39;: &#39;test&#39;}
- [{&#39;bookid&#39;: &#39;test&#39;}]
+ []</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="ft51.5" class="none bg-danger">
<td>
<div class='testcase'>TestUploadEPubs - test_upload_epub_lang</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft51.5')">FAIL</a>
</div>
<!--css div popup start-->
<div id="div_ft51.5" class="popup_window test_output" style="display:block;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus="this.blur();"
onclick="document.getElementById('div_ft51.5').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File &#34;/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py&#34;, line 87, in test_upload_epub_lang
details = self.verify_upload(epub_file, check_warning=True)
File &#34;/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py&#34;, line 78, in verify_upload
self.assertTrue(self.check_element_on_page((By.ID, &#34;flash_warning&#34;)))
AssertionError: False is not true</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id="su" class="passClass">
<td>TestUserList</td>
<td class="text-center">18</td>
<td class="text-center">18</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c52', 18)">Detail</a>
</td>
</tr>
<tr id='pt52.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_edit_user_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_list_visibility</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_admin_role</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_check_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_denied_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_download_role</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_button</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_email</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_kindle</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_locale</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_name</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_edit_visiblility</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_guest_edit</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_remove_admin</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_requests</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_search</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt52.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserList - test_user_list_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestUserLoad</td>
<td class="text-center">1</td>
<td class="text-center">1</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c53', 1)">Detail</a>
</td>
</tr>
<tr id='pt53.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserLoad - test_user_change_vis</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestUserTemplate</td>
<td class="text-center">21</td>
<td class="text-center">21</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c54', 21)">Detail</a>
</td>
</tr>
<tr id='pt54.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_allow_column_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_allow_tag_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_archived_format_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_author_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_best_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_category_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_deny_column_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_deny_tag_restriction</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_detail_random_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_download_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_format_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_hot_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_language_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_limit_book_languages</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_list_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_publisher_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_random_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_read_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_recent_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_series_user_template</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt54.21' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestUserTemplate - test_ui_language_settings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestCalibreWebVisibilitys</td>
<td class="text-center">35</td>
<td class="text-center">35</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c55', 35)">Detail</a>
</td>
</tr>
<tr id='pt55.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_SMTP_Settings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_add_user</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_archived</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_authors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_category</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_file_formats</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_hot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_language</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_publisher</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_random</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_rated</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_rating</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_read</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_admin_change_visibility_series</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_allow_columns</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_allow_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_archive_books</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_authors_max_settings</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.21' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_change_title</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.22' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_checked_logged_in</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.23' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_hide_custom_column</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.24' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_link_column_to_read_status</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.25' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_random_books_available</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.26' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_read_status_visible</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.27' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_request_link_column_to_read_status</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.28' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_restrict_columns</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.29' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_restrict_tags</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.30' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_save_views_recent</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.31' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_search_functions</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.32' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_search_order</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.33' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_search_string</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.34' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_user_email_available</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt55.35' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreWebVisibilitys - test_user_visibility_sidebar</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id="su" class="passClass">
<td>TestCalibreHelper</td>
<td class="text-center">16</td>
<td class="text-center">16</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c56', 16)">Detail</a>
</td>
</tr>
<tr id='pt56.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_author_sort</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_author_sort_comma</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_author_sort_junior</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_author_sort_oneword</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_author_sort_roman</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_Limit_Length</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_char_replacement</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_chinese_Characters</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_deg_eur_replacement</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_doubleS</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_finish_Dot</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_high23</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_check_umlauts</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_random_password</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_split_authors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt56.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>TestCalibreHelper - test_whitespaces</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='total_row' class="text-center bg-grey">
<td>Total</td>
<td>475</td>
<td>420</td>
<td>29</td>
<td>16</td>
<td>10</td>
<td>&nbsp;</td>
</tr>
</table>
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" href="#collapseOne">
<span class="glyphicon glyphicon-plus"></span>
Tested environment
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse">
<div class="panel-body">
<table id="libs" class="table">
<thead>
<tr>
<th>Program library</th>
<th>Installed Version</th>
<th>Test class</th>
</tr>
</thead>
<tbody>
<tr>
<th>Platform</th>
<td>Linux 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_64</td>
<td>Basic</td>
</tr>
<tr>
<th>Python</th>
<td>3.10.12</td>
<td>Basic</td>
</tr>
<tr>
<th>advocate</th>
<td>1.0.0</td>
<td>Basic</td>
</tr>
<tr>
<th>APScheduler</th>
<td>3.10.4</td>
<td>Basic</td>
</tr>
<tr>
<th>Babel</th>
<td>2.14.0</td>
<td>Basic</td>
</tr>
<tr>
<th>chardet</th>
<td>4.0.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask</th>
<td>2.3.3</td>
<td>Basic</td>
</tr>
<tr>
<th>flask-babel</th>
<td>4.0.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-Limiter</th>
<td>3.5.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-Login</th>
<td>0.6.2</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-Principal</th>
<td>0.4.0</td>
<td>Basic</td>
</tr>
<tr>
<th>Flask-WTF</th>
<td>1.2.1</td>
<td>Basic</td>
</tr>
<tr>
<th>greenlet</th>
<td>3.0.3</td>
<td>Basic</td>
</tr>
<tr>
<th>iso-639</th>
<td>0.4.5</td>
<td>Basic</td>
</tr>
<tr>
<th>Jinja2</th>
<td>3.1.3</td>
<td>Basic</td>
</tr>
<tr>
<th>lxml</th>
<td>4.9.4</td>
<td>Basic</td>
</tr>
<tr>
<th>pyasn1</th>
<td>0.5.1</td>
<td>Basic</td>
</tr>
<tr>
<th>pypdf</th>
<td>3.15.5</td>
<td>Basic</td>
</tr>
<tr>
<th>pytz</th>
<td>2023.3.post1</td>
<td>Basic</td>
</tr>
<tr>
<th>requests</th>
<td>2.31.0</td>
<td>Basic</td>
</tr>
<tr>
<th>SQLAlchemy</th>
<td>2.0.25</td>
<td>Basic</td>
</tr>
<tr>
<th>tornado</th>
<td>6.3.3</td>
<td>Basic</td>
</tr>
<tr>
<th>Unidecode</th>
<td>1.3.8</td>
<td>Basic</td>
</tr>
<tr>
<th>Wand</th>
<td>0.6.13</td>
<td>Basic</td>
</tr>
<tr>
<th>Werkzeug</th>
<td>2.3.8</td>
<td>Basic</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.113.0</td>
<td>TestBackupMetadataGdrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestBackupMetadataGdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestBackupMetadataGdrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.19.0</td>
<td>TestBackupMetadataGdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestBackupMetadataGdrive</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.113.0</td>
<td>TestCliGdrivedb</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestCliGdrivedb</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestCliGdrivedb</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.19.0</td>
<td>TestCliGdrivedb</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestCliGdrivedb</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.113.0</td>
<td>TestEbookConvertCalibreGDrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestEbookConvertCalibreGDrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestEbookConvertCalibreGDrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.19.0</td>
<td>TestEbookConvertCalibreGDrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestEbookConvertCalibreGDrive</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.113.0</td>
<td>TestEbookConvertGDriveKepubify</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestEbookConvertGDriveKepubify</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestEbookConvertGDriveKepubify</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.19.0</td>
<td>TestEbookConvertGDriveKepubify</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestEbookConvertGDriveKepubify</td>
</tr>
<tr>
<th>comicapi</th>
<td>3.2.0</td>
<td>TestEditAdditionalBooks</td>
</tr>
<tr>
<th>py7zr</th>
<td>0.20.8</td>
<td>TestEditAdditionalBooks</td>
</tr>
<tr>
<th>rarfile</th>
<td>4.1</td>
<td>TestEditAdditionalBooks</td>
</tr>
<tr>
<th>py7zr</th>
<td>0.20.8</td>
<td>TestEditBooks</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.113.0</td>
<td>TestEditAuthorsGdrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestEditAuthorsGdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestEditAuthorsGdrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.19.0</td>
<td>TestEditAuthorsGdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestEditAuthorsGdrive</td>
</tr>
<tr>
<th>beautifulsoup4</th>
<td>4.12.2</td>
<td>TestLoadMetadata</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.113.0</td>
<td>TestEditBooksOnGdrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestEditBooksOnGdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestEditBooksOnGdrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.19.0</td>
<td>TestEditBooksOnGdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestEditBooksOnGdrive</td>
</tr>
<tr>
<th>beautifulsoup4</th>
<td>4.12.2</td>
<td>TestLoadMetadataScholar</td>
</tr>
<tr>
<th>scholarly</th>
<td>1.7.11</td>
<td>TestLoadMetadataScholar</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.113.0</td>
<td>TestEmbedMetadataGdrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestEmbedMetadataGdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestEmbedMetadataGdrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.19.0</td>
<td>TestEmbedMetadataGdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestEmbedMetadataGdrive</td>
</tr>
<tr>
<th>google-api-python-client</th>
<td>2.113.0</td>
<td>TestSetupGdrive</td>
</tr>
<tr>
<th>httplib2</th>
<td>0.22.0</td>
<td>TestSetupGdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>TestSetupGdrive</td>
</tr>
<tr>
<th>PyDrive2</th>
<td>1.19.0</td>
<td>TestSetupGdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>6.0.1</td>
<td>TestSetupGdrive</td>
</tr>
<tr>
<th>goodreads</th>
<td>0.3.2</td>
<td>TestGoodreads</td>
</tr>
<tr>
<th>python-Levenshtein</th>
<td>0.23.0</td>
<td>TestGoodreads</td>
</tr>
<tr>
<th>jsonschema</th>
<td>4.20.0</td>
<td>TestKoboSync</td>
</tr>
<tr>
<th>jsonschema</th>
<td>4.20.0</td>
<td>TestKoboSyncBig</td>
</tr>
<tr>
<th>Flask-SimpleLDAP</th>
<td>1.4.0</td>
<td>TestLdapLogin</td>
</tr>
<tr>
<th>jsonschema</th>
<td>4.20.0</td>
<td>TestLdapLogin</td>
</tr>
<tr>
<th>python-ldap</th>
<td>3.4.4</td>
<td>TestLdapLogin</td>
</tr>
<tr>
<th>Flask-Dance</th>
<td>7.0.1</td>
<td>TestOAuthLogin</td>
</tr>
<tr>
<th>SQLAlchemy-Utils</th>
<td>0.41.1</td>
<td>TestOAuthLogin</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script>
drawCircle(420, 29, 16, 10);
showCase(5);
</script>
<footer>
<div id='foter' class="text-center">
<p>Made with HTMLTestRunner from https://github.com/oldani/HtmlTestRunner</p>
</div>
</footer>
</body>
</html>