Mercurial > repos > agpetit > calculate_diameter
view run_installed_tests.html @ 3:b120a98cf623 draft
"planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit 48a10de1b21f94ab8019d9d0e4a43e0bd9d0c31e-dirty"
author | agpetit |
---|---|
date | Fri, 27 May 2022 07:36:52 +0000 |
parents | |
children |
line wrap: on
line source
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Test Report</title> <style>body { font-family: Helvetica, Arial, sans-serif; font-size: 12px; /* do not increase min-width as some may use split screens */ min-width: 800px; color: #999; } h1 { font-size: 24px; color: black; } h2 { font-size: 16px; color: black; } p { color: black; } a { color: #999; } table { border-collapse: collapse; } /****************************** * SUMMARY INFORMATION ******************************/ #environment td { padding: 5px; border: 1px solid #E6E6E6; } #environment tr:nth-child(odd) { background-color: #f6f6f6; } /****************************** * TEST RESULT COLORS ******************************/ span.passed, .passed .col-result { color: green; } span.skipped, span.xfailed, span.rerun, .skipped .col-result, .xfailed .col-result, .rerun .col-result { color: orange; } span.error, span.failed, span.xpassed, .error .col-result, .failed .col-result, .xpassed .col-result { color: red; } /****************************** * RESULTS TABLE * * 1. Table Layout * 2. Extra * 3. Sorting items * ******************************/ /*------------------ * 1. Table Layout *------------------*/ #results-table { border: 1px solid #e6e6e6; color: #999; font-size: 12px; width: 100%; } #results-table th, #results-table td { padding: 5px; border: 1px solid #E6E6E6; text-align: left; } #results-table th { font-weight: bold; } /*------------------ * 2. Extra *------------------*/ .log { background-color: #e6e6e6; border: 1px solid #e6e6e6; color: black; display: block; font-family: "Courier New", Courier, monospace; height: 230px; overflow-y: scroll; padding: 5px; white-space: pre-wrap; } .log:only-child { height: inherit; } div.image { border: 1px solid #e6e6e6; float: right; height: 240px; margin-left: 5px; overflow: hidden; width: 320px; } div.image img { width: 320px; } div.video { border: 1px solid #e6e6e6; float: right; height: 240px; margin-left: 5px; overflow: hidden; width: 320px; } div.video video { overflow: hidden; width: 320px; height: 240px; } .collapsed { display: none; } .expander::after { content: " (show details)"; color: #BBB; font-style: italic; cursor: pointer; } .collapser::after { content: " (hide details)"; color: #BBB; font-style: italic; cursor: pointer; } /*------------------ * 3. Sorting items *------------------*/ .sortable { cursor: pointer; } .sort-icon { font-size: 0px; float: left; margin-right: 5px; margin-top: 5px; /*triangle*/ width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; } .inactive .sort-icon { /*finish triangle*/ border-top: 8px solid #E6E6E6; } .asc.active .sort-icon { /*finish triangle*/ border-bottom: 8px solid #999; } .desc.active .sort-icon { /*finish triangle*/ border-top: 8px solid #999; } </style></head> <body onLoad="init()"> <script>/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ function toArray(iter) { if (iter === null) { return null; } return Array.prototype.slice.call(iter); } function find(selector, elem) { // eslint-disable-line no-redeclare if (!elem) { elem = document; } return elem.querySelector(selector); } function findAll(selector, elem) { if (!elem) { elem = document; } return toArray(elem.querySelectorAll(selector)); } function sortColumn(elem) { toggleSortStates(elem); const colIndex = toArray(elem.parentNode.childNodes).indexOf(elem); let key; if (elem.classList.contains('result')) { key = keyResult; } else if (elem.classList.contains('links')) { key = keyLink; } else { key = keyAlpha; } sortTable(elem, key(colIndex)); } function showAllExtras() { // eslint-disable-line no-unused-vars findAll('.col-result').forEach(showExtras); } function hideAllExtras() { // eslint-disable-line no-unused-vars findAll('.col-result').forEach(hideExtras); } function showExtras(colresultElem) { const extras = colresultElem.parentNode.nextElementSibling; const expandcollapse = colresultElem.firstElementChild; extras.classList.remove('collapsed'); expandcollapse.classList.remove('expander'); expandcollapse.classList.add('collapser'); } function hideExtras(colresultElem) { const extras = colresultElem.parentNode.nextElementSibling; const expandcollapse = colresultElem.firstElementChild; extras.classList.add('collapsed'); expandcollapse.classList.remove('collapser'); expandcollapse.classList.add('expander'); } function showFilters() { const filterItems = document.getElementsByClassName('filter'); for (let i = 0; i < filterItems.length; i++) filterItems[i].hidden = false; } function addCollapse() { // Add links for show/hide all const resulttable = find('table#results-table'); const showhideall = document.createElement('p'); showhideall.innerHTML = '<a href="javascript:showAllExtras()">Show all details</a> / ' + '<a href="javascript:hideAllExtras()">Hide all details</a>'; resulttable.parentElement.insertBefore(showhideall, resulttable); // Add show/hide link to each result findAll('.col-result').forEach(function(elem) { const collapsed = getQueryParameter('collapsed') || 'Passed'; const extras = elem.parentNode.nextElementSibling; const expandcollapse = document.createElement('span'); if (extras.classList.contains('collapsed')) { expandcollapse.classList.add('expander'); } else if (collapsed.includes(elem.innerHTML)) { extras.classList.add('collapsed'); expandcollapse.classList.add('expander'); } else { expandcollapse.classList.add('collapser'); } elem.appendChild(expandcollapse); elem.addEventListener('click', function(event) { if (event.currentTarget.parentNode.nextElementSibling.classList.contains('collapsed')) { showExtras(event.currentTarget); } else { hideExtras(event.currentTarget); } }); }); } function getQueryParameter(name) { const match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search); return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); } function init () { // eslint-disable-line no-unused-vars resetSortHeaders(); addCollapse(); showFilters(); sortColumn(find('.initial-sort')); findAll('.sortable').forEach(function(elem) { elem.addEventListener('click', function() { sortColumn(elem); }, false); }); } function sortTable(clicked, keyFunc) { const rows = findAll('.results-table-row'); const reversed = !clicked.classList.contains('asc'); const sortedRows = sort(rows, keyFunc, reversed); /* Whole table is removed here because browsers acts much slower * when appending existing elements. */ const thead = document.getElementById('results-table-head'); document.getElementById('results-table').remove(); const parent = document.createElement('table'); parent.id = 'results-table'; parent.appendChild(thead); sortedRows.forEach(function(elem) { parent.appendChild(elem); }); document.getElementsByTagName('BODY')[0].appendChild(parent); } function sort(items, keyFunc, reversed) { const sortArray = items.map(function(item, i) { return [keyFunc(item), i]; }); sortArray.sort(function(a, b) { const keyA = a[0]; const keyB = b[0]; if (keyA == keyB) return 0; if (reversed) { return keyA < keyB ? 1 : -1; } else { return keyA > keyB ? 1 : -1; } }); return sortArray.map(function(item) { const index = item[1]; return items[index]; }); } function keyAlpha(colIndex) { return function(elem) { return elem.childNodes[1].childNodes[colIndex].firstChild.data.toLowerCase(); }; } function keyLink(colIndex) { return function(elem) { const dataCell = elem.childNodes[1].childNodes[colIndex].firstChild; return dataCell == null ? '' : dataCell.innerText.toLowerCase(); }; } function keyResult(colIndex) { return function(elem) { const strings = ['Error', 'Failed', 'Rerun', 'XFailed', 'XPassed', 'Skipped', 'Passed']; return strings.indexOf(elem.childNodes[1].childNodes[colIndex].firstChild.data); }; } function resetSortHeaders() { findAll('.sort-icon').forEach(function(elem) { elem.parentNode.removeChild(elem); }); findAll('.sortable').forEach(function(elem) { const icon = document.createElement('div'); icon.className = 'sort-icon'; icon.textContent = 'vvv'; elem.insertBefore(icon, elem.firstChild); elem.classList.remove('desc', 'active'); elem.classList.add('asc', 'inactive'); }); } function toggleSortStates(elem) { //if active, toggle between asc and desc if (elem.classList.contains('active')) { elem.classList.toggle('asc'); elem.classList.toggle('desc'); } //if inactive, reset all other functions and add ascending active if (elem.classList.contains('inactive')) { resetSortHeaders(); elem.classList.remove('inactive'); elem.classList.add('active'); } } function isAllRowsHidden(value) { return value.hidden == false; } function filterTable(elem) { // eslint-disable-line no-unused-vars const outcomeAtt = 'data-test-result'; const outcome = elem.getAttribute(outcomeAtt); const classOutcome = outcome + ' results-table-row'; const outcomeRows = document.getElementsByClassName(classOutcome); for(let i = 0; i < outcomeRows.length; i++){ outcomeRows[i].hidden = !elem.checked; } const rows = findAll('.results-table-row').filter(isAllRowsHidden); const allRowsHidden = rows.length == 0 ? true : false; const notFoundMessage = document.getElementById('not-found-message'); notFoundMessage.hidden = !allRowsHidden; } </script> <h1>run_installed_tests.html</h1> <p>Report generated on 27-May-2022 at 09:08:27 by <a href="https://pypi.python.org/pypi/pytest-html">pytest-html</a> v3.1.1</p> <h2>Environment</h2> <table id="environment"> <tr> <td>Packages</td> <td>{"pluggy": "1.0.0", "py": "1.11.0", "pytest": "6.2.5"}</td></tr> <tr> <td>Platform</td> <td>Linux-5.13.0-44-generic-x86_64-with-glibc2.29</td></tr> <tr> <td>Plugins</td> <td>{"anyio": "3.5.0", "asyncio": "0.17.2", "celery": "0.0.0", "cov": "3.0.0", "html": "3.1.1", "json-report": "1.4.1", "metadata": "1.11.0", "mock": "3.7.0", "postgresql": "4.1.0", "pythonpath": "0.7.3", "shard": "0.1.2"}</td></tr> <tr> <td>Python</td> <td>3.8.10</td></tr></table> <h2>Summary</h2> <p>5 tests ran in 162.57 seconds. </p> <p class="filter" hidden="true">(Un)check the boxes to filter the results.</p><input checked="true" class="filter" data-test-result="passed" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="passed">3 passed</span>, <input checked="true" class="filter" data-test-result="skipped" disabled="true" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="skipped">0 skipped</span>, <input checked="true" class="filter" data-test-result="failed" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="failed">2 failed</span>, <input checked="true" class="filter" data-test-result="error" disabled="true" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="error">0 errors</span>, <input checked="true" class="filter" data-test-result="xfailed" disabled="true" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="xfailed">0 expected failures</span>, <input checked="true" class="filter" data-test-result="xpassed" disabled="true" hidden="true" name="filter_checkbox" onChange="filterTable(this)" type="checkbox"/><span class="xpassed">0 unexpected passes</span> <h2>Results</h2> <table id="results-table"> <thead id="results-table-head"> <tr> <th class="sortable result initial-sort" col="result">Result</th> <th class="sortable" col="name">Test</th> <th class="sortable" col="duration">Duration</th> <th class="sortable links" col="links">Links</th></tr> <tr hidden="true" id="not-found-message"> <th colspan="4">No results found. Try to check the filters</th></tr></thead> <tbody class="failed results-table-row"> <tr> <td class="col-result">Failed</td> <td class="col-name">test/functional/test_toolbox_pytest.py::test_tool[testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0_test_2]</td> <td class="col-duration">38.80</td> <td class="col-links"></td></tr> <tr> <td class="extra" colspan="4"> <div class="log">testcases = ('testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0_test_2', ...d.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0 testMethod=runTest>, 1)<br/>driver = <functional.test_toolbox_pytest.DefaultGalaxyTestDriver object at 0x7f227250c280><br/><br/> @pytest.mark.parametrize("testcases", cases(), ids=idfn)<br/> def test_tool(testcases, driver):<br/> test = testcases[1]<br/>> test.do_it(test_index=testcases[2])<br/><br/>test/functional/test_toolbox_pytest.py:84: <br/>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br/>test/functional/test_toolbox.py:35: in do_it<br/> verify_tool(tool_id, self.galaxy_interactor, resource_parameters=resource_parameters, test_index=test_index, tool_version=tool_version, register_job_data=register_job_data)<br/>lib/galaxy/tool_util/verify/interactor.py:1127: in verify_tool<br/> raise e<br/>lib/galaxy/tool_util/verify/interactor.py:1123: in verify_tool<br/> job_stdio = _verify_outputs(testdef, test_history, jobs, data_list, data_collection_list, galaxy_interactor, quiet=quiet)<br/>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br/><br/>testdef = <galaxy.tool_util.verify.interactor.ToolTestDescription object at 0x7f226f4f3c40>, history = '54f2a3a23292eb07'<br/>jobs = [{'create_time': '2022-05-27T07:07:09.529613', 'exit_code': None, 'galaxy_version': '22.01', 'history_id': '54f2a3a23292eb07', ...}]<br/>data_list = {'cut_log': {'create_time': '2022-05-27T07:07:09.533075', 'data_type': 'galaxy.datatypes.data.Text', 'deleted': False,...157069a5-6727-4eb8-9d80-8a551afe1093', 'validated_state': 'unknown', 'validated_state_message': None, 'visible': True}}<br/>data_collection_list = {'output_traj': {'collection_type': 'list', 'contents_url': '/api/dataset_collections/5729865256bc2525/contents/5729865256bc2525', 'create_time': '2022-05-27T07:07:09.531693', 'deleted': False, ...}}<br/>galaxy_interactor = <galaxy.tool_util.verify.interactor.GalaxyInteractorApi object at 0x7f2214721b50>, quiet = False<br/><br/> def _verify_outputs(testdef, history, jobs, data_list, data_collection_list, galaxy_interactor, quiet=False):<br/> assert len(jobs) == 1, "Test framework logic error, somehow tool test resulted in more than one job."<br/> job = jobs[0]<br/> <br/> found_exceptions = []<br/> <br/> def register_exception(e):<br/> if not found_exceptions and not quiet:<br/> # Only print this stuff out once.<br/> for stream in ['stdout', 'stderr']:<br/> if stream in job_stdio:<br/> print(_format_stream(job_stdio[stream], stream=stream, format=True), file=sys.stderr)<br/> found_exceptions.append(e)<br/> <br/> if testdef.expect_failure:<br/> if testdef.outputs:<br/> raise Exception("Cannot specify outputs in a test expecting failure.")<br/> <br/> maxseconds = testdef.maxseconds<br/> # Wait for the job to complete and register expections if the final<br/> # status was not what test was expecting.<br/> job_failed = False<br/> try:<br/> galaxy_interactor.wait_for_job(job['id'], history, maxseconds)<br/> except Exception as e:<br/> job_failed = True<br/> if not testdef.expect_failure:<br/> found_exceptions.append(e)<br/> <br/> job_stdio = galaxy_interactor.get_job_stdio(job['id'])<br/> <br/> if testdef.num_outputs is not None:<br/> expected = testdef.num_outputs<br/> actual = len(data_list) + len(data_collection_list)<br/> if expected != actual:<br/> message = f"Incorrect number of outputs - expected {expected}, found {actual}: datasets {data_list.keys()} collections {data_collection_list.keys()}"<br/> error = AssertionError(message)<br/> register_exception(error)<br/> <br/> if not job_failed and testdef.expect_failure:<br/> error = AssertionError("Expected job to fail but Galaxy indicated the job successfully completed.")<br/> register_exception(error)<br/> <br/> expect_exit_code = testdef.expect_exit_code<br/> if expect_exit_code is not None:<br/> exit_code = job_stdio["exit_code"]<br/> if str(expect_exit_code) != str(exit_code):<br/> error = AssertionError(f"Expected job to complete with exit code {expect_exit_code}, found {exit_code}")<br/> register_exception(error)<br/> <br/> for output_index, output_dict in enumerate(testdef.outputs):<br/> # Get the correct hid<br/> name = output_dict["name"]<br/> outfile = output_dict["value"]<br/> attributes = output_dict["attributes"]<br/> output_testdef = Bunch(name=name, outfile=outfile, attributes=attributes)<br/> try:<br/> output_data = data_list[name]<br/> except (TypeError, KeyError):<br/> # Legacy - fall back on ordered data list access if data_list is<br/> # just a list (case with twill variant or if output changes its<br/> # name).<br/> if hasattr(data_list, "values"):<br/> output_data = list(data_list.values())[output_index]<br/> else:<br/> output_data = data_list[len(data_list) - len(testdef.outputs) + output_index]<br/> assert output_data is not None<br/> try:<br/> galaxy_interactor.verify_output(history, jobs, output_data, output_testdef=output_testdef, tool_id=job['tool_id'], maxseconds=maxseconds, tool_version=testdef.tool_version)<br/> except Exception as e:<br/> register_exception(e)<br/> <br/> other_checks = {<br/> "command_line": "Command produced by the job",<br/> "command_version": "Tool version indicated during job execution",<br/> "stdout": "Standard output of the job",<br/> "stderr": "Standard error of the job",<br/> }<br/> # TODO: Only hack the stdio like this for older profile, for newer tool profiles<br/> # add some syntax for asserting job messages maybe - or just drop this because exit<br/> # code and regex on stdio can be tested directly - so this is really testing Galaxy<br/> # core handling more than the tool.<br/> job_messages = job_stdio.get("job_messages") or []<br/> stdout_prefix = ""<br/> stderr_prefix = ""<br/> for job_message in job_messages:<br/> message_type = job_message.get("type")<br/> if message_type == "regex" and job_message.get("stream") == "stderr":<br/> stderr_prefix += f"{job_message.get('desc') or ''}\n"<br/> elif message_type == "regex" and job_message.get("stream") == "stdout":<br/> stdout_prefix += f"{job_message.get('desc') or ''}\n"<br/> elif message_type == "exit_code":<br/> stderr_prefix += f"{job_message.get('desc') or ''}\n"<br/> else:<br/> raise Exception(f"Unknown job message type [{message_type}] in [{job_message}]")<br/> <br/> for what, description in other_checks.items():<br/> if getattr(testdef, what, None) is not None:<br/> try:<br/> raw_data = job_stdio[what]<br/> assertions = getattr(testdef, what)<br/> if what == "stdout":<br/> data = stdout_prefix + raw_data<br/> elif what == "stderr":<br/> data = stderr_prefix + raw_data<br/> else:<br/> data = raw_data<br/> verify_assertions(data, assertions)<br/> except AssertionError as err:<br/> errmsg = f'{description} different than expected\n'<br/> errmsg += util.unicodify(err)<br/> register_exception(AssertionError(errmsg))<br/> <br/> for output_collection_def in testdef.output_collections:<br/> try:<br/> name = output_collection_def.name<br/> # TODO: data_collection_list is clearly a bad name for dictionary.<br/> if name not in data_collection_list:<br/> message = f"Failed to find output [{name}], tool outputs include [{','.join(data_collection_list.keys())}]"<br/> raise AssertionError(message)<br/> <br/> # Data collection returned from submission, elements may have been populated after<br/> # the job completed so re-hit the API for more information.<br/> data_collection_id = data_collection_list[name]["id"]<br/> galaxy_interactor.verify_output_collection(output_collection_def, data_collection_id, history, job['tool_id'])<br/> except Exception as e:<br/> register_exception(e)<br/> <br/> if found_exceptions and not testdef.expect_test_failure:<br/>> raise JobOutputsError(found_exceptions, job_stdio)<br/><span class="error">E galaxy.tool_util.verify.interactor.JobOutputsError: Output cut_log: different than expected</span><br/><span class="error">E Expected 241+-0 lines in the output found 163</span><br/><br/>lib/galaxy/tool_util/verify/interactor.py:1299: JobOutputsError<br/> ------------------------------Captured stderr call------------------------------ <br/>2022-05-27 09:06:44,120 DEBUG [multipart.multipart] Calling on_field_start with no data 2022-05-27 09:06:44,121 DEBUG [multipart.multipart] Calling on_field_name with data[0:4] 2022-05-27 09:06:44,121 DEBUG [multipart.multipart] Calling on_field_data with data[5:153] 2022-05-27 09:06:44,121 DEBUG [multipart.multipart] Calling on_field_end with no data 2022-05-27 09:06:44,121 DEBUG [multipart.multipart] Calling on_end with no data 2022-05-27 09:06:45,213 INFO [galaxy.tools] Validated and populated state for tool request (21.598 ms) 2022-05-27 09:06:45,219 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.142 ms) 2022-05-27 09:06:45,353 DEBUG [galaxy.tools.actions.upload] Checked uploads (134.155 ms) 2022-05-27 09:06:45,360 DEBUG [galaxy.tools.actions.upload] Created upload job (6.274 ms) 2022-05-27 09:06:45,381 INFO [galaxy.web_stack.handlers] (Job[id=7,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:06:46,309 INFO [galaxy.jobs.handler] (7) Job dispatched 2022-05-27 09:06:46,485 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/7/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/7/registry.xml' '/tmp/upload_params_n9cdh_8t' '8:/tmp/tmptoruqmiy/job_working_directory/000/7/working/dataset_af8d1b0c-d748-4b88-935e-429302b926ec_files:/tmp/tmptoruqmiy/files/a/f/8/dataset_af8d1b0c-d748-4b88-935e-429302b926ec.dat'] 2022-05-27 09:06:54,095 INFO [galaxy.tools] Validated and populated state for tool request (24.710 ms) 2022-05-27 09:06:54,102 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.144 ms) 2022-05-27 09:06:54,215 DEBUG [galaxy.tools.actions.upload] Checked uploads (113.287 ms) 2022-05-27 09:06:54,221 DEBUG [galaxy.tools.actions.upload] Created upload job (5.835 ms) 2022-05-27 09:06:54,242 INFO [galaxy.web_stack.handlers] (Job[id=8,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:06:54,873 INFO [galaxy.jobs.handler] (8) Job dispatched 2022-05-27 09:06:55,123 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/8/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/8/registry.xml' '/tmp/upload_params__n8zpgmo' '9:/tmp/tmptoruqmiy/job_working_directory/000/8/working/dataset_2f2d7be8-929e-4b65-a898-06a921300c73_files:/tmp/tmptoruqmiy/files/2/f/2/dataset_2f2d7be8-929e-4b65-a898-06a921300c73.dat'] 2022-05-27 09:07:01,790 INFO [galaxy.tools] Validated and populated state for tool request (23.541 ms) 2022-05-27 09:07:01,796 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.142 ms) 2022-05-27 09:07:01,908 DEBUG [galaxy.tools.actions.upload] Checked uploads (112.494 ms) 2022-05-27 09:07:01,916 DEBUG [galaxy.tools.actions.upload] Created upload job (7.217 ms) 2022-05-27 09:07:01,941 INFO [galaxy.web_stack.handlers] (Job[id=9,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:07:02,320 INFO [galaxy.jobs.handler] (9) Job dispatched 2022-05-27 09:07:02,533 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/9/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/9/registry.xml' '/tmp/upload_params_d9ksd_uu' '10:/tmp/tmptoruqmiy/job_working_directory/000/9/working/dataset_1cbe15a0-33cd-4c77-a7eb-cfce8034f2bb_files:/tmp/tmptoruqmiy/files/1/c/b/dataset_1cbe15a0-33cd-4c77-a7eb-cfce8034f2bb.dat'] 2022-05-27 09:07:09,478 INFO [galaxy.tools] Validated and populated state for tool request (23.189 ms) 2022-05-27 09:07:09,492 INFO [galaxy.tools.actions] Handled collection output named output_traj for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0 (2.367 ms) 2022-05-27 09:07:09,494 INFO [galaxy.tools.actions] Handled output named cut_log for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0 (1.967 ms) 2022-05-27 09:07:09,511 INFO [galaxy.tools.actions] Added output datasets to history (17.096 ms) 2022-05-27 09:07:09,515 INFO [galaxy.tools.actions] Setup for job Job[unflushed,tool_id=testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0] complete, ready to be enqueued (3.762 ms) 2022-05-27 09:07:09,558 INFO [galaxy.web_stack.handlers] (Job[id=10,tool_id=testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:07:09,901 INFO [galaxy.jobs.handler] (10) Job dispatched 2022-05-27 09:07:10,139 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/10/tool_script.sh] for tool command [[ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; [ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; [ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; ln -s '/tmp/tmptoruqmiy/files/a/f/8/dataset_af8d1b0c-d748-4b88-935e-429302b926ec.dat' 'PIP2.1_test.gro' && ln -s '/tmp/tmptoruqmiy/files/2/f/2/dataset_2f2d7be8-929e-4b65-a898-06a921300c73.dat' 'PIP2.1_test.xtc' && ln -s '/tmp/tmptoruqmiy/files/1/c/b/dataset_1cbe15a0-33cd-4c77-a7eb-cfce8034f2bb.dat' 'estimated_number_of_sub_trajectories.tsv' && python '/tmp/tmptoruqmiy/shed_tools/testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/c09cf8acc4de/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories.py' --verbose --gro_file 'PIP2.1_test.gro' --xtc_file 'PIP2.1_test.xtc' --log_output 'log/cut_trajectories.log' --output_directory 'out/' --nbr_sub_traj 'estimated_number_of_sub_trajectories.tsv' --group_output 0 --number_cpus "${GALAXY_SLOTS:-1}"] ---------------------- >> begin tool stdout << ----------------------- ----------------------- >> end tool stdout << ------------------------ ---------------------- >> begin tool stderr << ----------------------- ----------------------- >> end tool stderr << ------------------------ <br/> -------------------------------Captured log call-------------------------------- <br/>DEBUG multipart.multipart:multipart.py:604 Calling on_field_start with no data DEBUG multipart.multipart:multipart.py:601 Calling on_field_name with data[0:4] DEBUG multipart.multipart:multipart.py:601 Calling on_field_data with data[5:153] DEBUG multipart.multipart:multipart.py:604 Calling on_field_end with no data DEBUG multipart.multipart:multipart.py:604 Calling on_end with no data<br/></div></td></tr></tbody> <tbody class="failed results-table-row"> <tr> <td class="col-result">Failed</td> <td class="col-name">test/functional/test_toolbox_pytest.py::test_tool[testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0_test_3]</td> <td class="col-duration">40.43</td> <td class="col-links"></td></tr> <tr> <td class="extra" colspan="4"> <div class="log">testcases = ('testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0_test_3', ...d.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0 testMethod=runTest>, 2)<br/>driver = <functional.test_toolbox_pytest.DefaultGalaxyTestDriver object at 0x7f227250c280><br/><br/> @pytest.mark.parametrize("testcases", cases(), ids=idfn)<br/> def test_tool(testcases, driver):<br/> test = testcases[1]<br/>> test.do_it(test_index=testcases[2])<br/><br/>test/functional/test_toolbox_pytest.py:84: <br/>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br/>test/functional/test_toolbox.py:35: in do_it<br/> verify_tool(tool_id, self.galaxy_interactor, resource_parameters=resource_parameters, test_index=test_index, tool_version=tool_version, register_job_data=register_job_data)<br/>lib/galaxy/tool_util/verify/interactor.py:1127: in verify_tool<br/> raise e<br/>lib/galaxy/tool_util/verify/interactor.py:1123: in verify_tool<br/> job_stdio = _verify_outputs(testdef, test_history, jobs, data_list, data_collection_list, galaxy_interactor, quiet=quiet)<br/>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br/><br/>testdef = <galaxy.tool_util.verify.interactor.ToolTestDescription object at 0x7f226f22bd30>, history = '8155e4b4bf1581ff'<br/>jobs = [{'create_time': '2022-05-27T07:07:50.059003', 'exit_code': None, 'galaxy_version': '22.01', 'history_id': '8155e4b4bf1581ff', ...}]<br/>data_list = {'cut_log': {'create_time': '2022-05-27T07:07:50.063180', 'data_type': 'galaxy.datatypes.data.Text', 'deleted': False,...11db857f-5e9e-40b7-ab71-3aba6213bc8b', 'validated_state': 'unknown', 'validated_state_message': None, 'visible': True}}<br/>data_collection_list = {'output_traj': {'collection_type': 'list', 'contents_url': '/api/dataset_collections/54f2a3a23292eb07/contents/54f2a3a23292eb07', 'create_time': '2022-05-27T07:07:50.061399', 'deleted': False, ...}}<br/>galaxy_interactor = <galaxy.tool_util.verify.interactor.GalaxyInteractorApi object at 0x7f2214721b50>, quiet = False<br/><br/> def _verify_outputs(testdef, history, jobs, data_list, data_collection_list, galaxy_interactor, quiet=False):<br/> assert len(jobs) == 1, "Test framework logic error, somehow tool test resulted in more than one job."<br/> job = jobs[0]<br/> <br/> found_exceptions = []<br/> <br/> def register_exception(e):<br/> if not found_exceptions and not quiet:<br/> # Only print this stuff out once.<br/> for stream in ['stdout', 'stderr']:<br/> if stream in job_stdio:<br/> print(_format_stream(job_stdio[stream], stream=stream, format=True), file=sys.stderr)<br/> found_exceptions.append(e)<br/> <br/> if testdef.expect_failure:<br/> if testdef.outputs:<br/> raise Exception("Cannot specify outputs in a test expecting failure.")<br/> <br/> maxseconds = testdef.maxseconds<br/> # Wait for the job to complete and register expections if the final<br/> # status was not what test was expecting.<br/> job_failed = False<br/> try:<br/> galaxy_interactor.wait_for_job(job['id'], history, maxseconds)<br/> except Exception as e:<br/> job_failed = True<br/> if not testdef.expect_failure:<br/> found_exceptions.append(e)<br/> <br/> job_stdio = galaxy_interactor.get_job_stdio(job['id'])<br/> <br/> if testdef.num_outputs is not None:<br/> expected = testdef.num_outputs<br/> actual = len(data_list) + len(data_collection_list)<br/> if expected != actual:<br/> message = f"Incorrect number of outputs - expected {expected}, found {actual}: datasets {data_list.keys()} collections {data_collection_list.keys()}"<br/> error = AssertionError(message)<br/> register_exception(error)<br/> <br/> if not job_failed and testdef.expect_failure:<br/> error = AssertionError("Expected job to fail but Galaxy indicated the job successfully completed.")<br/> register_exception(error)<br/> <br/> expect_exit_code = testdef.expect_exit_code<br/> if expect_exit_code is not None:<br/> exit_code = job_stdio["exit_code"]<br/> if str(expect_exit_code) != str(exit_code):<br/> error = AssertionError(f"Expected job to complete with exit code {expect_exit_code}, found {exit_code}")<br/> register_exception(error)<br/> <br/> for output_index, output_dict in enumerate(testdef.outputs):<br/> # Get the correct hid<br/> name = output_dict["name"]<br/> outfile = output_dict["value"]<br/> attributes = output_dict["attributes"]<br/> output_testdef = Bunch(name=name, outfile=outfile, attributes=attributes)<br/> try:<br/> output_data = data_list[name]<br/> except (TypeError, KeyError):<br/> # Legacy - fall back on ordered data list access if data_list is<br/> # just a list (case with twill variant or if output changes its<br/> # name).<br/> if hasattr(data_list, "values"):<br/> output_data = list(data_list.values())[output_index]<br/> else:<br/> output_data = data_list[len(data_list) - len(testdef.outputs) + output_index]<br/> assert output_data is not None<br/> try:<br/> galaxy_interactor.verify_output(history, jobs, output_data, output_testdef=output_testdef, tool_id=job['tool_id'], maxseconds=maxseconds, tool_version=testdef.tool_version)<br/> except Exception as e:<br/> register_exception(e)<br/> <br/> other_checks = {<br/> "command_line": "Command produced by the job",<br/> "command_version": "Tool version indicated during job execution",<br/> "stdout": "Standard output of the job",<br/> "stderr": "Standard error of the job",<br/> }<br/> # TODO: Only hack the stdio like this for older profile, for newer tool profiles<br/> # add some syntax for asserting job messages maybe - or just drop this because exit<br/> # code and regex on stdio can be tested directly - so this is really testing Galaxy<br/> # core handling more than the tool.<br/> job_messages = job_stdio.get("job_messages") or []<br/> stdout_prefix = ""<br/> stderr_prefix = ""<br/> for job_message in job_messages:<br/> message_type = job_message.get("type")<br/> if message_type == "regex" and job_message.get("stream") == "stderr":<br/> stderr_prefix += f"{job_message.get('desc') or ''}\n"<br/> elif message_type == "regex" and job_message.get("stream") == "stdout":<br/> stdout_prefix += f"{job_message.get('desc') or ''}\n"<br/> elif message_type == "exit_code":<br/> stderr_prefix += f"{job_message.get('desc') or ''}\n"<br/> else:<br/> raise Exception(f"Unknown job message type [{message_type}] in [{job_message}]")<br/> <br/> for what, description in other_checks.items():<br/> if getattr(testdef, what, None) is not None:<br/> try:<br/> raw_data = job_stdio[what]<br/> assertions = getattr(testdef, what)<br/> if what == "stdout":<br/> data = stdout_prefix + raw_data<br/> elif what == "stderr":<br/> data = stderr_prefix + raw_data<br/> else:<br/> data = raw_data<br/> verify_assertions(data, assertions)<br/> except AssertionError as err:<br/> errmsg = f'{description} different than expected\n'<br/> errmsg += util.unicodify(err)<br/> register_exception(AssertionError(errmsg))<br/> <br/> for output_collection_def in testdef.output_collections:<br/> try:<br/> name = output_collection_def.name<br/> # TODO: data_collection_list is clearly a bad name for dictionary.<br/> if name not in data_collection_list:<br/> message = f"Failed to find output [{name}], tool outputs include [{','.join(data_collection_list.keys())}]"<br/> raise AssertionError(message)<br/> <br/> # Data collection returned from submission, elements may have been populated after<br/> # the job completed so re-hit the API for more information.<br/> data_collection_id = data_collection_list[name]["id"]<br/> galaxy_interactor.verify_output_collection(output_collection_def, data_collection_id, history, job['tool_id'])<br/> except Exception as e:<br/> register_exception(e)<br/> <br/> if found_exceptions and not testdef.expect_test_failure:<br/>> raise JobOutputsError(found_exceptions, job_stdio)<br/><span class="error">E galaxy.tool_util.verify.interactor.JobOutputsError: Output cut_log: different than expected</span><br/><span class="error">E Expected 239+-0 lines in the output found 161</span><br/><br/>lib/galaxy/tool_util/verify/interactor.py:1299: JobOutputsError<br/> ------------------------------Captured stderr call------------------------------ <br/>2022-05-27 09:07:23,056 DEBUG [multipart.multipart] Calling on_field_start with no data 2022-05-27 09:07:23,056 DEBUG [multipart.multipart] Calling on_field_name with data[0:4] 2022-05-27 09:07:23,056 DEBUG [multipart.multipart] Calling on_field_data with data[5:153] 2022-05-27 09:07:23,056 DEBUG [multipart.multipart] Calling on_field_end with no data 2022-05-27 09:07:23,056 DEBUG [multipart.multipart] Calling on_end with no data 2022-05-27 09:07:24,155 INFO [galaxy.tools] Validated and populated state for tool request (22.557 ms) 2022-05-27 09:07:24,161 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.147 ms) 2022-05-27 09:07:24,267 DEBUG [galaxy.tools.actions.upload] Checked uploads (105.875 ms) 2022-05-27 09:07:24,273 DEBUG [galaxy.tools.actions.upload] Created upload job (6.109 ms) 2022-05-27 09:07:24,304 INFO [galaxy.web_stack.handlers] (Job[id=11,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:07:24,687 INFO [galaxy.jobs.handler] (11) Job dispatched 2022-05-27 09:07:24,908 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/11/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/11/registry.xml' '/tmp/upload_params_149iajw4' '15:/tmp/tmptoruqmiy/job_working_directory/000/11/working/dataset_77bd9b6c-523e-47cf-9eab-81619349d30f_files:/tmp/tmptoruqmiy/files/7/7/b/dataset_77bd9b6c-523e-47cf-9eab-81619349d30f.dat'] 2022-05-27 09:07:32,387 INFO [galaxy.tools] Validated and populated state for tool request (22.918 ms) 2022-05-27 09:07:32,394 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.147 ms) 2022-05-27 09:07:32,506 DEBUG [galaxy.tools.actions.upload] Checked uploads (111.673 ms) 2022-05-27 09:07:32,512 DEBUG [galaxy.tools.actions.upload] Created upload job (6.064 ms) 2022-05-27 09:07:32,540 INFO [galaxy.web_stack.handlers] (Job[id=12,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:07:33,244 INFO [galaxy.jobs.handler] (12) Job dispatched 2022-05-27 09:07:33,510 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/12/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/12/registry.xml' '/tmp/upload_params_t99uz5pr' '16:/tmp/tmptoruqmiy/job_working_directory/000/12/working/dataset_18454cb5-4d92-467e-a6fe-92717ffffe40_files:/tmp/tmptoruqmiy/files/1/8/4/dataset_18454cb5-4d92-467e-a6fe-92717ffffe40.dat'] 2022-05-27 09:07:40,449 INFO [galaxy.tools] Validated and populated state for tool request (22.896 ms) 2022-05-27 09:07:40,456 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.352 ms) 2022-05-27 09:07:40,576 DEBUG [galaxy.tools.actions.upload] Checked uploads (119.159 ms) 2022-05-27 09:07:40,584 DEBUG [galaxy.tools.actions.upload] Created upload job (8.363 ms) 2022-05-27 09:07:40,608 INFO [galaxy.web_stack.handlers] (Job[id=13,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:07:40,935 INFO [galaxy.jobs.handler] (13) Job dispatched 2022-05-27 09:07:41,109 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/13/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/13/registry.xml' '/tmp/upload_params_e61k8ex6' '17:/tmp/tmptoruqmiy/job_working_directory/000/13/working/dataset_745f4487-3b81-44f5-9eb8-9d76e882a98a_files:/tmp/tmptoruqmiy/files/7/4/5/dataset_745f4487-3b81-44f5-9eb8-9d76e882a98a.dat'] 2022-05-27 09:07:50,014 INFO [galaxy.tools] Validated and populated state for tool request (24.877 ms) 2022-05-27 09:07:50,027 INFO [galaxy.tools.actions] Handled collection output named output_traj for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0 (0.776 ms) 2022-05-27 09:07:50,028 INFO [galaxy.tools.actions] Handled output named cut_log for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0 (0.902 ms) 2022-05-27 09:07:50,042 INFO [galaxy.tools.actions] Added output datasets to history (13.785 ms) 2022-05-27 09:07:50,045 INFO [galaxy.tools.actions] Setup for job Job[unflushed,tool_id=testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0] complete, ready to be enqueued (2.064 ms) 2022-05-27 09:07:50,082 INFO [galaxy.web_stack.handlers] (Job[id=14,tool_id=testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:07:50,482 INFO [galaxy.jobs.handler] (14) Job dispatched 2022-05-27 09:07:50,758 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/14/tool_script.sh] for tool command [[ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; [ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; [ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; ln -s '/tmp/tmptoruqmiy/files/7/7/b/dataset_77bd9b6c-523e-47cf-9eab-81619349d30f.dat' 'PIP2.1_test.gro' && ln -s '/tmp/tmptoruqmiy/files/1/8/4/dataset_18454cb5-4d92-467e-a6fe-92717ffffe40.dat' 'PIP2.1_test.xtc' && ln -s '/tmp/tmptoruqmiy/files/7/4/5/dataset_745f4487-3b81-44f5-9eb8-9d76e882a98a.dat' 'PIP2.1_test_check.txt' && python '/tmp/tmptoruqmiy/shed_tools/testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/c09cf8acc4de/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories.py' --verbose --gro_file 'PIP2.1_test.gro' --xtc_file 'PIP2.1_test.xtc' --log_output 'log/cut_trajectories.log' --output_directory 'out/' --nbr_sub_traj '3' --input_check 'PIP2.1_test_check.txt' --start_traj '0' --end_traj '10' --group_output 0 --number_cpus "${GALAXY_SLOTS:-1}"] ---------------------- >> begin tool stdout << ----------------------- ----------------------- >> end tool stdout << ------------------------ ---------------------- >> begin tool stderr << ----------------------- ----------------------- >> end tool stderr << ------------------------ <br/> -------------------------------Captured log call-------------------------------- <br/>DEBUG multipart.multipart:multipart.py:604 Calling on_field_start with no data DEBUG multipart.multipart:multipart.py:601 Calling on_field_name with data[0:4] DEBUG multipart.multipart:multipart.py:601 Calling on_field_data with data[5:153] DEBUG multipart.multipart:multipart.py:604 Calling on_field_end with no data DEBUG multipart.multipart:multipart.py:604 Calling on_end with no data<br/></div></td></tr></tbody> <tbody class="passed results-table-row"> <tr> <td class="col-result">Passed</td> <td class="col-name">test/functional/test_toolbox_pytest.py::test_tool[testtoolshed.g2.bx.psu.edu/repos/agpetit/concatenate_table/concatenate_table/1.0.0_test_1]</td> <td class="col-duration">30.08</td> <td class="col-links"></td></tr> <tr> <td class="extra" colspan="4"> <div class="log"> ------------------------------Captured stderr call------------------------------ <br/>2022-05-27 09:05:57,130 DEBUG [multipart.multipart] Calling on_field_start with no data 2022-05-27 09:05:57,130 DEBUG [multipart.multipart] Calling on_field_name with data[0:4] 2022-05-27 09:05:57,131 DEBUG [multipart.multipart] Calling on_field_data with data[5:129] 2022-05-27 09:05:57,131 DEBUG [multipart.multipart] Calling on_field_end with no data 2022-05-27 09:05:57,131 DEBUG [multipart.multipart] Calling on_end with no data 2022-05-27 09:05:57,282 INFO [galaxy.managers.configuration] Galaxy extra version JSON file /tmp/tmptoruqmiy/galaxy-dev/version.json not loaded. 2022-05-27 09:05:57,369 INFO [galaxy.tools] Validated and populated state for tool request (23.134 ms) 2022-05-27 09:05:57,383 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.163 ms) 2022-05-27 09:05:57,525 DEBUG [galaxy.tools.actions.upload] Checked uploads (141.865 ms) 2022-05-27 09:05:57,531 DEBUG [galaxy.tools.actions.upload] Created upload job (5.830 ms) 2022-05-27 09:05:57,566 INFO [galaxy.web_stack.handlers] (Job[id=1,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:05:58,195 INFO [galaxy.jobs.handler] (1) Job dispatched 2022-05-27 09:05:58,387 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/1/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/1/registry.xml' '/tmp/upload_params_7yd43mro' '1:/tmp/tmptoruqmiy/job_working_directory/000/1/working/dataset_97392d40-4be1-455b-b5a1-d46e4721e0d8_files:/tmp/tmptoruqmiy/files/9/7/3/dataset_97392d40-4be1-455b-b5a1-d46e4721e0d8.dat'] 2022-05-27 09:06:05,465 INFO [galaxy.tools] Validated and populated state for tool request (29.005 ms) 2022-05-27 09:06:05,474 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.156 ms) 2022-05-27 09:06:05,608 DEBUG [galaxy.tools.actions.upload] Checked uploads (133.631 ms) 2022-05-27 09:06:05,614 DEBUG [galaxy.tools.actions.upload] Created upload job (5.702 ms) 2022-05-27 09:06:05,635 INFO [galaxy.web_stack.handlers] (Job[id=2,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:06:06,681 INFO [galaxy.jobs.handler] (2) Job dispatched 2022-05-27 09:06:06,896 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/2/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/2/registry.xml' '/tmp/upload_params_niqt66u4' '2:/tmp/tmptoruqmiy/job_working_directory/000/2/working/dataset_cb889cdf-730a-428f-b94b-82c19b5bb4f4_files:/tmp/tmptoruqmiy/files/c/b/8/dataset_cb889cdf-730a-428f-b94b-82c19b5bb4f4.dat'] 2022-05-27 09:06:13,887 INFO [galaxy.tools] Validated and populated state for tool request (21.823 ms) 2022-05-27 09:06:13,893 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.140 ms) 2022-05-27 09:06:14,001 DEBUG [galaxy.tools.actions.upload] Checked uploads (108.369 ms) 2022-05-27 09:06:14,007 DEBUG [galaxy.tools.actions.upload] Created upload job (5.655 ms) 2022-05-27 09:06:14,035 INFO [galaxy.web_stack.handlers] (Job[id=3,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:06:14,310 INFO [galaxy.jobs.handler] (3) Job dispatched 2022-05-27 09:06:14,453 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/3/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/3/registry.xml' '/tmp/upload_params_4_iqbmvk' '3:/tmp/tmptoruqmiy/job_working_directory/000/3/working/dataset_30dd8d24-f614-4ac7-8cd6-a4e18b4f1f3e_files:/tmp/tmptoruqmiy/files/3/0/d/dataset_30dd8d24-f614-4ac7-8cd6-a4e18b4f1f3e.dat'] 2022-05-27 09:06:21,302 INFO [galaxy.tools] Validated and populated state for tool request (28.288 ms) 2022-05-27 09:06:21,362 INFO [galaxy.tools.actions] Handled output named sort_file for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/concatenate_table/concatenate_table/1.0.0 (3.760 ms) 2022-05-27 09:06:21,377 INFO [galaxy.tools.actions] Added output datasets to history (14.220 ms) 2022-05-27 09:06:21,379 INFO [galaxy.tools.actions] Setup for job Job[unflushed,tool_id=testtoolshed.g2.bx.psu.edu/repos/agpetit/concatenate_table/concatenate_table/1.0.0] complete, ready to be enqueued (1.770 ms) 2022-05-27 09:06:21,418 INFO [galaxy.web_stack.handlers] (Job[id=4,tool_id=testtoolshed.g2.bx.psu.edu/repos/agpetit/concatenate_table/concatenate_table/1.0.0]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:06:21,724 INFO [galaxy.jobs.handler] (4) Job dispatched 2022-05-27 09:06:22,041 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/4/tool_script.sh] for tool command [cat /tmp/tmptoruqmiy/files/9/7/3/dataset_97392d40-4be1-455b-b5a1-d46e4721e0d8.dat | awk -F'\t' 'BEGIN{mean="Time (ps)"; std=""} /^Time/ {for (i=2; i<(NF+1); i++) gsub(" ", ",mean ",$i) ; for (i=2; i<(NF+1); i++) mean=mean "\t" $i ; for (i=2; i<(NF+1); i++) gsub(",mean", ",std ",$i); for (i=2; i<(NF+1); i++) std=std "\t" $i } END{print (mean std)}' &>> '/tmp/tmptoruqmiy/files/e/e/c/dataset_eec2e4de-bddf-4d25-b9b2-aa655cfec902.dat' ; cat /tmp/tmptoruqmiy/files/9/7/3/dataset_97392d40-4be1-455b-b5a1-d46e4721e0d8.dat | awk -F'\t' -v min=200.0 'BEGIN{min_val=min ; max_val=0 ; means=""; std=""} /^[0-9]/ {if ($1 <= min_val) {min_val=$1} ; if ($1 >= max_val) {max_val=$1}} ; /Mean/ {for (i=2; i<NF; i++) means=means"\t"$i ;means=means"\t"$NF } ; /Std/ {for (i=2; i<NF; i++) std=std"\t"$i; ;std=std"\t"$NF} END {print (min_val "-" max_val means std)}' &>> 'test.tabular' ; cat /tmp/tmptoruqmiy/files/c/b/8/dataset_cb889cdf-730a-428f-b94b-82c19b5bb4f4.dat | awk -F'\t' -v min=500.0 'BEGIN{min_val=min ; max_val=0 ; means=""; std=""} /^[0-9]/ {if ($1 <= min_val) {min_val=$1} ; if ($1 >= max_val) {max_val=$1}} ; /Mean/ {for (i=2; i<NF; i++) means=means"\t"$i ;means=means"\t"$NF } ; /Std/ {for (i=2; i<NF; i++) std=std"\t"$i; ;std=std"\t"$NF} END {print (min_val "-" max_val means std)}' &>> 'test.tabular' ; cat /tmp/tmptoruqmiy/files/3/0/d/dataset_30dd8d24-f614-4ac7-8cd6-a4e18b4f1f3e.dat | awk -F'\t' -v min=1000.0 'BEGIN{min_val=min ; max_val=0 ; means=""; std=""} /^[0-9]/ {if ($1 <= min_val) {min_val=$1} ; if ($1 >= max_val) {max_val=$1}} ; /Mean/ {for (i=2; i<NF; i++) means=means"\t"$i ;means=means"\t"$NF } ; /Std/ {for (i=2; i<NF; i++) std=std"\t"$i; ;std=std"\t"$NF} END {print (min_val "-" max_val means std)}' &>> 'test.tabular' ; cat 'test.tabular' | sort -k1 -n &>> '/tmp/tmptoruqmiy/files/e/e/c/dataset_eec2e4de-bddf-4d25-b9b2-aa655cfec902.dat'] <br/> -------------------------------Captured log call-------------------------------- <br/>DEBUG multipart.multipart:multipart.py:604 Calling on_field_start with no data DEBUG multipart.multipart:multipart.py:601 Calling on_field_name with data[0:4] DEBUG multipart.multipart:multipart.py:601 Calling on_field_data with data[5:129] DEBUG multipart.multipart:multipart.py:604 Calling on_field_end with no data DEBUG multipart.multipart:multipart.py:604 Calling on_end with no data<br/></div></td></tr></tbody> <tbody class="passed results-table-row"> <tr> <td class="col-result">Passed</td> <td class="col-name">test/functional/test_toolbox_pytest.py::test_tool[testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0_test_1]</td> <td class="col-duration">16.85</td> <td class="col-links"></td></tr> <tr> <td class="extra" colspan="4"> <div class="log"> ------------------------------Captured stderr call------------------------------ <br/>2022-05-27 09:06:27,235 DEBUG [multipart.multipart] Calling on_field_start with no data 2022-05-27 09:06:27,236 DEBUG [multipart.multipart] Calling on_field_name with data[0:4] 2022-05-27 09:06:27,236 DEBUG [multipart.multipart] Calling on_field_data with data[5:153] 2022-05-27 09:06:27,237 DEBUG [multipart.multipart] Calling on_field_end with no data 2022-05-27 09:06:27,237 DEBUG [multipart.multipart] Calling on_end with no data 2022-05-27 09:06:27,445 INFO [galaxy.tools] Validated and populated state for tool request (22.082 ms) 2022-05-27 09:06:27,453 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.154 ms) 2022-05-27 09:06:27,567 DEBUG [galaxy.tools.actions.upload] Checked uploads (113.879 ms) 2022-05-27 09:06:27,572 DEBUG [galaxy.tools.actions.upload] Created upload job (5.676 ms) 2022-05-27 09:06:27,592 INFO [galaxy.web_stack.handlers] (Job[id=5,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:06:28,223 INFO [galaxy.jobs.handler] (5) Job dispatched 2022-05-27 09:06:28,370 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/5/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/5/registry.xml' '/tmp/upload_params_3z8ry2g5' '5:/tmp/tmptoruqmiy/job_working_directory/000/5/working/dataset_fedb0d1a-a7bd-401b-86ba-117e6751df12_files:/tmp/tmptoruqmiy/files/f/e/d/dataset_fedb0d1a-a7bd-401b-86ba-117e6751df12.dat'] 2022-05-27 09:06:37,473 INFO [galaxy.tools] Validated and populated state for tool request (22.142 ms) 2022-05-27 09:06:37,488 INFO [galaxy.tools.actions] Handled output named sub_trajectories_out_file for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0 (2.549 ms) 2022-05-27 09:06:37,490 INFO [galaxy.tools.actions] Handled output named estimate_log for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0 (1.954 ms) 2022-05-27 09:06:37,505 INFO [galaxy.tools.actions] Added output datasets to history (15.426 ms) 2022-05-27 09:06:37,508 INFO [galaxy.tools.actions] Setup for job Job[unflushed,tool_id=testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0] complete, ready to be enqueued (2.166 ms) 2022-05-27 09:06:37,543 INFO [galaxy.web_stack.handlers] (Job[id=6,tool_id=testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories/0.1.0]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:06:37,847 INFO [galaxy.jobs.handler] (6) Job dispatched 2022-05-27 09:06:37,982 WARNI [galaxy.security.object_wrapper] Unable to create dynamic subclass SafeStringWrapper(galaxy.model.none_like.None:<class 'NoneType'>,<class 'NotImplementedType'>,<class 'bool'>,<class 'bytearray'>,<class 'ellipsis'>,<class 'galaxy.security.object_wrapper.SafeStringWrapper'>,<class 'galaxy.tools.wrappers.ToolParameterValueWrapper'>,<class 'numbers.Number'>) for <class 'galaxy.model.none_like.NoneDataset'>, None: type() doesn't support MRO entry resolution; use types.new_class() 2022-05-27 09:06:38,056 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/6/tool_script.sh] for tool command [[ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; [ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; [ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-0569c04ab612909a373223b7f7da6469041d31d933b93b55db5a38a76d747ad1' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; ln -s '/tmp/tmptoruqmiy/files/f/e/d/dataset_fedb0d1a-a7bd-401b-86ba-117e6751df12.dat' 'PIP2.1_test_check.txt' && ln -s '/tmp/tmptoruqmiy/files/5/8/a/dataset_58ab194a-5436-4b35-aea0-6b66530a0562.dat' 'estimated_number_of_sub_trajectories.tsv' && python '/tmp/tmptoruqmiy/shed_tools/testtoolshed.g2.bx.psu.edu/repos/agpetit/estimate_cut_sub_trajectories/c09cf8acc4de/estimate_cut_sub_trajectories/estimate_cut_sub_trajectories.py' --input_check 'PIP2.1_test_check.txt' --verbose --output_file 'estimated_number_of_sub_trajectories.tsv' --log_output 'log/estimated_number_of_sub_trajectories.log' --nb_frames '3' --start_traj '' --end_traj ''] <br/> -------------------------------Captured log call-------------------------------- <br/>DEBUG multipart.multipart:multipart.py:604 Calling on_field_start with no data DEBUG multipart.multipart:multipart.py:601 Calling on_field_name with data[0:4] DEBUG multipart.multipart:multipart.py:601 Calling on_field_data with data[5:153] DEBUG multipart.multipart:multipart.py:604 Calling on_field_end with no data DEBUG multipart.multipart:multipart.py:604 Calling on_end with no data<br/></div></td></tr></tbody> <tbody class="passed results-table-row"> <tr> <td class="col-result">Passed</td> <td class="col-name">test/functional/test_toolbox_pytest.py::test_tool[testtoolshed.g2.bx.psu.edu/repos/agpetit/visualize_pore_diameter_aqp/visualize_pore_diameter_aqp/0.1.0_test_1]</td> <td class="col-duration">23.96</td> <td class="col-links"></td></tr> <tr> <td class="extra" colspan="4"> <div class="log"> ------------------------------Captured stderr call------------------------------ <br/>2022-05-27 09:08:03,555 DEBUG [multipart.multipart] Calling on_field_start with no data 2022-05-27 09:08:03,556 DEBUG [multipart.multipart] Calling on_field_name with data[0:4] 2022-05-27 09:08:03,556 DEBUG [multipart.multipart] Calling on_field_data with data[5:149] 2022-05-27 09:08:03,557 DEBUG [multipart.multipart] Calling on_field_end with no data 2022-05-27 09:08:03,557 DEBUG [multipart.multipart] Calling on_end with no data 2022-05-27 09:08:03,766 INFO [galaxy.tools] Validated and populated state for tool request (22.328 ms) 2022-05-27 09:08:03,772 DEBUG [galaxy.tools.actions.upload] Persisted uploads (0.146 ms) 2022-05-27 09:08:03,874 DEBUG [galaxy.tools.actions.upload] Checked uploads (101.847 ms) 2022-05-27 09:08:03,880 DEBUG [galaxy.tools.actions.upload] Created upload job (5.943 ms) 2022-05-27 09:08:03,908 INFO [galaxy.web_stack.handlers] (Job[id=15,tool_id=upload1]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:08:04,251 INFO [galaxy.jobs.handler] (15) Job dispatched 2022-05-27 09:08:04,484 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/15/tool_script.sh] for tool command [python '/tmp/tmptoruqmiy/galaxy-dev/tools/data_source/upload.py' '/tmp/tmptoruqmiy/galaxy-dev' '/tmp/tmptoruqmiy/job_working_directory/000/15/registry.xml' '/tmp/upload_params_fom2zjay' '22:/tmp/tmptoruqmiy/job_working_directory/000/15/working/dataset_14d25761-af75-46cc-b88e-fff28f41b237_files:/tmp/tmptoruqmiy/files/1/4/d/dataset_14d25761-af75-46cc-b88e-fff28f41b237.dat'] 2022-05-27 09:08:11,110 INFO [galaxy.tools] Validated and populated state for tool request (11.546 ms) 2022-05-27 09:08:11,124 INFO [galaxy.tools.actions] Handled output named out_file for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/visualize_pore_diameter_aqp/visualize_pore_diameter_aqp/0.1.0 (2.658 ms) 2022-05-27 09:08:11,126 INFO [galaxy.tools.actions] Handled output named out_file2 for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/visualize_pore_diameter_aqp/visualize_pore_diameter_aqp/0.1.0 (1.971 ms) 2022-05-27 09:08:11,128 INFO [galaxy.tools.actions] Handled output named out_file3 for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/visualize_pore_diameter_aqp/visualize_pore_diameter_aqp/0.1.0 (1.959 ms) 2022-05-27 09:08:11,131 INFO [galaxy.tools.actions] Handled output named out_file4 for tool testtoolshed.g2.bx.psu.edu/repos/agpetit/visualize_pore_diameter_aqp/visualize_pore_diameter_aqp/0.1.0 (2.792 ms) 2022-05-27 09:08:11,148 INFO [galaxy.tools.actions] Added output datasets to history (16.256 ms) 2022-05-27 09:08:11,150 INFO [galaxy.tools.actions] Setup for job Job[unflushed,tool_id=testtoolshed.g2.bx.psu.edu/repos/agpetit/visualize_pore_diameter_aqp/visualize_pore_diameter_aqp/0.1.0] complete, ready to be enqueued (2.459 ms) 2022-05-27 09:08:11,183 INFO [galaxy.web_stack.handlers] (Job[id=16,tool_id=testtoolshed.g2.bx.psu.edu/repos/agpetit/visualize_pore_diameter_aqp/visualize_pore_diameter_aqp/0.1.0]) Handler '_default_' assigned using 'HANDLER_ASSIGNMENT_METHODS.DB_SKIP_LOCKED' assignment method 2022-05-27 09:08:11,681 INFO [galaxy.jobs.handler] (16) Job dispatched 2022-05-27 09:08:11,940 INFO [galaxy.jobs.command_factory] Built script [/tmp/tmptoruqmiy/job_working_directory/000/16/tool_script.sh] for tool command [[ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-5a4fbc211f26cb04dc98136056f4848655807f4df79e1bb9f5b172569688ee2f')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-5a4fbc211f26cb04dc98136056f4848655807f4df79e1bb9f5b172569688ee2f' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; [ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-5a4fbc211f26cb04dc98136056f4848655807f4df79e1bb9f5b172569688ee2f')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-5a4fbc211f26cb04dc98136056f4848655807f4df79e1bb9f5b172569688ee2f' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; [ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-5a4fbc211f26cb04dc98136056f4848655807f4df79e1bb9f5b172569688ee2f')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-5a4fbc211f26cb04dc98136056f4848655807f4df79e1bb9f5b172569688ee2f' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; [ "$(basename "$CONDA_DEFAULT_ENV")" = "$(basename '/home/aepetit/miniconda3/envs/mulled-v1-5a4fbc211f26cb04dc98136056f4848655807f4df79e1bb9f5b172569688ee2f')" ] || { MAX_TRIES=3 COUNT=0 while [ $COUNT -lt $MAX_TRIES ]; do . '/home/aepetit/miniconda3/bin/activate' '/home/aepetit/miniconda3/envs/mulled-v1-5a4fbc211f26cb04dc98136056f4848655807f4df79e1bb9f5b172569688ee2f' > conda_activate.log 2>&1 if [ $? -eq 0 ];then break else let COUNT=COUNT+1 if [ $COUNT -eq $MAX_TRIES ];then echo "Failed to activate conda environment! Error was:" cat conda_activate.log exit 1 fi sleep 10s fi done } ; ln -s '/tmp/tmptoruqmiy/files/1/4/d/dataset_14d25761-af75-46cc-b88e-fff28f41b237.dat' 'table_sort_pore_diameter_aqp.tabular' && Rscript '/tmp/tmptoruqmiy/shed_tools/testtoolshed.g2.bx.psu.edu/repos/agpetit/visualize_pore_diameter_aqp/3cdcc6eeb3ec/visualize_pore_diameter_aqp/visualize_pore_diameter_aqp.R' -i 'table_sort_pore_diameter_aqp.tabular' -a TRUE -p TRUE -d TRUE -f TRUE] 2022-05-27 09:08:24,745 INFO [galaxy.tool_util.verify] ## files diff on '/tmp/tmpher3091iall_graphics_distribution.pdf' and '/tmp/tmpc_uqkw8kall_graphics_distribution.pdf': lines_diff = 0, found diff = 4, found pdf invalid diff = 0 <br/> -------------------------------Captured log call-------------------------------- <br/>DEBUG multipart.multipart:multipart.py:604 Calling on_field_start with no data DEBUG multipart.multipart:multipart.py:601 Calling on_field_name with data[0:4] DEBUG multipart.multipart:multipart.py:601 Calling on_field_data with data[5:149] DEBUG multipart.multipart:multipart.py:604 Calling on_field_end with no data DEBUG multipart.multipart:multipart.py:604 Calling on_end with no data<br/> ----------------------------Captured stderr teardown---------------------------- <br/>2022-05-27 09:08:24,841 INFO [test_driver] 21 threads were active before stopping embedded server 2022-05-27 09:08:24,841 INFO [test_driver] Shutting down embedded galaxy uvicorn server 2022-05-27 09:08:24,841 INFO [test_driver] Embedded web server galaxy stopped 2022-05-27 09:08:24,841 INFO [test_driver] Stopping embedded server thread INFO: Shutting down 2022-05-27 09:08:24,911 INFO [uvicorn.error] Shutting down INFO: Waiting for application shutdown. 2022-05-27 09:08:25,013 INFO [uvicorn.error] Waiting for application shutdown. INFO: Application shutdown complete. 2022-05-27 09:08:25,013 INFO [uvicorn.error] Application shutdown complete. INFO: Finished server process [23683] 2022-05-27 09:08:25,014 INFO [uvicorn.error] Finished server process [23683] 2022-05-27 09:08:25,015 INFO [test_driver] Event loop for uvicorn closed 2022-05-27 09:08:25,016 INFO [test_driver] Embedded server thread stopped 2022-05-27 09:08:25,016 INFO [test_driver] Stopping application galaxy 2022-05-27 09:08:26,298 INFO [galaxy.queue_worker] Sending reconfigure_watcher control task. 2022-05-27 09:08:26,325 INFO [galaxy.jobs.handler] sending stop signal to worker thread 2022-05-27 09:08:27,337 INFO [galaxy.jobs.handler] job handler queue stopped 2022-05-27 09:08:27,338 INFO [galaxy.jobs.runners] LocalRunner: Sending stop signal to 4 job worker threads 2022-05-27 09:08:27,338 INFO [galaxy.jobs.runners] Waiting up to 5 seconds for job worker threads to shutdown... 2022-05-27 09:08:27,339 INFO [galaxy.jobs.runners] All job worker threads shutdown cleanly 2022-05-27 09:08:27,340 INFO [galaxy.jobs.runners] TaskRunner: Sending stop signal to 2 job worker threads 2022-05-27 09:08:27,340 INFO [galaxy.jobs.runners] Waiting up to 5 seconds for job worker threads to shutdown... 2022-05-27 09:08:27,468 INFO [galaxy.jobs.runners] All job worker threads shutdown cleanly 2022-05-27 09:08:27,469 INFO [galaxy.jobs.handler] sending stop signal to worker thread 2022-05-27 09:08:27,469 INFO [galaxy.jobs.handler] job handler stop queue stopped 2022-05-27 09:08:27,470 INFO [test_driver] Application galaxy stopped. 2022-05-27 09:08:27,471 INFO [test_driver] 2 active after stopping embedded server <br/> -----------------------------Captured log teardown------------------------------ <br/>INFO test_driver:driver_util.py:747 21 threads were active before stopping embedded server INFO test_driver:driver_util.py:755 Shutting down embedded galaxy uvicorn server INFO test_driver:driver_util.py:757 Embedded web server galaxy stopped INFO test_driver:driver_util.py:760 Stopping embedded server thread INFO uvicorn.error:server.py:252 Shutting down INFO uvicorn.error:on.py:64 Waiting for application shutdown. INFO uvicorn.error:on.py:75 Application shutdown complete. INFO uvicorn.error:server.py:85 Finished server process [23683] INFO test_driver:driver_util.py:587 Event loop for uvicorn closed INFO test_driver:driver_util.py:762 Embedded server thread stopped INFO test_driver:driver_util.py:765 Stopping application galaxy INFO test_driver:driver_util.py:767 Application galaxy stopped. INFO test_driver:driver_util.py:769 2 active after stopping embedded server<br/></div></td></tr></tbody></table></body></html>