wiki:TestManagerForTracPlugin

Version 87 (modified by Roberto Longobardi, 12 years ago) (diff)

--

Test Manager plugin for Trac

Jump to the list of the latest changes.

Follow this Quick setup guide to get you going quickly.

Note: TestManager release 1.4.8 introduces a new more robust upgrade mechanism.

Unfortunately upgrade to 1.4.8 or up is supported only from release 1.4.7 or later.. If you have an older version than 1.4.7, first upgrade to 1.4.7 and then you can upgrade to the latest version.

Note: TestManager release 1.4.3 requires XmlRpcPlugin to run. I've removed this hard dependency with 1.4.4. Anyway, if you have XmlRpcPlugin you can use the Test Manager remote API.

Description

A Trac plugin to create Test Cases, organize them in Catalogs, generate Test Plans and track their execution status and outcome.

Differently from other test management plugins for Trac that use Tickets as test case holders, this one uses Wiki pages and an additional proprietary data model to store Test Cases. This allows you to not pollute your ticket lists with something that is not a ticket, and at the same time is powered by the Trac search engine and formatting syntax for Wiki pages.

A set of plugins intercept requests for Wiki pages that are test cases and decorate the page with title, breadcrumbs, tree view, type-ahead search inside the catalogs, test case status semaphore and icons and buttons that allow you to create new test cases, sub-catalogs, copy and paste test cases around different catalogs and change a test case status.

Multiple Test Plans can be associated to any Test Catalog, in order to keep track of the execution of the corresponding Test Cases in a particular testing context.

A Programmatic API is available to interact with the test management environment with three types of interfaces:

The plugin has been made modular:

  • A generic, customizable Workflow Engine is provided as a separate plugin in the package, which allows you to associate custom workflows to any Resource in Trac, including Wiki pages and any custom object handled through a Resource Manager. This can be done very easily by adding as little as a few lines of code to the component which manages the User interface.
  • All the data manipulation layer has been extracted into a Generic Persistent Class framework plugin, which can be easily used by any other plugin developer to provide persistence, security, change history, custom properties, pattern matching search, and other features to their basic data model with a handful lines of code.

All of the test objects, i.e. catalogs, test cases, test plans and test cases in a plan (i.e. with a status and a status change history), support:

  • Custom properties, which can be declared in the trac.ini file and will be available to the User for change, stored in the database and available to change listeners.
  • Change history
  • Listener interface to be notified of object creation, modification and deletion
  • Customizable Workflow state machine, declared in the trac.ini file, with the same syntax as for Ticket workflows (I may have reused some existing code here :-)
  • Customizable Workflow Operations, via a plugin api so that any component can provide its custom operations to be performed upon any workflow action, as defined in the trac.ini file.
  • Workflow also supports a listener API for components interested in state transitions and actions performed
  • Workflow states also support custom properties, so to be able to convey additional context information on a workflow state and use it in listeners or directly from the database.

The developed workflow engine is able to work on any Trac Resource, it is not confined to this plugin ones. You can then define a workflow on any Trac resource, including Wiki pages, declaratively in the trac.ini file. You will then add a handful of custom code (for example in an ITemplateStreamFilter) to add the markup that the workflow engine generates for you to your desired Trac web page. See this page for further details.

The programmatic and the RESTful API are documented in details in this page TestManagerForTracPluginApi.

Here follows an overview of the plugin functionalities. For a brief tutorial, refer to the powerpoint presentations attached below. Note, anyway that the tutorial was developed for release 1.0.0 and so does not cover Test Plans, Workflows and Custom properties.



Test Catalogs

Test catalogs contain sub-catalogs or Test Cases. A Javascript tree view displays a catalog node and its sub-tree, including all of the test cases contained.

Next to each catalog (or sub-catalog) a number in brackets shows the number of test cases it contains.

Notice at the top of the page breadcrumbs to easily navigate up in the catalogs tree.

You can choose between a tree-like and a tabular representation of the catalog and all of its contained sub-catalogs and test cases, as shown in The former is useful to actually work on the Test Catalog, adding sub-catalogs and new test cases, or modifying them. The latter, which also reports a printout of all the Test Case descriptions, may be useful for a Test Engineer to save or print as a handout to actually run the test cases in the catalog.

You can add sub-catalogs or Test Cases simply by entering a name (blanks and case are supported) and click the appropriate button. A new wiki page is generated, with a naming convention allowing the plugin code to position it correctly in the catalogs tree, and opened for browsing.

If you wish to edit the title or add some textual contents to the (sub-)catalog, click on "Edit Page" at the bottom of the screen.

Be careful that the first line (the one surrounded by '==') will always be taken as the title of the catalog (the same stands for test cases, read below), so do not remove this line. You can edit this line to change the test catalog title, anyway.

Just save the page ("Submit Changes") to save your textual changes to the (sub-)catalog.

To delete a Test Catalog you must delete the corresponding Wiki page. Notice that this operation does not delete all of the Test Cases contained in the Catalog. You must either delete each Test Case individually, or first move them into a different catalog first.

If you mistakenly deleted a Test Catalog, you can save the day by recreating a Wiki page with the exact name. To do so, enter the desired name directly in the browser's URL, after the /wiki/ part. Trac will show you an empty page for the catalog, but already populated with all of your existing test cases and sub-catalogs. Click on "Create this page", give it a title (surrounded by '==') and submit your changes. The new (old) catalog is in place.




Tree View of the Test Catalog


Tabular view of the Test Catalog

Importing Test Cases from a CSV file into a Test Catalog

If you already have Test Cases defined elsewhere you can import them into the Test Manager. While browsing a Test Catalog, click on "Import Test Cases" at the bottom of the page. The dialog box shown in the following figure will pop-up. Browse for the CSV (comma-separated values) file containing your Test Cases, specify the value separator (default is the comma character) and click "Import".

The CSV file must have the following format.

The first row will have column names. Use lowercase identifiers, with no blanks, for them.

The data must start from the second row. There must be at least the following required columns:

  • title
  • description

Any subsequent columns are optional, and will generate custom test case fields. To fully appreciate custom fields, switch to the Test Catalog Tabular view.

A sample CSV file may be the following:

title,description,platform,greetings
First Test Case,This is the long description for the first test case,linux,bye bye
Second Test Case,This is the long description for the second test case,windows,ciao
Third Test Case,This is the long description for the third test case,macosx,hasta la vista



Import Test Cases dialog box
Import Test Cases dialog

Test Cases

Test Cases are the smallest units of test execution.

They are implemented again as wiki pages, with a naming convention that allows the plugin code to recognize them and treat them appropriately.

To add Test Cases into a Test Catalog, open the catalog, go to the bottom of the page and enter a name for the new Test Case to be created into the appropriate text box (blanks and case are supported). Then click the button "Add a Test Case". A new wiki page is generated, with a naming convention allowing the plugin code to position it correctly in the catalogs tree, and opened for editing. Be careful that the first line (the one surrounded by '==') will always be taken as the title of the Test Case, so do not remove this line. You can edit this line to change the test case title, anyway.

You can then add the Test §Case description just below the first line (i.e. title), using WikiFormatting, adding attachments and everything else is supported for Wiki pages.

When you are done, save the page ("Submit Changes") to save your new Test Case.

To delete a Test Case you must delete the corresponding Wiki page.

Again, notice the breadcrumbs at the top, useful to go back to the enclosing catalog or any catalog up the hierarchy.





Moving or Copying Test Cases from one catalog to another

It is also possible to move a single Test Case, or copy multiple Test Cases into a different catalog, with an experience similar to cut&paste.

Moving a single Test Case

To move a single Test Case from one catalog into a nother, you:

  1. Open the Test Case
  2. Click on the "Move the Test Case into another catalog" button. This is similar to a "cut" operation.
  3. Navigate and open the destination catalog
  4. Click on "Move the copied Test Case here" button (which only appears if a Test Case has been cut first).

It is also possible to cancel the operation at any time by clicking the "Cancel" button in a Gmail-type of yellow message at the top of the page.




Moving a single Test Case

Copying multiple Test Cases

To copy one or more Test Cases, even from different catalogs, and paste them all together into a destination (sub-)catalog, you:

  1. Open the Catalog. Expand the tree nodes as you like.
  2. Click on the "Select Multiple Test Cases" button. A checkbox appears next to every Test Case in the catalog and the sub-catalogs. See the next figure.
  3. Select the Test Cases you wish to copy into another catalog.
  4. Click on the "Copy the Selected Test Cases" button. This is similar to the usual "Copy" operation.
  5. Navigate and open the destination catalog, or create a new one.
  6. Click on "Paste the copied Test Cases here" button (which only appears if Test Cases have been copied first).

Note that the test execution statuses (i.e. successful, failed, etc...) associated to the original Test Cases in any Test Plan are not copied along with them.



Selecting multiple test cases to be copied
Copying multiple Test Cases

Test Plans

Since: 1.1.0

A Test Plan represents a plan for a particular execution of all the Test Cases in a Test Catalog (or sub-catalog).

Think for example at the build verification test following a nightly build, or, for traditional projects, Technical Test and eventually Client Test.

Thus a Test Plan is associated to one Test Catalog, or sub-catalog. You can have any number of Test Plans for one Test Catalog, anyway. The list of Test Plans you generated for a Test Catalog is displayd in a table at the bottom of the same catalog, as shown in the following figure.





To create a Test Plan for a catalog, open the desired Test Catalog (or sub-catalog), enter the name of the new Test Plan in the appropriate test box and click "Generate a new Test Plan".

The new Test Plan will be opened for display, showing all of the Test Cases in the catalog, in the "Untested" status.

As with Test Catalogs, you can choose between tree-like and a tabular representation of the Test Plan, as shown in the figures below. The former is useful to actually work on the Test Plan and to view test cases before actually going and executing them. The latter, which indicates for each Test Case the latest status modification and its author, may be useful to keep as the documentation of a just run test plan.




Tree View of the Test Plan


Tabular view of the Test Plan

You have two ways to set the execution status of a Test Case in a particular Test Plan:

  1. Directly from the test plan tree view, by clicking on the stop-light icon and choosing the new color from the menu that opens (see next figure). (Since 1.4.7)
  2. By opening the test case first, clicking on its name in the Test Plan tree, and then clicking on the corresponding stop-light at the bottom of the page, as shown in the following figure.

You don't need to save anything, the changes are immediately recorded in the database and reflected in the Test Plan.



Setting a test case outcome form the test plan tree



Setting a test case outcome from the test case

Exporting Test Catalogs or Test Plans into CSV file

Since: 1.4.9

You can export to CSV format a Test Catalog or a Test Plan.
In the Test Catalog and Test Plan pages you will find an "Export ..." button.
The export format is designed for you to elaborate your external statistics, but also to eventually import the stuff back into another Test Manager plugin evironment, as soon as a compatible import feature will be implemented :D (the current import feature is simpler than that).
In the export dialog dhown in the next figure, you can specify whether the output should contain the complete text of the Test Cases, and whether this should be pre-formatted (WYSIWYG) or in raw WikiFormatting syntax.

In addition to that, you can specify which column separator to use in the exported CSV file.



Export test cases

Custom Test Case Outcomes (i.e. states, verdicts)

Since: 1.4.1

You can customize the Test Case outcomes (i.e. states, verdicts) to match your internal quality process.

The default outcomes are configured in trac.ini at plugin installation (or upgrade) time as follows:

[test-outcomes]
green.successful = Successful
red.failed = Failed
yellow.to_be_tested = Untested
default = to_be_tested

You can customize the outcomes at any moment by adding new outcomes, or modify the descriptions of the current ones. Do not delete previous outcomes if you have already assigned them to any of your test cases.

For example, to add a new outcome named "It's a Mess!!!" to the failures, add a line like the following, in trac.ini:

red.bigmess = It's a Mess!!!

You will now be able to choose it when assigning a test case status using the semaphore, which now shows a more complete menu to choose from. See the following figure.



Custom test case outcomes

Linking a Ticket to a Test Case

When viewing a Test Case, you can open a new Ticket by means of the "Open Ticket on this Test Case" button.

The new ticket will contain a link back to the corresponding Test Case and, if you were viewing it in the context of a particular Test Plan, of the Test Plan as well. Additionally, a programmatic Python API is provided to retrieve all of the Tickets opened against a Test Case, in all or in a specific Test Plan.

This plugin also supports the TracTicketTemplatePlugin to fill a ticket template with this information. In this case, you can use the following parameters in the template to receive the information:

  • testCaseNumber: The wiki page for the corresponding Test Case
  • planId: The ID of the Test Plan
  • planName: The name of the Test Plan

For example, to get the test case number, you template will have something like:

  bleah bleah
  Test Case: %(testCaseNumber)s
  bleah bleah

Showing Tickets related to a Test Case

While browsing a Test Case, either inside or outside of a Test Plan, you can show all of its related Tickets - i.e. Tickets that were opened using the above "Open a Ticket on this Test Case" button.

To do this, just browse the Test Case and click on the "Show Related Tickets" button.

If you are browsing a Test Case "definition", i.e. from a Test Catalog, you will be shown all of the Tickets opened against the Test Case in any Test Plan.

If you are instead browsing a Test Case in a specific Test Plan, you will be shown all of the Tickets opened against the Test Case in that specific Test Plan.

See the following figure for what happens when you click on the "Show Related Tickets" button from the Test Case shown at the previous section.



Showing tickets related to a test case

Custom fields

Since: 1.2.0

Custom fields can be added to the four test objects and to the workflow state object, by declaring them in the trac.ini file.

The syntax is the same used for custom Ticket properties, only the name of the ini file sections are specific: you must use the test artifact type name followed by "-tm_custom".

The test artifacts type names are the following:

  • testcatalog
  • testcase
  • testplan
  • testcaseinplan

For example, the following sections in the trac.ini file define one custom property for each of the above artifacts.

    [testcatalog-tm_custom]
    prop1 = text
    prop1.value = Default value

    [testcaseinplan-tm_custom]
    prop_strange = text
    prop_strange.value = windows

    [testcase-tm_custom]
    nice_prop = text
    nice_prop.value = My friend

    [testplan-tm_custom]
    good_prop = text
    good_prop.value = linux

Note: Only text property types are currently supported.

Once defined in the trac.ini file as above, custom fields will be available to the User for browse and for editing in the Web page, as shown next.

Note: Editing custom properties requires the TEST_MODIFY permission.

The following screenshot shows a custom "platform" field added to the Test Case artifact, and how it is presented to the User for editing.

The value is initially displayed read-only, as a label. Clicking on the pencil icon turns the label into an edit box, allowing the User to edit the value and also displays a "Save" button. Clicking the button immediately saves the new value into the database.






Customizable Workflow

Since: 1.2.0

The following figure shows a sample workflow added to Test Cases with custom sample operations. No built-in operation is currently implemented but the sample one shown here, named 'sample_operation', which logs a debug message with the text input by the User.

Every object which has a workflow defined is created in a "new" state, so every transition should consider this as the first state in the state machine.

This is a sample content of the trac.ini file to associate a workflow to the Test Case object.

[testcase-resource_workflow]
sleep = new -> asleep
sleep.permissions = TEST_MODIFY

sing = new -> singing
sing.permissions = TEST_MODIFY
sing.operations = sample_operation

calmdown = singing -> calm
calmdown.permissions = TEST_MODIFY

kill = asleep,calm -> dead
kill.permissions = TEST_MODIFY


Refer to the Workflow Engine description page for more details.






Searching and filtering Test Cases in the tree view

A type-ahead, browser-side filtering feature allows for easily locating Test Cases matching a particular naming convention in the title, and/or a particular execution status.

This is available both in the context of a Test Catalog and in Test Plans.

Multiple words (or parts of) separated by blanks are supported, in AND condition.

In the case of a Test Plan, you can also add a test case status to filter by this criterion. The supported statuses are (even substrings of):

  • untested
  • successful
  • failed






Test Artifact Change History

Since: 1.4.8

On each test artifact page you will find a section named "Object change history", which contains a list of all the changes to any standard and, more interestingly, custom object's property.

In the following figure you can see how the "device" custom property has been changed in a Test Plan history.



Test object change history
Object change history for a Test Plan

Test Management and Execution Statistics

Since: 1.1.1

Charting capabilities allow for tracking the evolution of the test suites, the corresponding test plans and tickets opened against test cases.

To access the test management statistics, click on Test Stats in the Trac toolbar on the upper right corner of the page.

As shown in the next figure, a chart will be displayed with statistics about all the test cases in the system and a default period of time, with more charts available in the other tabs.

There are three charts available:

Test activity trend chart

Displays the number of test cases created during time and the trend of the test activity, in terms of test cases to be tested, successful and failed.

By means of the filtering criteria at the bottom of the chart, you can select the desired period of time, the chart resolution (in terms of time between different samples) and the Test Plan for your chart.

You can bookmark the URL named "Static URL" at the bottom of the page in order to go directly with the current selected filtering criteria.



Test statistics - Test activity trend
Test activity trend chart

Current test status chart

Shows the current status of the test activity for all test plans of a specific plan, displaying the number of tests that are successful, failed and yet to be tested.



Test statistics - Current test status
Current test status chart

Tickets trend chart

As long as tickets have been opened from the context of a test case in a plan, by means of the appropriate "Open a ticket on this test case" button, this chart shows the trend in tickets associated with all test plans or a specific plan, displaying the number of total, active (i.e. not closed) and closed tickets.



Test statistics - Tickets trend
Tickets trend chart

Configuration

Note: By default, the charts use the YUI library available online at Yahoo!, so you will need internet connection from your client machines to be able to display this charts.

Alternatively, in case you don't have internet connection, you can download the YUI library, put it somewhere on the Trac server machine where the web server can access it, and refer its location in the trac.ini as follows.

Other options you can customize are the default period of time the charts will display, in terms of historical depth and scale.

[testmanager]
yui_base_url = <URL or path to the root of your YUI library>
default_days_back = <number of days back from today>
default_interval = <number of days between samples>

For example:

[testmanager]
yui_base_url = http://yui.yahooapis.com/2.9.0
default_days_back = 14
default_interval = 1

Security

The following new permissions are available to manage the Test Manager security:

  • TEST_VIEW - Ability to view test catalogs and test cases
  • TEST_MODIFY - Ability to create and edit test catalogs and test cases
  • TEST_EXECUTE - Ability to change the status of a test case in a test plan
  • TEST_DELETE - Ability to delete test cases
  • TEST_PLAN_ADMIN - Ability to generate and delete test plans
  • TEST_STATS_VIEW - Ability to view test management statistics



Programmatic API

The programmatic RESTful API is documented in details in this page TestManagerForTracPluginApi.



Tutorial (as powerpoint presentation)

TODO These tutorials document release 1.0.3 and so need to be updated with the Test Plan and other recent features.



Project site

Project site: http://sourceforge.net/projects/testman4trac/

The project is also on Pypi: http://pypi.python.org/pypi/TestManager



Bugs/Feature Requests

If you have any issues, create a new ticket.

Existing bugs and feature requests for TestManagerForTracPlugin are here.

Ticket Summary Status Severity Priority Type Owner Created Description
#7479 Attachments on the TestManagerForTracPlugin page closed minor normal defect Roberto Longobardi 14 years ago

The attachments attachment:"Test Manager plugin for Trac - User Guide part 1.ppt:wiki:TestManagerForTracPlugin" (1, 2, and 3) are not downloadable.

And the link above doesn't work either...

Both issues are probably Trac 0.10 related, so this is just another incentive for Michael to upgrade to 0.12, where those little issues are fixed since a long time :-)

In the meantime, the attachments should probably be renamed...

#7483 Avoid changing test result with one click, add a confirmation button closed normal normal enhancement Roberto Longobardi 14 years ago

It would be nice, if a test case result is not immediately recorded on mouse click, but if there were a "save result" button.

It is too easy to click accidently on the coloured bullet.

#7484 Reverse the order of changes in the test case status change history closed normal normal enhancement Roberto Longobardi 14 years ago

"Status change history" should be reversed, showing the latest (= most important) result first.

#7485 "Open ticket on this test case" should work without a patched TracTicketTemplatePlugin closed normal normal enhancement Roberto Longobardi 14 years ago

When one creates a ticket from a (failed) test, it would be nice, if the new ticket already defaults to a useful subject ("Failed test: Basic Sleep - Sleeping Monster").

This can be easily achieved by using the link: .../newticket?summary=Failed%20test:%20Basic%20Sleep...

unless one has the TracTicketTemplatePlugin, which instead replaces the whole ticket text on the page onload().

In this case, I have patched the above plugin to accept parameters in the URL and replace them in a template. I'll try to make this patch available through the official plugin.

#7486 Customizable test case outcomes (aka verdicts) closed normal normal enhancement Roberto Longobardi 14 years ago

It would be cool, if one could define a set of possible verdicts.

You have "Successful", "Untested", and "Failed",

which is OK for many purposes. But if you do tests according to one of the many standards, you might have different needs. E.g. ISO-9646 has five verdicts:

None = no result yet, untested Pass = good, successful Inconc = inconclusive, unclear Fail = bad, failed Error = there was an error in performing the test

If you test according to POSIX 1003.3 you have the verdicts:

PASS = good, successful FAIL = bad, failed UNRESOLVED = inconclusive, unclear UNTESTED = no result yet, untested

Some testing frameworks add XFAIL (= expected fail), UPASS (= unexpected pass) and UNSUPPORTED (= the implementation under test doesn't support a feature) to the POSIX verdicts.

#7487 Add multiple test plans capability closed normal normal enhancement Roberto Longobardi 14 years ago

In the long run, it would be useful (but not trivial to

implement) to differentiate between the definition of the tests and running a test campaign. An example: I have a software product, a plugin for Trac. Before doing a release "1.0" I have to perform some interactive tests. Therefore I start a new test campaign with svn revision 1234, where all test verdicts "Untested". Let's say, one or two tests failed. I conclude the test campaign unsuccessful. Now I have to fix the bugs and have to start a new test campaign, again with all test verdicts set to "Untested".

#7506 Implement security permissions closed normal normal enhancement Roberto Longobardi 14 years ago

The following permissions should be added:

  • TEST_VIEW - Ability to view test catalogs and test cases
  • TEST_MODIFY - Ability to create and edit test catalogs and test cases
  • TEST_EXECUTE - Ability to change the status of a test case in a test plan
  • TEST_DELETE - Ability to delete test cases
  • TEST_PLAN_ADMIN - Ability to generate and delete test plans
#7507 Implement security permissions closed normal normal enhancement Roberto Longobardi 14 years ago

The following permissions should be added:

  • TEST_VIEW - Ability to view test catalogs and test cases
  • TEST_MODIFY - Ability to create and edit test catalogs and test cases
  • TEST_EXECUTE - Ability to change the status of a test case in a test plan
  • TEST_DELETE - Ability to delete test cases
  • TEST_PLAN_ADMIN - Ability to generate and delete test plans
#7526 Add ability to duplicate a test case closed normal normal enhancement Roberto Longobardi 14 years ago

Groups of test cases usually exist, with base path, alternative paths and error conditions.

It would be useful to be able to duplicate a test case into the same catalog and then slightly modify its description.

#7536 Add test management statistics closed normal normal enhancement Roberto Longobardi 14 years ago

Add charting capabilities for test management and execution statistics, like the Trac Ticket Stats Plugin.

#7551 Test statistics don't work on Trac 0.11 closed normal high defect Roberto Longobardi 14 years ago

I didn't test this feature on Trac 0.11 -> bad

There is a small problem with to_utimestamp() which is a new feature in 0.12, and the stats chart gets an error on 0.11.

I have fixed this and I'm about to release the new revision.

#7552 Export test statistics in CSV and bookmark this chart features in the test stats chart closed normal normal enhancement Roberto Longobardi 14 years ago

Th test statistics chart page will have an "Export to CSV" feature and an "Add bookmark" feature to save the currently displayed data set.

#7569 Add listener interface to let other components react to test case status change closed normal normal enhancement Roberto Longobardi 14 years ago

This way other plugins may be triggered as soon as a test case in a plan changes its status.

#7570 Add a relationship table between tickets and test cases in plan, and corresponding API closed normal normal enhancement Roberto Longobardi 14 years ago

Add such a relationship table to track n-to-m relationship between the two concepts.

Also add corresponding API to:

  • Retrieve all TCs associated to a ticket
  • Retrieve all tickets associated to a TC in any test plan
  • Retrieve all tickets associated to a TC in a specific plan
  • Retrieve all tickets associated to any TC in a specific plan
#7704 Add workflow capabilities, with custom states, transitions and operations, and state transition listeners support closed normal normal enhancement Roberto Longobardi 14 years ago

Will add a generic Trac Resource workflow system, allowing to add workflow capabilities to any Trac resource.

Test objects have been implemented as Trac resources as well, so they will benefit of workflow capabilities.

The new ResourceWorkflowSystem component parses the trac.ini configuration file to find all the workflows defined. To define a workflow state machine for a particular resource realm, add a "<realm>-resource_workflow" section in trac.ini and describe the state machine with the same syntax as the ConfigurableTicketWorkflow component (I may have borrowed some code here and there ;-).

Custom operation providers can be defined that implement the IWorkflowOperationProvider interface. They will be asked to provide UI controls to let the User perform the specified operation on the given resource.

This control(s) will be rendered inside a form and the input values will be eventually available to the corresponding provider in the perform_operation method, to actually perform the operation on the resource.

Components that require notification when workflow actions are performed on resources, with or without state transitions, can implement the IWorkflowTransitionListener interface.

Components that wish to augment the state machine at runtime, by allowing or denying each transition based on the object and the current and new states, can implement the IWorkflowTransitionAuthorization interface.

#7705 Add support for custom properties and change history to all of the test management objects closed normal normal enhancement Roberto Longobardi 14 years ago

A generic object supporting programmatic definition of its standard fields, declarative definition of custom fields (in trac.ini) and keeping track of change history has been created, by generalizing the base Ticket code.

The database tables still need to be independently defined (right, still :-), but the standard fields can be programmatically provided, and any custom fields can be just declared in trac.ini, with the same syntax as for custom Ticket fields.

Test objects have been implemented as subclasses of this class, so they also benefit these capabilities.

Also, a special sub-class has been created for objects wrapping Wiki pages, i.e. which are based on wiki pages, but with additional fields. Test catalogs and Test cases are as such.

Thus, the following objects have now support for custom properties and for keeping track of change history:

  • Test catalogs
  • Test cases
  • Test plans
  • Test case in a test plan (i.e. with a status)
#7726 "Perform Action" button appears even if no workflow is defined for an object closed normal normal defect Roberto Longobardi 13 years ago

The "Perform Action" button must not appear in test object pages (i.e. test catalogs, test cases and test plans) unless a workflow has been defined in the trac.ini file for the object class.

Clicking on the button causes a KeyError to be thrown.

#7780 Display in tabular views also any custom property specified on catalogs, plans or test cases closed normal normal enhancement Roberto Longobardi 13 years ago

Add the ability to display, in the tabular views of Test Catalog and Test Plan, any custom property that may have been specified on the test artifacts.

#7781 Add ability to filter test cases also in the tabular view, and to consider custom properties closed normal normal enhancement Roberto Longobardi 13 years ago

Add ability to filter test cases also in the tabular view (as you can do on the tree view), and to consider custom properties in the search.

#7782 Full Test Plan display/print closed normal normal enhancement Roberto Longobardi 13 years ago

Reporter: stratoid1

Add the capability to generate a full HTML Test Plan, including the content of all of the test cases. Currently the maximum viewable Test Plan ('Expand All' option) lists no more than the title of each test case.

A full printout of the Test Plan is useful for project documentation and review purposes.

#7845 Restore compatibility with Trac 0.11 closed normal normal enhancement Roberto Longobardi 13 years ago

On the recent complete rewrite I had to drop compatibility with Trac 0.11, anyway I didn't actually use any very new feature actually requiring 0.12.

Restore compatbility with 0.11 by removing @with.transaction, and other smaller things.

#8004 Cannot search if an admin closed critical normal defect Roberto Longobardi 13 years ago

Installed the TestManager plugins globally (installed using easy_install, followed by trac-admin /path/to/trac update), and enabled in trac.ini as so:

 tracgenericclass.* = enabled
 tracgenericworkflow.* = enabled
 testmanager.* = enabled

If a non-admin makes any search with these lines uncommented (i.e., plugin is enabled), they get the attached error.

This has been worked around by making all our users admins, but this is not ideal.

#8006 Add search for test plans in global Trac search page closed normal normal enhancement Roberto Longobardi 13 years ago

Currently the search for plans is not implemented.

Add ability to search for test plans in the global Trac Search page.

#8007 Add out-of-the-box operations for use in custom workflows closed normal normal enhancement Roberto Longobardi 13 years ago

With the addition of custom workflows on any Trac resource, there comes the ability to also define custom operations to be performed along with workflow state transitions.

The TracGenericWorkflow plugin comes with no out-of-the-box operation, and the TestManager plugin only defines a sample operation.

Implement a basic set of custom operations to be used in custom workflows:

  • "Assign to": only usable with objects that have an "owner" field, allows for assigning an object to some other User.
  • "Notify": sends a mail to the specified Trac Users, or to a set of specified mail addresses. Optionally allow for specifying the mail subject, and for substituting the object's fields into the subject text.

Add other desired operations as comments to this ticket.

#8019 Ability to duplicate an entire test catalog under a new name with one button click new normal normal enhancement Roberto Longobardi 13 years ago

It would be really useful to be able to take an existing catalog and duplicate it including all sub catalogs and test cases. We could keep our old test cases to one side then allowing our manual testing team to go back and re-run them against older versions of our software.

If there could be a button to fully duplicate a test catalog with a new name it would be great.

#8049 Add ability to delete a Test Plan closed normal normal enhancement Roberto Longobardi 13 years ago
#8050 Add ability to delete a Test Plan closed normal normal enhancement Roberto Longobardi 13 years ago
#8084 ordering issue closed normal normal defect Roberto Longobardi 13 years ago

In one folder i have 64 tests named "test 1" thru to "test 64"

these are all organised numerically, until "test 52" which appears at the top

as does the following tests down to "test 64"

#8121 Catalog Wiki Page not added closed normal normal defect Roberto Longobardi 13 years ago

It is not possible to add a new Catalog with Trac 0.11. If i try to add a Catalog, the TC wiki page is updated with the new string, but no new Catalog wiki page is created. If i add another Catalog, the Catalog added before is always overwritten. I attached a screenshot (error1.png). The catalog is not clickable or anything else. The wiki index contains only the TC wiki page and no other TC related wiki pages. The database has some entries in testcatalog. All entries have a different id, but always the same page_name (always TC). All other plugin tables seems to be empty.

#8123 Can't move testcase more than one time into different catalog closed normal normal defect Roberto Longobardi 13 years ago

Hi,

I can move a testcase into an other (sub)catalog without problems. But when I try to move the same testcase again into a other (sub)catalog then nothing happens. No error message occures and the test case does not move.

#8124 AttributeError: 'NoneType' object has no attribute 'splitlines' closed normal normal defect Roberto Longobardi 13 years ago
Trac detected an internal error:
AttributeError: 'NoneType' object has no attribute 'splitlines'

Python Traceback:
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/main.py", line 444, in _dispatch_request
  dispatcher.dispatch(req)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/main.py", line 226, in dispatch
  data, content_type)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/chrome.py", line 737, in render_template
  stream |= self._filter_stream(req, method, filename, stream, data)
File "build/bdist.linux-i686/egg/genshi/core.py", line 128, in __or__File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/chrome.py", line 840, in inner
  data)
File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 76, in filter_streamFile "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 140, in _catalog_wiki_viewFile "build/bdist.linux-x86_64/egg/testmanager/macros.py", line 81, in expand_macroFile "build/bdist.linux-x86_64/egg/testmanager/macros.py", line 338, in _build_catalog_treeFile "build/bdist.linux-x86_64/egg/testmanager/macros.py", line 650, in _render_subtree_as_tableFile "build/bdist.linux-x86_64/egg/testmanager/macros.py", line 716, in _render_testcases_as_tableFile "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/wiki/formatter.py", line 844, in format
  for line in text.splitlines():

Steps to reproduce: 1) Create two catalogs and a sub catalog for each them 2) Create one testcase in each sub catalog 3) at this point switching between "tree view" and "table view" works without problems. 4) now move a testcase from one sub catalog to the other one 5) When you now select the (sub)catalog which was the target for the move and switch to "table view" then the mentioned error occures.

#8125 "duplicate test case" does not work for previously moved test case closed normal normal defect Roberto Longobardi 13 years ago

When moving a test case to an other (sub)catalog then "duplicate test case" with this moved test case does nothing. This issue may be related to #8123

steps to reproduce: 1) create test case 2) move test case to different (sub)catalog 3) open the moved test case and press "duplicate test case" button --> nothing happens.

#8127 Ability to move/link multiple test cases to an other catalog closed normal normal enhancement Roberto Longobardi 13 years ago

Ability to move/link multiple test cases to an other catalog.

Feature should be available in tree and in table view. Test cases can be selected with check box and moved/linked to other catalog.

ad link) From my point of view it would be a usefull feature to link a test case to other catalog instead of moving or duplicating it.

#8144 Test statistical charts don't show successful and failed figures closed normal high defect Roberto Longobardi 13 years ago

The chart is broken, it only counts total and new test cases, but the successful and failed numbers are always zero.

#8154 LookupError: unknown encoding: cp0 closed normal normal defect Roberto Longobardi 13 years ago

I get the following error with version 1.3.8.

LookupError: unknown encoding: cp0

Python Traceback
Most recent call last:

    * File "C:\Python25\lib\site-packages\trac\web\main.py", line 423, in _dispatch_request
      Code fragment:
       418. try:
       419. if not env and env_error:
       420. raise HTTPInternalError(env_error)
       421. try:
       422. dispatcher = RequestDispatcher(env)
       423. dispatcher.dispatch(req)
       424. except RequestDone:
       425. pass
       426. resp = req._response or []
       427.  
       428. except HTTPException, e:
      Local variables:
      Name	Value
      after 	[u' except RequestDone:', u' pass', u' resp = ...
      before 	[u' try:', u' if not env and env_error:', u' raise ...
      dispatcher 	<trac.web.main.RequestDispatcher object at 0x0413FC50>
      e 	LookupError('unknown encoding: cp0',)
      env 	<trac.env.Environment object at 0x041379F0>
      env_error 	None
      exc_info 	(<type 'exceptions.LookupError'>, LookupError('unknown encoding: cp0',), ...
      filename 	'C:\\Python25\\lib\\site-packages\\trac\\web\\main.py'
      frames 	[{'function': '_dispatch_request', 'lines_before': [u' try:', u' ...
      has_admin 	True
      line 	u' dispatcher.dispatch(req)'
      lineno 	422
      message 	u'LookupError: unknown encoding: cp0'
      req 	<Request "GET u'/wiki/TC_TT7'">
      resp 	[]
      tb 	<traceback object at 0x043D5620>
      tb_hide 	None
      traceback 	'Traceback (most recent call last):\n File ...
    * File "C:\Python25\lib\site-packages\trac\web\main.py", line 219, in dispatch
      Code fragment:
       214. out = StringIO()
       215. pprint(data, out)
       216. req.send(out.getvalue(), 'text/plain')
       217. else:
       218. output = chrome.render_template(req, template,
       219. data, content_type)
       220. # Give the session a chance to persist changes
       221. if req.session:
       222. req.session.save()
       223.  
       224. req.send(output, content_type or 'text/html')
      Local variables:
      Name	Value
      chosen_handler 	<trac.wiki.web_ui.WikiModule object at 0x0413FF70>
      chrome 	<trac.web.chrome.Chrome object at 0x03FE1DB0>
      content_type 	None
      data 	{'templates': [], 'dateinfo': <function dateinfo at 0x0428ED30>, ...
      err 	(<type 'exceptions.LookupError'>, LookupError('unknown encoding: cp0',), ...
      handler 	<trac.wiki.web_ui.WikiModule object at 0x0413FF70>
      req 	<Request "GET u'/wiki/TC_TT7'">
      resp 	('wiki_view.html', {'templates': [], 'dateinfo': <function dateinfo at ...
      self 	<trac.web.main.RequestDispatcher object at 0x0413FC50>
      template 	'wiki_view.html'
    * File "C:\Python25\lib\site-packages\trac\web\chrome.py", line 690, in render_template
      Code fragment:
       685.  
       686. stream = template.generate(**data)
       687.  
       688. # Filter through ITemplateStreamFilter plugins
       689. if self.stream_filters:
       690. stream |= self._filter_stream(req, method, filename, stream, data)
       691.  
       692. if fragment:
       693. return stream
       694.  
       695. if method == 'text':
      Local variables:
      Name	Value
      content_type 	'text/html'
      data 	{'abs_url_of': <function get_abs_url at 0x043A3DB0>, 'templates': [], ...
      filename 	'wiki_view.html'
      fragment 	False
      method 	'xhtml'
      req 	<Request "GET u'/wiki/TC_TT7'">
      self 	<trac.web.chrome.Chrome object at 0x03FE1DB0>
      stream 	<genshi.core.Stream object at 0x040DEB70>
      template 	<MarkupTemplate "wiki_view.html">
    * File "build\bdist.win32\egg\genshi\core.py", line 128, in __or__
      Local variables:
      Name	Value
      function 	<function inner at 0x043A3FB0>
      self 	<genshi.core.Stream object at 0x040DEB70>
    * File "C:\Python25\lib\site-packages\trac\web\chrome.py", line 777, in inner
      Code fragment:
       772.  
       773. def _filter_stream(self, req, method, filename, stream, data):
       774. def inner(stream, ctxt=None):
       775. for filter in self.stream_filters:
       776. stream = filter.filter_stream(req, method, filename, stream,
       777. data)
       778. return stream
       779. return inner
       780.  
      Local variables:
      Name	Value
      ctxt 	None
      data 	{'abs_url_of': <function get_abs_url at 0x043A3DB0>, 'templates': [], ...
      filename 	'wiki_view.html'
      filter 	<testmanager.wiki.WikiTestManagerInterface object at 0x04306090>
      method 	'xhtml'
      req 	<Request "GET u'/wiki/TC_TT7'">
      self 	<trac.web.chrome.Chrome object at 0x03FE1DB0>
      stream 	<genshi.core.Stream object at 0x040DEB70>
    * File "build\bdist.win32\egg\testmanager\wiki.py", line 106, in filter_stream
      Local variables:
      Name	Value
      data 	{'abs_url_of': <function get_abs_url at 0x043A3DB0>, 'templates': [], ...
      filename 	'wiki_view.html'
      formatter 	<trac.wiki.formatter.Formatter object at 0x043BE870>
      method 	'xhtml'
      page_name 	u'TC_TT7'
      planid 	'-1'
      req 	<Request "GET u'/wiki/TC_TT7'">
      self 	<testmanager.wiki.WikiTestManagerInterface object at 0x04306090>
      stream 	<genshi.core.Stream object at 0x040DEB70>
    * File "build\bdist.win32\egg\testmanager\wiki.py", line 148, in _catalog_wiki_view
      Local variables:
      Name	Value
      cat_id 	u'7'
      cat_name 	u'TC_TT7'
      formatter 	<trac.wiki.formatter.Formatter object at 0x043BE870>
      fulldetails 	'False'
      mode 	'tree'
      page_name 	u'TC_TT7'
      path_name 	u'/wiki/TC_TT7'
      req 	<Request "GET u'/wiki/TC_TT7'">
      self 	<testmanager.wiki.WikiTestManagerInterface object at 0x04306090>
      stream 	<genshi.core.Stream object at 0x040DEB70>
      test_catalog 	<testmanager.model.TestCatalog object at 0x043BEF50>
      tmmodelprovider 	<tracgenericclass.model.GenericClassModelProvider object at 0x043AF6B0>
      tree_macro 	<testmanager.macros.TestCaseTreeMacro object at 0x043DB730>
    * File "build\bdist.win32\egg\testmanager\wiki.py", line 406, in _get_breadcrumb_markup
      Local variables:
      Name	Value
      breadcrumb_macro 	<testmanager.macros.TestCaseBreadcrumbMacro object at 0x043DB710>
      formatter 	<trac.wiki.formatter.Formatter object at 0x043BE870>
      fulldetails 	'False'
      mode 	'tree'
      page_name 	u'TC_TT7'
      planid 	None
      self 	<testmanager.wiki.WikiTestManagerInterface object at 0x04306090>
    * File "build\bdist.win32\egg\testmanager\macros.py", line 58, in expand_macro
      Local variables:
      Name	Value
      args 	[]
      content 	u'page_name=TC_TT7,mode=tree,fulldetails=False'
      formatter 	<trac.wiki.formatter.Formatter object at 0x043BE870>
      fulldetails 	False
      kw 	{'fulldetails': u'False', 'page_name': u'TC_TT7', 'mode': u'tree'}
      mode 	u'tree'
      name 	None
      page_name 	u'TC_TT7'
      planid 	'-1'
      req 	<Request "GET u'/wiki/TC_TT7'">
      self 	<testmanager.macros.TestCaseBreadcrumbMacro object at 0x043DB710>
    * File "build\bdist.win32\egg\testmanager\macros.py", line 230, in _build_testcases_breadcrumb
      Local variables:
      Name	Value
      breadcrumb 	[{'id': 'TC', 'name': 'TC', 'title': 'All Catalogs'}, {'id': u'TC_TT7', ...
      cat_name 	u'TT7'
      curpage 	u'TC_TT7'
      curr_path 	u'TC_TT7'
      env 	<trac.env.Environment object at 0x041379F0>
      fulldetails 	False
      i 	0
      mode 	u'tree'
      page 	<trac.wiki.model.WikiPage object at 0x043BE430>
      page_title 	u'Das ist ein Test'
      path_name 	u'TT7'
      planid 	'-1'
      req 	<Request "GET u'/wiki/TC_TT7'">
      tc 	u'TT7'
      text 	u'<div><span name="breadcrumb" style="cursor: pointer; color: #BB0000; ...
      tokens 	[u'TT7']

File "C:\Python25\lib\site-packages\trac\web\main.py", line 423, in _dispatch_request
  dispatcher.dispatch(req)
File "C:\Python25\lib\site-packages\trac\web\main.py", line 219, in dispatch
  data, content_type)
File "C:\Python25\lib\site-packages\trac\web\chrome.py", line 690, in render_template
  stream |= self._filter_stream(req, method, filename, stream, data)
File "build\bdist.win32\egg\genshi\core.py", line 128, in __or__File "C:\Python25\lib\site-packages\trac\web\chrome.py", line 777, in inner
  data)
File "build\bdist.win32\egg\testmanager\wiki.py", line 106, in filter_streamFile "build\bdist.win32\egg\testmanager\wiki.py", line 148, in _catalog_wiki_viewFile "build\bdist.win32\egg\testmanager\wiki.py", line 406, in _get_breadcrumb_markupFile "build\bdist.win32\egg\testmanager\macros.py", line 58, in expand_macroFile "build\bdist.win32\egg\testmanager\macros.py", line 230, in _build_testcases_breadcrumb

Trac:  	0.11.1
Python: 	2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)]
setuptools: 	0.6c8
SQLite: 	3.6.10
pysqlite: 	2.3.2
Genshi: 	0.5.1
mod_python: 	3.3.1
Pygments: 	1.3.1
Subversion: 	1.5.3 (r33570)
RPC: 	1.0.6
jQuery:	1.2.6
#8259 Add navigation from a test case to its related tickets closed normal normal enhancement Roberto Longobardi 13 years ago

Ticket #7570 has a broader scope than this one, but the present enhancement will allow to easily obtain a list of tickets related to any particular test case, being it in a plan or not.

A "Show Related Tickets" button will be added to the test case and the test case in a plan details pages that will display a query of all the tickes opened with a reference to the particular test case, in any plan or in the specific plan, respectively.

#8261 Error: Requested field information not found for class resourceworkflowstate. closed critical normal defect Roberto Longobardi 13 years ago

On every action in TestManager (e.g. add a new Catalog or just clicking on a test cataloge) I get following error in trac:

Requested field information not found for class resourceworkflowstate.

Logfile says:

2010-12-03 17:13:23,870 Trac[model] DEBUG: Title: None
2010-12-03 17:13:23,870 Trac[model] DEBUG: Description: None
2010-12-03 17:13:23,871 Trac[model] DEBUG: >>> get_fields
2010-12-03 17:13:23,871 Trac[model] DEBUG: <<< get_fields
2010-12-03 17:13:23,871 Trac[model] DEBUG: >>> _fetch_object
2010-12-03 17:13:23,871 Trac[model] DEBUG: Searching for testcatalog: WHERE 1=1 AND id=%%s
2010-12-03 17:13:23,871 Trac[model] DEBUG: id = 3
2010-12-03 17:13:23,872 Trac[model] DEBUG: Object found.
2010-12-03 17:13:23,873 Trac[model] DEBUG: Title: Test4
2010-12-03 17:13:23,873 Trac[model] DEBUG: <<< _fetch_object
2010-12-03 17:13:23,873 Trac[model] DEBUG: Exists: True
2010-12-03 17:13:23,873 Trac[model] DEBUG: {'page_name': u'TC_TT3', 'id': u'3'}
2010-12-03 17:13:23,878 Trac[model] DEBUG: Title: None
2010-12-03 17:13:23,878 Trac[model] DEBUG: Description: None
2010-12-03 17:13:23,878 Trac[model] DEBUG: >>> get_fields
2010-12-03 17:13:23,879 Trac[model] DEBUG: <<< get_fields
2010-12-03 17:13:23,879 Trac[model] DEBUG: >>> _fetch_object
2010-12-03 17:13:23,879 Trac[model] DEBUG: Searching for testcatalog: WHERE 1=1 AND id=%%s
2010-12-03 17:13:23,879 Trac[model] DEBUG: id = 3
2010-12-03 17:13:23,879 Trac[model] DEBUG: Object found.
2010-12-03 17:13:23,879 Trac[model] DEBUG: Title: Test4
2010-12-03 17:13:23,880 Trac[model] DEBUG: <<< _fetch_object
2010-12-03 17:13:23,880 Trac[model] DEBUG: Exists: True
2010-12-03 17:13:23,880 Trac[model] DEBUG: {'page_name': u'TC_TT3', 'id': u'3'}
2010-12-03 17:13:23,880 Trac[model] DEBUG: >>> get_fields
2010-12-03 17:13:23,880 Trac[model] DEBUG: <<< get_fields
2010-12-03 17:13:23,880 Trac[model] DEBUG: Exists: False
2010-12-03 17:13:23,880 Trac[model] DEBUG: {'author': None, 'page_name': None, 'id': None, 'catid': None, 'name': None}
2010-12-03 17:13:23,880 Trac[model] DEBUG: Value before: None
2010-12-03 17:13:23,880 Trac[model] DEBUG: Changing field value.
2010-12-03 17:13:23,880 Trac[model] DEBUG: Value after: 3
2010-12-03 17:13:23,881 Trac[model] DEBUG: >>> list_matching_objects
2010-12-03 17:13:23,881 Trac[model] DEBUG: <<< list_matching_objects
2010-12-03 17:13:23,883 Trac[workflow] DEBUG: >>> TestManagerWorkflowInterface - filter_stream
2010-12-03 17:13:23,883 Trac[model] DEBUG: >>> get_fields
2010-12-03 17:13:23,883 Trac[main] WARNING: HTTPInternalError: 500 Trac Error (Requested field information not found for class resourceworkflowstate.)

Trac Version: 0.12 TestManager Version: 1.3.11

#8321 Add standard internationalization support (i18n) closed normal normal enhancement Roberto Longobardi 13 years ago

The current i18n implementation is proprietary.

Switch to the standard Babel-based implementation as of Trac 0.12, but without dropping support for 0.11.

#8322 Show timestamps according to User's locale closed normal normal enhancement Roberto Longobardi 13 years ago

Currently the timestamps are all displayed in UTC.

Show them in the User's locale.

#8323 Trac 0.11 - Unable to expand Available plans and Test case status change history collapsable sections closed normal normal defect Roberto Longobardi 13 years ago

On Trac 0.11 the collapsable sections described cannot be expanded.

This is due to a different handling of them in 0.11 and 0.12.

#8328 testplan enhancements closed normal normal enhancement Roberto Longobardi 13 years ago

It would be nice to create a testplan with a individual collection of tests. Sometimes it is not useful to test the whole container. The testplan should be something like a template that i can run multiple times.

#8378 Set date and time format correctly in Test Stats page closed normal normal defect Roberto Longobardi 13 years ago

The TestManagerForTracPlugin uses different Dateformats in the Manager Pages and the Test Stats Pages. The Manager pages are using the local time format of our server where as the Stats pages are using an American Date format. Please use the local server date format also on the Stats pages.

Thank you and kind regards Marcel

#8392 Provide ticket subject automatically when opening ticket on failed test case closed normal normal enhancement Roberto Longobardi 13 years ago

From a mail from W. Martin Borgert:

When one creates a ticket from a (failed) test, it would

be nice, if the new ticket already defaults to a useful subject ("Failed test: Basic Sleep - Sleeping Monster"). This can be easily achieved by using the link: .../newticket?summary=Failed%20test:%20Basic%20Sleep..

#8427 Add XML-RPC complete interface for remote management of test objects closed normal normal enhancement Roberto Longobardi 13 years ago

See for documentation.

#8560 [TestManager 1.4.3] Parse error thrown everytime after trying to create a new catalogue closed blocker high defect Roberto Longobardi 13 years ago

Description:


Trac TestManager functionality is completely broken after trying to create a new catalogue.

Trac TestManager plugin had been working well in past. There had been multiple catalogues, test plans earlier. The problem started while creating one sub-catalogue.

Traceback:

Most recent call last:
File "/usr/lib/python2.6/dist-packages/trac/web/main.py", line 450, in _dispatch_request
  dispatcher.dispatch(req)
File "/usr/lib/python2.6/dist-packages/trac/web/main.py", line 227, in dispatch
  data, content_type)
File "/usr/lib/python2.6/dist-packages/trac/web/chrome.py", line 745, in render_template
  stream |= self._filter_stream(req, method, filename, stream, data)
File "/usr/lib/pymodules/python2.6/genshi/core.py", line 132, in __or__
  return Stream(_ensure(function(self)), serializer=self.serializer)
File "/usr/lib/python2.6/dist-packages/trac/web/chrome.py", line 848, in inner
  data)
File "/opt/trac/coast/plugins/TestManager-1.4.3-py2.6.egg/testmanager/wiki.py", line 111, in filter_streamFile "/opt/trac/coast/plugins/TestManager-1.4.3-py2.6.egg/testmanager/wiki.py", line 184, in _catalog_wiki_viewFile "/usr/lib/pymodules/python2.6/genshi/input.py", line 425, in HTML
  return Stream(list(HTMLParser(StringIO(text), encoding=encoding)))
File "/usr/lib/pymodules/python2.6/genshi/core.py", line 288, in _ensure
  for event in stream:
File "/usr/lib/pymodules/python2.6/genshi/input.py", line 432, in _coalesce
  for kind, data, pos in chain(stream, [(None, None, None)]):
File "/usr/lib/pymodules/python2.6/genshi/input.py", line 339, in _generate
  raise ParseError(msg, self.filename, e.lineno, e.offset)

Observations:


  1. Rest of the trac functionality is working fine apart from the TestManager plugin
  2. The test manager stats is also working.
  3. there is no mention about this problem on mailing list.
  4. TestManager plugin is unusable completely after this problem.

Setup:

System Information

Trac:	0.11.7
Python:	2.6.6 (r266:84292, Dec 27 2010, 00:18:12) [GCC 4.4.5]
setuptools:	0.6
SQLite:	3.7.4
pysqlite:	2.6.0
Genshi:	0.6
mod_python:	3.3.1
Pygments:	1.4
Subversion:	1.6.12 (r955767)
jQuery:	1.5

'''Plaugins''':
components	autocompleteusers.*	enabled
ldapplugin.*	enabled
sqlexecutor.*	enabled
testmanager.api.testmanagersystem	enabled
testmanager.macros.testcasebreadcrumbmacro	enabled
testmanager.macros.testcasechangestatusmacro	enabled
testmanager.macros.testcasestatushistorymacro	enabled
testmanager.macros.testcasestatusmacro	enabled
testmanager.macros.testcasetreemacro	enabled
testmanager.macros.testplanlistmacro	enabled
testmanager.macros.testplantreemacro	enabled
testmanager.model.testmanagermodelprovider	enabled
testmanager.stats.teststatsplugin	enabled
testmanager.web_ui.testmanager	enabled
testmanager.web_ui.testmanagertemplateprovider	enabled
testmanager.wiki.wikitestmanagerinterface	enabled
testmanager.workflow.testmanagerworkflowinterface	enabled
ticket_clone.*	enabled
tickettemplate.*	enabled
tickettemplate.ttadmin.*	enabled
tracgenericclass.*	enabled
tracgenericworkflow.*	enabled
tracpygments.*	enabled
tracwysiwyg.*	enabled
webadmin.*	enabled
webadmin.basics.*	enabled
webadmin.logging.*	enabled
webadmin.perm.*	enabled
webadmin.plugin.*	enabled
webadmin.ticket.*	enabled
webadmin.web_ui.*	enabled
#8567 javascript error when deleting test plans closed normal normal defect Roberto Longobardi 13 years ago

When attempting to remove a Test Plan, clicking the X button results in no action and the javascript console showing: "function _ is not defined".

It appears that _("...") style quoting is being used in the testmanager.js file in a few places.

I am not familiar enough with javascript to know if this is supposed to work (I assume it is meant to be for localization?), but adding a dummy function declaration to the top of the .js file fixed this for me:

function _(str) {
    return str
}
#8596 Remove hard dependency on XML RPC plugin for Trac 0.11 closed normal normal enhancement Roberto Longobardi 13 years ago

While on Trac 0.12 the Test Manager plugin works correctly even without the XmlRpcPlugin being installed, on 0.11 it failes starting.

Remove the hard dependency by wrapping the XML RPC plugin imports with a try/catch and handle the ImportError exception.

#8613 TestManager is not installable on Trac 0.12.2 closed blocker high defect Roberto Longobardi 13 years ago

When trying to install the TestManagerForTracPlugin, the installation hangs in the installation of the testmanager_plugin. I tried to go back in versions to install and found out that release 1.3.11 is the last one working.

The failure I get is, that trac always requests to upgrade the backend. But even after upgrading using the trac-admin command this error isn't solved. So I am unable to start my trac again.

Greetings Andreas

#8671 Installation problem on Trac 0.11 and PosgreSQL closed normal normal defect Roberto Longobardi 13 years ago

Reporting a mail thread here as a ticket, for reference to other users.

================================================= Hi Roberto!

I'm sorry to bother you this way directly, but I didn't found anything useful from google to my problem. I would appreciate if you could help me a little.

I'm trying to install TestManager 1.4.4 to Trac 0.11.7. I did the installation from source by easy_install. The installation went ok (I think). When I try to enable the plugins, trac tell to execute upgrade. But when executing the upgrade to trac it gives me a error:

"psycopg2.ProgrammingError: type "int64" does not exist LINE4: "time" int64,"

I have updated python-psycopg2 package to version 2.4-1.1 but it didn't help. What is the component which is missing the type int64 or what might be the problem?

The system in running on SUSE Linux Enterprise Server 11 (x86_64) version 11, patch 1. Postgresql-server v8.3.9-0.1.1.

Br, Timo

#8672 Installation problem on Trac 0.11 and MySQL closed normal normal defect Roberto Longobardi 13 years ago

Reporting a mail thread here as a ticket, for reference to other users.

=================================================

Hello

I hope you don't mind me asking, not creating a ticket (checked them, there was one simillar to my problem), but have you seen anything like this?

Trac 0.11.5 with MySql Server version: 5.1.41-3ubuntu12.10 (Ubuntu)

trac-admin /trac/trac upgrade
Traceback (most recent call last):
 File "/usr/local/bin/trac-admin", line 9, in <module>
   load_entry_point('Trac==0.11.5', 'console_scripts', 'trac-admin')()
 File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/admin/console.py", line 1314, in run
   return admin.onecmd(command)
 File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/admin/console.py", line 133, in onecmd
   rv = cmd.Cmd.onecmd(self, line) or 0
 File "/usr/lib/python2.6/cmd.py", line 219, in onecmd
   return func(arg)
 File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/admin/console.py", line 1154, in do_upgrade
   self.__env.upgrade(backup=do_backup)
 File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/env.py", line 457, in upgrade
   participant.upgrade_environment(db)
 File "/trac/trac/plugins/TestManager-1.4.4-py2.6.egg/testmanager/model.py", line 638, in upgrade_environment
 File "/trac/trac/plugins/TracGenericClass-1.0.4-py2.6.egg/tracgenericclass/model.py", line 1276, in upgrade_db
 File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/db/util.py", line 60, in execute
   return self.cursor.execute(sql)
 File "/usr/lib/pymodules/python2.6/MySQLdb/cursors.py", line 166, in execute
   self.errorhandler(self, exc, value)
 File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 35, in defaulterrorhandler
   raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int64,\n    PRIMARY KEY (`id`(255))\n)' at line 7")

Sorry to ask, but my knowledge about python is very limited and this is my first attemt to install a plugin into Trac. I did manage to solve some issues as it stated for example that the TracXMLRPC was missing...

[components]
added this->TracXMLRPC.* = enabled
estimationtools.* = enabled
timingandestimationplugin.* = enabled
timingandestimationplugin.stopwatch.ticketstopwatch = disabled
timingandestimationplugin.tande_filters.timeclickfilter = disabled
timingandestimationplugin.tande_filters.totalhoursfilter = enabled
timingandestimationplugin.webui.timingestimationandbillingpage = disabled
added this->TracGenericClass.* = enabled
added this->TracGenericWorkflow.* = enabled
added this->TestManager.* = enabled

it will start just fine if I disable the TestManager and the ugrade(s) before enabling that went fine without problems

I marked the modifications my 'added this->'

For me it seems like the database modifications won't go through and neither will any trac.ini modifications for the TestManager trac-admin upgrade.

I will try to install this into a Ubuntu virtual box during the weekend, but if you have seen anything like this and are able to spot something I'm missing the help is greatly appreciated.

#8727 installation problem with 0.12 closed normal normal defect Roberto Longobardi 13 years ago

I installed the *.egg files on the admin webpage like shown in ppt-tutorial. i do not get the request to upgrade environment. If I try to run the upgrade anyway, it says: Database is up to date, no upgrade necessary. The plugins are not displayed on admin page. I am running trac on windows machine with apache2 phyton 2.5.4 and trac 0.12.1.

Is there anything i could try?

#8735 Update the powerpoint tutorials new normal normal enhancement Roberto Longobardi 13 years ago

Users seem to use thes ones, so I should really update them with step-by-step instructions on installation and basic configuration.

#8761 Copy multiple test cases into another catalog closed normal normal enhancement Roberto Longobardi 13 years ago

Ability to select one or more test cases from one or more catalogs and paste them into a single different catalog.

#8765 trac killed after installation of the 3 plugins closed blocker highest defect Roberto Longobardi 13 years ago

After the installation of the 3 plugins and the database update of "Test Manager" plugin the trac is broken ...

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/web/api.py", line 440, in send_error
    data, 'text/html')
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/web/chrome.py", line 827, in render_template
    message = req.session.pop('chrome.%s.%d' % (type_, i))
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/web/api.py", line 216, in __getattr__
    value = self.callbacks[name](self)
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/web/main.py", line 300, in _get_session
    return Session(self.env, req)
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/web/session.py", line 192, in __init__
    if req.authname == 'anonymous':
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/web/api.py", line 216, in __getattr__
    value = self.callbacks[name](self)
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/web/main.py", line 159, in authenticate
    authname = authenticator.authenticate(req)
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/web/auth.py", line 83, in authenticate
    authname = self._get_name_for_cookie(req, req.incookie['trac_auth'])
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/web/auth.py", line 209, in _get_name_for_cookie
    db = self.env.get_db_cnx()
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/env.py", line 328, in get_db_cnx
    return get_read_db(self)
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/db/api.py", line 90, in get_read_db
    return _transaction_local.db or DatabaseManager(env).get_connection()
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/db/api.py", line 152, in get_connection
    return self._cnx_pool.get_cnx(self.timeout or None)
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/db/pool.py", line 226, in get_cnx
    return _backend.get_cnx(self._connector, self._kwargs, timeout)
  File "/usr/lib/python2.7/site-packages/Trac-0.12.2-py2.7.egg/trac/db/pool.py", line 146, in get_cnx
    raise TimeoutError(errmsg)
TimeoutError: Unable to get database connection within 0 seconds. (TracError(u'Database "/data/trac/Nexus/db/trac.db" not found.',))
#8815 Ability to delete multiple test cases new normal normal enhancement Roberto Longobardi 13 years ago

Selecting multiple test cases and deleting them.

#8816 Ability to cut, copy or delete an entire (sub)catalog new normal normal enhancement Roberto Longobardi 13 years ago

Selecting a test catalog and cut, copy and paste or delete it and its underlying test cases.

#8825 Ability to import test cases from Excel (CSV) file closed normal normal enhancement Roberto Longobardi 13 years ago

Add ability to import test cases from a CSV file.

The first row is a header row, which declares the field names.

The first two columns are mandatory and will be imported into the test case's title and description, any subsequent column will be imported into custom fields.

#8845 Don't see "Test Manager" tab closed major high defect Roberto Longobardi 13 years ago

Hi,

I installed the 3 plugins (and I see them under "plugins" on the "admin" tab), But I don't see the test manager tab. I upgraded the DB as was required.

  • I user Python 2.5 and trac 0.12

Please help :)

10X.

#8869 Loading of Test Manager takes too long and sometimes time out closed major normal defect Roberto Longobardi 13 years ago

first of all , your plugin is very useful and much appreciated. we do have an issue though.

we've installed 1.4.4 and we've started to add existing test cases (from a previous system). we have about 3000 now. when trying to access the Test Manager tab , it is painfully slow to load ... most of the time, the browser is timing out. Once we're in , navigating the test catalogues and cases is alright.

I should say that the rest of our Trac is working perfectly.

I was wondering if you've seen this before and have any hints for us on how to fix it.

cheers, alex

#8871 No # allowed at custom fields closed normal normal defect Roberto Longobardi 13 years ago

I want to do a tracing of testcases to requirements tickets !

I've created a custom field: [testcase-tm_custom] requirement = text

But when I'm inserting the ticket "#1", this data is not saved!

It would also be nice to have a internal trac link to the ticket if the ticket number will be displayed at all places/tables where we can see that custom fileds.

#8872 tracing of (requirement) tickets at test cases closed normal normal enhancement Roberto Longobardi 13 years ago

It would be fine to have a tracing of testcases to tickets like requirements or enhancements.

At the ticket we want to see if there is one or more a testcase which was created depending on it.

At the testcase we want to see if there is one ore more tickets depending on it.

#8873 css styles ar not compatible with the agilo plugin closed normal normal defect Roberto Longobardi 13 years ago

We want to use the Agilo Plugin together with your plugin.

The Plugins are both running but some important links are hidden because of not compatible styles. The "Successful/Untested/Failed" Buttons are on the top of the page and are hiding some Links.

The problem is in the code: <ul class="menu"> The class menu is not ok for that box, because there is an absolute position.

#8874 Next test case button new normal normal enhancement Roberto Longobardi 13 years ago

Another usability related idea

When the testing person is going through the test plan = test cases. It would be great to have a 'Next TC' Button on the bottom

Like after the Change Status you've set it passed and then you would just press 'Next test case' instead of closing the tab and clicking the next case from the plan.

Maybe even so that if the case was last on the (sub)catalog it would prompt to next catalog or at least have the button asking/hinting 'last case, go to next catalog 'XX'?' or be disabled if no more cases on the (sub)catalog

#8875 More visibility for Tickets related to test suites closed normal normal enhancement Roberto Longobardi 13 years ago

It would be usefull to have some additional Graphics about the Tickets related to a test catalog/plan or multiple test catalogs/plans.

(So I actually present three separated enhancements in one ticket)

As we're using the test plans for each test round we do, it would be great to be able to see the results of a one round as a pie chart.

1) In a Pie chart It would show in all the configured states for a test plan. for example: Passed, failed, can't test, N/A, etc This pie could be used to show the result of the round=plan or to show the current state of the testing for that round=plan

2) A trend line of bugs for a catalog: Three lines: 1) a line for total of found bugs 2) a line of total of closed 3) total of invalid (these are actually the ticket end states)

Of course, this will only work if you keep opening tickets via the appropriate "Open a ticket on this test case" button, in the test case page. This creates a reference between the test case and the ticket, kept in a custom ticket field.

So the idea would be to only create tickets from the test run. so they could be bound to the plan and catalog

The trend line (2) is interesting for a catalog [or multiple catalogs if we end up having smoke tests in separate catalog as the current implementation does not support the possibility to check only certain test cases into a certain test plan. (the other possibility is to name them a bit differently and use the filtering to keep track of the smoke test cases, but that would make the untested status too visible in the end charts)]

3) severity of open bugs A trend line for a catalog (catalogs) that would show the severities of open tickets. Amounts in vertical, time in horizontal.

From that trend line you could be able to see how long one would have critical tickets open and the amount of critical tickets compared to normal, major, trivial etc.)

#8876 Can't create Catalogs/Test cases when trac runs from site root closed normal normal defect Roberto Longobardi 13 years ago

In our trac installation, trac is installed at the root of our server.

The call to 'ref.href()' on line 564 of wiki.py used to set the baseLocation javascript var returns '/'.

When this is used throughout testmanager.js, it creates URIs with double leading /'s, such as testcreate?... . This causes the browser to make requests to a non-existent host.

#8878 TestManagerForTracPlugin does not play well with MenusPlugin closed normal normal defect Roberto Longobardi 13 years ago

When accessing pages under the Test Manager, we get the error the $ is not a method from the javascript associated with the menus plugin. No other pages give this error.

It seems to be related to the introduction of a second jquery instance at line 571 in wiki.py.

#8898 yui_base_url not honored in templates ? closed normal low defect Roberto Longobardi 13 years ago

Alltough the stats.py defines an option "yui_base_url", this option is not used within the templates (testmanagerstats.html still includes scripts directly from yui.yahooapis.com).

I would prefere to have the yui local installed (as intended by adding the option in stats.py :-)) as not all of our clients always have connection to the internet...

#8900 Add ability to articulate test plans on two dimensions, e.g. test cases and platforms new normal normal enhancement Roberto Longobardi 13 years ago

Add a third dimension in addition to Test Case and Test Plan, to identify a particular test case instance, for example the platform, or the device.

Which is to say that, inside a single Test Plan, you wouldn't have just one dimension, the Test Case, but also a second dimension, the platform.

So, let's say the use cases would be the following:

Add a Test Variation Dimension (any ideas for a better name?)

  1. The User enters the Admin panel

2) Selects "Test Variation Dimensions"
3) Trac asks for a Dimension Name, defaulted to "Device" (or "Platform")
4) The User can add one or more values for the Dimension, much like it does for ticket statuses, milestones, etc. He can also remove any existing values.

Associate a test catalog to a Test Variation Dimension
1) From a test catalog, the User selects from a listbox the desired "Variation Dimension"

Display the status of test cases in plan, which has a Variation Dimension
1) From a test catalog, the User clicks on the desired Test Plan
2) Being the catalog associated with another dimension, the Test Plan page is in the form of a table, not a tree, with Test Cases in the rows and the associated Dimension values in the columns. In each cell, a red/yellow/green semaphore will display the current test case status. Initially, all test cases will be in the "To be tested" (yellow) status.
3) The User clicks on one of the semaphores and changes the status of a Test Case for the particular dimension value (e.g. platform).

#8907 Add template for "New TestCase" closed minor low enhancement Roberto Longobardi 13 years ago

Hi Roberto,

I've already added this on SourceForge, but I'm not sure how often you've time to look there :-))

When creating a new TestCase, a new Wiki-Page will be opened for editing. At the moment there is only the title added automatically.

What about having a template that will be added to that Wiki-Page (or better said TestCase)? As far as I've seen in the code, this should not be the biggest problem as the class TestCase has everything that would be needed.

If you like, I could try to provide a patch, but it would be fine to discuss it first... just to be sure to implement it in a way you'd like it :-) (should it be implemented by a "simple" option in trac.ini? or better implement it as a "template wiki-page" that will be referenced in trac.ini and then copied when creating a new TestCase?)

Christian

#8908 Possiblity to change test case status from the tree view closed major normal enhancement Roberto Longobardi 13 years ago

The possiblity to change the statuses already in the tree view without opening the test case would make the testing a lot faster (especially when a slow connection, like for example when the Trac server is located in different continent than where the Testing team is working) if one could change the test result directly from the tree view that is listing the test cases.

This is the case especially when the testers do know the test cases by heart. (Or are using separate test cases tracking and do only report the results into the plugin)

One additional way might be a possibility to set the whole (sub)catalog of test cases into selected status. (However this may lead to a misusage, like first setting all passed and then just setting the one failed -> leading to a wrong status to be marked on the test case status history, unless there would be a timer (for example 15sec) to keep a track of 'mistakes' when setting the statuses and keeping the test case status history 'clean' )

#8913 NameError: global name 'NEXT_PROPERTY_NAME' is not defined creating a new catalog or test case closed blocker normal defect Roberto Longobardi 13 years ago
#8931 Problem with Attatchemnts in test Plan closed normal highest defect Roberto Longobardi 13 years ago

I creat multiple test plans under one Sub Catagory. When I open one of the test plans and attatch a file to that specific test plan. The file that is attatched

to the specific test plan also attatches to the other test plans in the catagory. Is there a way to have it only attatch tgo a specific test plan. Thank you

#8932 Reports closed normal high defect Roberto Longobardi 13 years ago

Is there any way to got to a test plan page and print out the information on it a report. that would contain the test case. whether it passed ot not and also the other test plan information. Thank you very much

#8958 An ability to export test data to CSV format needed closed major highest enhancement Roberto Longobardi 13 years ago

It would be good to have an "export data" feature. We may need it for migrating data between different bug tracking systems and for backup purposes.

Proposed CSV structure is: Catalog, Sub-Catalog, Sub-Catalog, Test Case ID, Name, Description

#8985 fail on fresh install CentoOS 5.6 closed normal normal defect Roberto Longobardi 13 years ago

Most recent call last:

Traceback (most recent call last):

File "build/bdist.linux-i686/egg/trac/web/main.py", line 511, in _dispatch_request File "build/bdist.linux-i686/egg/trac/web/main.py", line 192, in dispatch File "build/bdist.linux-i686/egg/trac/core.py", line 78, in extensions File "build/bdist.linux-i686/egg/trac/core.py", line 213, in getitem File "build/bdist.linux-i686/egg/trac/core.py", line 119, in maybe_init File "build/bdist.linux-i686/egg/testmanager/api.py", line 88, in init

AttributeError: 'unicode' object has no attribute 'partition'

#9007 I can not import test cases closed normal highest defect Roberto Longobardi 13 years ago

I can not import test cases

I get the following error:

File "build/bdist.linux-x86_64/egg/testmanager/api.py", line 617, 
in _process_imported_testcase_row\n new_tc.insert()\n', '
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 481,
 in insert\n if not self.pre_insert(db):\n', 
' File "build/bdist.linux-x86_64/egg/testmanager/model.py", line 86, 
in pre_insert\n AbstractWikiPageWrapper.pre_insert(self, db)\n', ' 
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 934, 
in pre_insert\n wikipage.save(self.author, \'\', self.remote_addr)\n', '
File "/usr/lib/python2.6/site-packages/trac/wiki/model.py", line 126, 
in save\n @self.env.with_transaction(db)\n']

attached more information

#9041 Test Manager installation closed blocker high defect Roberto Longobardi 13 years ago

i'm trying to install test manager via admin page in trac, but the plugin does not appear in plugin list.

I'm also using auto upgrade plugin and trac is running in a virtual machine with windows 7.

Trac: 0.12.2 Python: 2.5.4

#9044 csv import not possible with agilo plugin closed normal normal defect Roberto Longobardi 13 years ago

hello roberto,

in combination with a running agilo plugin it's not possible to do an csv import of testcases! the "browse" button is not working.

Regards Andreas

#9045 custom fields in ie8 not editable closed normal highest defect Roberto Longobardi 13 years ago

the custom fields in the testcases are not editable in InternetExplorer8! with firefox I have no problems.

#9049 comments for each testcase at testplan closed normal normal enhancement Roberto Longobardi 13 years ago

hello roberto,

we have a new feature request and maybe you also will need it.

we want to insert a comment at each tescase in combination with the testplan. our testers want to store information about the test execution (independent if the test faild or was ok) of the actual testplan. additional there should be at the testcase a link or a box where you see all the comments which where added to different testplans.

I hope you can add such feature to your great plugin.

THANKS Andreas

#9077 Ability to separate and report on test plans by product closed normal normal enhancement Roberto Longobardi 13 years ago

I am evaluating Test Manager for Trac to use at my company. We have multiple products each have separate test cases and test plans. I don't currently see a way to separate the test plans by product especially when looking at the reports. It would provide a huge jump in functionality if I could group test plans on some additional criteria. Thanks! Awesome work.

#9089 way to eliminate massive test cases? closed normal high enhancement Roberto Longobardi 13 years ago

Hello,

Load many test cases, however, in some cases need to move several test cases. The only way to do was copy and paste the test cases in the new location and eliminate cases of the previous location.

3 times I had to eliminate 50 individual test cases, which becomes very tedious.

Is there any way to eliminate massive test cases? similar to the current way to copy / paste test cases.

regards Christopher

christopher.paredes@…

#9135 Spanish translation testmanagerForTracPlugin closed normal normal enhancement Roberto Longobardi 13 years ago

perform the Spanish translation of the plugin

#9141 Update installation 1.4.6 -> 1.4.7 not possible closed normal highest defect Roberto Longobardi 13 years ago

Hello Roberto,

the update installation 1.4.6 -> 1.4.7 failed !!!

[root@atpc03nd testmanager]# trac-admin /data/trac/nexus upgrade --no-backup
InternalError: current transaction is aborted, commands ignored until end of transaction block
[root@atpc03nd testmanager]# tail -100 /data/trac/nexus/log/trac.log
2011-08-31 12:50:14,524 Trac[loader] DEBUG: Loading trac.ticket.web_ui from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,524 Trac[loader] DEBUG: Loading trac.timeline from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,527 Trac[loader] DEBUG: Loading trac.versioncontrol.admin from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,529 Trac[loader] DEBUG: Loading trac.versioncontrol.svn_authz from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,530 Trac[loader] DEBUG: Loading trac.versioncontrol.svn_fs from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,534 Trac[loader] DEBUG: Loading trac.versioncontrol.svn_prop from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,547 Trac[loader] DEBUG: Loading trac.versioncontrol.web_ui from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,548 Trac[loader] DEBUG: Loading trac.web.auth from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,554 Trac[loader] DEBUG: Loading trac.web.session from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,555 Trac[loader] DEBUG: Loading trac.wiki.admin from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,555 Trac[loader] DEBUG: Loading trac.wiki.interwiki from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,559 Trac[loader] DEBUG: Loading trac.wiki.macros from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,559 Trac[loader] DEBUG: Loading trac.wiki.web_api from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,560 Trac[loader] DEBUG: Loading trac.wiki.web_ui from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,561 Trac[loader] DEBUG: Loading tracgenericclass from /usr/lib/python2.6/site-packages/TracGenericClass-1.0.7-py2.7.egg
2011-08-31 12:50:14,561 Trac[loader] DEBUG: Loading tracgenericworkflow from /usr/lib/python2.6/site-packages/TracGenericWorkflow-1.0.2-py2.7.egg
2011-08-31 12:50:14,562 Trac[loader] DEBUG: Loading tracopt.mimeview.enscript from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,563 Trac[loader] DEBUG: Loading tracopt.mimeview.php from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,565 Trac[loader] DEBUG: Loading tracopt.perm.authz_policy from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,572 Trac[loader] DEBUG: Loading tracopt.perm.config_perm_provider from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,573 Trac[loader] DEBUG: Loading tracopt.ticket.commit_updater from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,576 Trac[loader] DEBUG: Loading tracopt.ticket.deleter from /usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg
2011-08-31 12:50:14,602 Trac[default_workflow] DEBUG: Workflow actions at initialization: {u'reject_accepted': {u'operations': [u'set_owner_to_reporter'], u'name': u'need more input', u'default': 0, 'newstate': u'incomplete', 'oldstates': [u'new', u'reopened:w', u'accepted', u'planned', u'implemented'], u'permissions': [u'REQUIREMENTS_ADMIN']}, u'reset': {'operations': [], u'name': u'reset to new (bad state)', u'default': -1, 'newstate': u'new', 'oldstates': [u'assigned', u'corrected', u'resolved'], u'permissions': [u'TICKET_ADMIN']}, u'resolve': {u'operations': [u'set_resolution'], u'name': u'resolve', u'default': -2, 'newstate': u'closed', u'set_resolution': u'implemented', 'oldstates': [u'implemented'], u'permissions': [u'REQUIREMENTS_ADMIN']}, u'resolve_reject': {u'operations': [u'set_resolution'], u'name': u'close', u'default': 0, 'newstate': u'closed', u'set_resolution': u'rejected,duplicate', 'oldstates': [u'new', u'reopened', u'accepted', u'planned', u'implemented'], u'permissions': [u'REQUIREMENTS_ADMIN']}, u'accept': {u'operations': [u'set_owner'], u'name': u'accept', u'default': 0, 'newstate': u'accepted', 'oldstates': [u'new', u'reopened'], u'set_owner': u'JoergWitzmann', u'permissions': [u'REQUIREMENTS_ADMIN']}, u'leave': {u'operations': [u'leave_status'], u'name': u'leave', u'default': 1, 'newstate': u'*', 'oldstates': [u'*'], 'permissions': []}, u'reopen_closed': {u'operations': [u'del_resolution'], u'name': u'reopen closed', u'default': 0, 'newstate': u'reopened', 'oldstates': [u'closed'], u'permissions': [u'REQUIREMENTS_ADMIN']}, u'plan': {u'operations': [u'set_owner'], u'name': u'plan for implementation', u'default': 0, 'newstate': u'planned', 'oldstates': [u'accepted'], u'set_owner': u'FranzFraberger, PaulProhaczka', u'permissions': [u'REQUIREMENTS_ADMIN']}, u'reassign': {u'operations': [u'set_owner'], u'name': u'reassign', u'default': 0, 'newstate': u'*', 'oldstates': [u'*'], u'permissions': [u'REQUIREMENTS_ADMIN\nmylyn = assigned', u'corrected', u'resolved -> *']}, u'mylyn': {'operations': [], u'name': u'mylyn only serach states at default workflow', u'default': 0, 'newstate': '', 'oldstates': [], u'permissions': [u'MYLYN_HIDE_IT']}, u'reopen_incomplete': {u'operations': [u'del_resolution'], u'name': u'reopen incomplete', u'default': 0, 'newstate': u'reopened', 'oldstates': [u'incomplete'], u'permissions': [u'REQUIREMENTS_ADMIN']}, u'implement': {'operations': [], u'name': u'implementation finished', u'default': 0, 'newstate': u'implemented', 'oldstates': [u'planned'], u'permissions': [u'TICKET_MODIFY']}, '_reset': {'operations': ['reset_workflow'], 'name': 'reset', 'default': 0, 'newstate': 'new', 'oldstates': [], 'permissions': []}}

2011-08-31 12:50:14,602 Trac[default_workflow] WARNING: Ticket workflow action 'mylyn' doesn't define any transitions
2011-08-31 12:50:14,603 Trac[util] DEBUG: SQL: "SELECT value FROM system WHERE name='database_version'"
2011-08-31 12:50:14,606 Trac[util] DEBUG: SQL: 'select count(*) from testcase'
2011-08-31 12:50:14,607 Trac[util] DEBUG: SQL: 'select count(*) from testplan'
2011-08-31 12:50:14,608 Trac[util] DEBUG: SQL: 'select count(*) from testconfig'
2011-08-31 12:50:14,609 Trac[util] DEBUG: SQL: 'select count(*) from testcaseinplan'
2011-08-31 12:50:14,610 Trac[util] DEBUG: SQL: 'select count(*) from testcasehistory'
2011-08-31 12:50:14,611 Trac[util] DEBUG: SQL: 'select count(*) from testmanager_templates'
2011-08-31 12:50:14,612 Trac[util] DEBUG: execute exception: ProgrammingError('relation "testmanager_templates" does not exist\nLINE 1: select count(*) from testmanager_templates\n                             ^\n',)
2011-08-31 12:50:14,613 Trac[model] DEBUG: Need to create db tables for class 'testmanager_templates'.
2011-08-31 12:50:14,613 Trac[env] WARNING: Component <testmanager.model.TestManagerModelProvider object at 0x929862c> requires environment upgrade
2011-08-31 12:50:14,614 Trac[util] DEBUG: SQL: "SELECT value FROM system WHERE name='database_version'"
2011-08-31 12:50:14,615 Trac[util] DEBUG: SQL: 'select count(*) from testcase'
2011-08-31 12:50:14,616 Trac[util] DEBUG: SQL: 'select count(*) from testplan'
2011-08-31 12:50:14,617 Trac[util] DEBUG: SQL: 'select count(*) from testconfig'
2011-08-31 12:50:14,617 Trac[util] DEBUG: SQL: 'select count(*) from testcaseinplan'
2011-08-31 12:50:14,618 Trac[util] DEBUG: SQL: 'select count(*) from testcasehistory'
2011-08-31 12:50:14,619 Trac[util] DEBUG: SQL: 'select count(*) from testmanager_templates'
2011-08-31 12:50:14,619 Trac[util] DEBUG: execute exception: ProgrammingError('relation "testmanager_templates" does not exist\nLINE 1: select count(*) from testmanager_templates\n                             ^\n',)
2011-08-31 12:50:14,620 Trac[model] DEBUG: Need to create db tables for class 'testmanager_templates'.
2011-08-31 12:50:14,620 Trac[util] DEBUG: SQL: 'select count(*) from resourceworkflowstate'
2011-08-31 12:50:14,621 Trac[env] INFO: testmanager.model.TestManagerModelProvider upgrading...
2011-08-31 12:50:14,622 Trac[util] DEBUG: SQL: 'select count(*) from testcase'
2011-08-31 12:50:14,622 Trac[util] DEBUG: SQL: 'select count(*) from testplan'
2011-08-31 12:50:14,623 Trac[util] DEBUG: SQL: 'select count(*) from testconfig'
2011-08-31 12:50:14,624 Trac[util] DEBUG: SQL: 'select count(*) from testcaseinplan'
2011-08-31 12:50:14,624 Trac[util] DEBUG: SQL: 'select count(*) from testcasehistory'
2011-08-31 12:50:14,625 Trac[util] DEBUG: SQL: 'select count(*) from testmanager_templates'
2011-08-31 12:50:14,626 Trac[util] DEBUG: execute exception: ProgrammingError('relation "testmanager_templates" does not exist\nLINE 1: select count(*) from testmanager_templates\n                             ^\n',)
2011-08-31 12:50:14,626 Trac[model] DEBUG: Need to create db tables for class 'testmanager_templates'.
2011-08-31 12:50:14,627 Trac[model] INFO: Upgrading DB...
2011-08-31 12:50:14,627 Trac[util] DEBUG: SQL: 'select count(*) from testcase'
2011-08-31 12:50:14,628 Trac[util] DEBUG: SQL: 'select count(*) from testplan'
2011-08-31 12:50:14,628 Trac[util] DEBUG: SQL: 'select count(*) from testconfig'
2011-08-31 12:50:14,629 Trac[util] DEBUG: SQL: 'select count(*) from testcaseinplan'
2011-08-31 12:50:14,630 Trac[util] DEBUG: SQL: 'select count(*) from testcasehistory'
2011-08-31 12:50:14,631 Trac[util] DEBUG: SQL: 'select count(*) from testmanager_templates'
2011-08-31 12:50:14,631 Trac[util] DEBUG: execute exception: ProgrammingError('relation "testmanager_templates" does not exist\nLINE 1: select count(*) from testmanager_templates\n                             ^\n',)
2011-08-31 12:50:14,631 Trac[model] INFO: Creating base table testmanager_templates...
2011-08-31 12:50:14,632 Trac[model] DEBUG: CREATE TABLE "testmanager_templates" (
    "id" text,
    "name" text,
    "type" text,
    "description" text,
    "content" text,
    CONSTRAINT "testmanager_templates_pk" PRIMARY KEY ("id","name","type")
)
2011-08-31 12:50:14,632 Trac[util] DEBUG: SQL: 'CREATE TABLE "testmanager_templates" (\n    "id" text,\n    "name" text,\n    "type" text,\n    "description" text,\n    "content" text,\n    CONSTRAINT "testmanager_templates_pk" PRIMARY KEY ("id","name","type")\n)'
2011-08-31 12:50:14,633 Trac[util] DEBUG: execute exception: InternalError('current transaction is aborted, commands ignored until end of transaction block\n',)
2011-08-31 12:50:14,634 Trac[model] ERROR: ('InternalError', '<no args>', ['  File "/usr/lib/python2.6/site-packages/TracGenericClass-1.0.7-py2.7.egg/tracgenericclass/model.py", line 1286, in upgrade_db\n    cursor.execute(stmt)\n', '  File "/usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg/trac/db/util.py", line 56, in execute\n    r = self.cursor.execute(sql)\n'])
2011-08-31 12:50:14,634 Trac[model] ERROR: Exception during database creation.
2011-08-31 12:50:14,639 Trac[console] ERROR: Exception in trac-admin command:
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg/trac/admin/console.py", line 107, in onecmd
    rv = cmd.Cmd.onecmd(self, line) or 0
  File "/usr/lib/python2.6/cmd.py", line 218, in onecmd
    return self.default(line)
  File "/usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg/trac/admin/console.py", line 266, in default
    return cmd_mgr.execute_command(*args)
  File "/usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg/trac/admin/api.py", line 123, in execute_command
    return f(*fargs)
  File "/usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg/trac/env.py", line 782, in _do_upgrade
    self.env.upgrade(backup=no_backup is None)
  File "/usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg/trac/env.py", line 525, in upgrade
    with_transaction(self)(participant.upgrade_environment)
  File "/usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg/trac/db/api.py", line 77, in transaction_wrapper
    fn(ldb)
  File "build/bdist.linux-i686/egg/testmanager/model.py", line 649, in upgrade_environment
    upgrade_db(self.env, self.SCHEMA, db)
  File "/usr/lib/python2.6/site-packages/TracGenericClass-1.0.7-py2.7.egg/tracgenericclass/model.py", line 1286, in upgrade_db
    cursor.execute(stmt)
  File "/usr/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg/trac/db/util.py", line 56, in execute
    r = self.cursor.execute(sql)
InternalError: current transaction is aborted, commands ignored until end of transaction block
InternalError: current transaction is aborted, commands ignored until end of transaction block
[root@atpc03nd testmanager]#
#9167 installation of 1.4.7 with postgres database not possible closed blocker highest defect Roberto Longobardi 13 years ago

The installation of 1.4.7 (unpatched) on a new trac project with postgres database is not possible!

TracGenericClass ... OK TracGenericWorkflow ... FAILED

# trac-admin /data/trac/newt upgrade --no-backup
InternalError: current transaction is aborted, commands ignored until end of transaction block
#9187 Current test status report should consider only last result of a testcase in the plan closed blocker highest defect Roberto Longobardi 13 years ago

Currently when I select a testplan with two test cases the pie chart totals at 7 results. This information is easily available already in test activity trend stats. What would be useful to see here, is the number of cases that have last status as success and fail.

#9208 Test plan with only selected test cases from the catalog, take snapshot version of test cases closed normal normal enhancement Roberto Longobardi 12 years ago

See forum post: https://sourceforge.net/projects/testman4trac/forums/forum/1200598/topic/4718868

#9213 Test Management Statistics closed normal normal defect Roberto Longobardi 12 years ago

Hello,

I have a problem with the display of statistics. When choosing a Test Stats option displays the following message 'No definition YAHOO' and 'myCChart Is empty and not an object' I use 1) Python 2.7 2) trac 12.1 3) YUI library 2.9.0 4) Environment without access internet

What i doing wrong ? Thank you in advance.

#9287 new browser tab for existing testcases closed normal normal enhancement Roberto Longobardi 12 years ago

Why do we get a new browser tab when we try to open a existing testcase at catalog or testplan ? The links are definded with

target="_blank"

Without that target it would be ok.

BR Andreas

#9288 CamelCase word at testcase/catalog name new normal normal defect Roberto Longobardi 12 years ago

We have a "MyCamelCase" word in our name for a testcase/catalog.

Trac will link it to wikipage and diesplays "MyCamelCase?", because this link is not existing. When we add "!" in front of the Name "MyCamelCase" trac will not try to display a link. But in the tree or table views we will see the "!" - please cut the "!" in front of CamelCase Names.

#9297 can't print testplan table overview closed normal normal defect Roberto Longobardi 12 years ago

We can't print the testplan table overview! The table with the status of the testcases is missing on the paper. There is also no good way to export that displayed data to execl or word :-(

#9510 TestStats for single Testplans at 1.4.8 not working - patched closed blocker highest defect Roberto Longobardi 12 years ago

There is a bug in your SQL statement! Single TestPlan statistics are not running at 1.4.8!

patched line 115 at stats.py:

sql = "SELECT COUNT(*) FROM testcasehistory th1, (SELECT id, planid, max(time) as maxtime FROM testcasehistory WHERE planid = '%s' AND time > %s AND time <= %s GROUP BY planid, id) th2 WHERE th1.time = th2.maxtime AND th1.id = th2.id AND th1.planid = th2.planid AND th1.status = '%s'" % (testplan, to_any_timestamp(from_date), to_any_timestamp(at_date), status)

Regards, Andreas

#9530 Expand all / Collapse all is not running closed normal normal defect Roberto Longobardi 12 years ago

In 1.4.8 the "Expand all / Collapse all" feature is not running!

There is a javascript bug!

#9614 Permission - no full admin new normal normal enhancement Roberto Longobardi 12 years ago

The current permissions set seems to have a missing permission level. A TEST_ADMIN should exist to encompass all the permissions. QA staff and/or managers would be the likely individuals to receive this permission.

#9654 Error when creating test plans closed normal normal defect Roberto Longobardi 12 years ago

Running version 1.4.8 and Trac 0.12. Catalogs and Test Cases can be created fine with no errors. However whenever a Test Plan is created, the Plan creation works, but after that, anytime I try to view the Catalog that its associated with, I get the following error:

ParseError: malformed start tag: line 1, column 801

I'm currently working around this by commenting out line 247 in wiki.py

self._get_testplan_list_markup(formatter, cat_name, mode, fulldetails)

as the problem appears to be with this function but then I can see the Catalog but not any of its Test Plans.

#9663 Stats - Current test status for All Tests wont fit closed normal normal defect Roberto Longobardi 12 years ago

Hi there,

first, nice plugin, works rly fine for me and makes my work a lot easier :)

Now for the Problem: If i choose the Stats/Current test Status, with settings set to All Test Plans, somehow the stats sum up the untested test cases, but not the tested ones For explanation: I have 1 Test Catalog with 2 Test Plans running(both including all TCs from the catalog). The Catalog includes ~200 Test Cases. Now the Statistic for all TPs recognizes both TPs use the same TCs, so it says ~200 untested TCs which is absolutely ok for me. But as the test proceeds, i recognized that failed and succeeded tests aren't sumed up, so after both TPs finished, i have like 350 sucessful tested TCs, 50 failed and -200 untested.

I hope my explanations and my english is good enough to bring out the problem :)

greetz and keep up the good work

#9672 TestManager Fails with MySQL closed critical high defect Roberto Longobardi 12 years ago


I am trying to set up test manager as we migrate to a new system. I have tested this on two systems (System A and System B) Here are my steps and environment:

System A::

{ Ubuntu 10.10 }

{ Trac: .12 }

{ Python: 2.6.6 }

{ easy_install: distro 0.6.14 }

{ Genshi: .6 }

{ MySQL: ver 14.14 distro 5.1.49 on the LOCAL machine }

{ Apache: 2.2.16 }

{ mod_wsgi: 3.3 }

{ MySQLforPython: 1.2.3 }

{ Authentication: LDAP }


System B ::

{ Ubuntu 10.10 }

{ Trac: .12.2 }

{ Python: 2.6.6 }

{ easy_install: distro 0.6.14 }

{ Genshi: .6 }

{ MySQL: ver 14.14 distro 5.1.49 on the REMOTE machine }

{ Apache: 2.2.16 }

{ mod_wsgi: 3.3 }

{ MySQLforPython: 1.2.3 }

{ Authentication: LDAP }


Installations:

  • As instructed via the BUILD.txt and INSTALLATION.txt files.
  • Did NOT opt to build into the environment for System B.
  • Did opt to build into the environment for System A.

Tests:

Enabled all componets via Admin GUI

Restart Apache

Upgrade Database via sudo trac-admin /path/to/my/environment upgrade

Upgrade Wiki via sudo trac-admin /path/to/my/environment wiki upgrade

Get 500 interal server error.

Log files attached.


NOTE: Error in both:

Error getting configuration property 'testcatalog_dbversion' from table 'tracgenericclassconfig'


NOTE: A seperate issue with System B, it had to be upgraded with flag --no-backup

#9725 Quick statut changer in Test Plan not appears in Google Chrome closed minor low defect Roberto Longobardi 12 years ago

Client :
Google Chrome 16.0.912.75 m
Windows 7 SP1

Serveur :
OS X Lion 10.7.2
Apache 2.2.20
Trac 0.12
Python 2.7
TestManagerForTracPlugin 1.4.9

In the Test plan to change quickly the statut of a test case (Succesful, Untested, Failed) Chrome give me this error :

event.layerX and event.layerY are broken and deprecated in WebKit. They will be removed from the engine in the near future.

But work great with Firefox 9.0.1

#9751 Ability to sort catalogs closed normal normal enhancement Roberto Longobardi 12 years ago

Within a catalog cases are sorted by name, you can have "1 first", "2 second" etc. However catalogs don't seem to be sorted at all only displayed in the order of creation.

Please add catalog sorting, showing first catalogs in alphabetical order, and then cases in alphabetical order, the same for catalogs and cases within catalogs.

#9754 Setting test result seemingly succeeds with expired login closed normal normal defect Roberto Longobardi 12 years ago

I've opened a testplan or a case in plan while logged in. Meanwhile my login has expired and I don't have test_execute permission any longer. Anonymous also doesn't have it. When I try to set test result it seemingly succeeds, orange icon is replaced by green one but the result isn't actually saved.

There should be a warning to avoid dataloss.

#9758 Can't delete Test Case in v1.4.9 closed normal normal defect Roberto Longobardi 12 years ago

To reproduce:

  • Click "Delete page" button at the bottom of a Test Case page.
  • Click "Delete page" button on confirmation page.

Test Case page is not deleted. Following error message is displayed:

Trac detected an internal error:
   NameError: global name 'custom_fields' is not defined


Python Traceback

Most recent call last:
   File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.6-py2.6.egg/trac/web/main.py", line 450, in _dispatch_request
      dispatcher.dispatch(req)
   File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.6-py2.6.egg/trac/web/main.py", line 206, in dispatch
      resp = chosen_handler.process_request(req)
   File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.6-py2.6.egg/trac/wiki/web_ui.py", line 147, in process_request
      self._do_delete(req, versioned_page)
   File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.6-py2.6.egg/trac/wiki/web_ui.py", line 253, in _do_delete
      page.delete(version, db)
   File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.6-py2.6.egg/trac/wiki/model.py", line 116, in delete
      listener.wiki_page_deleted(self)
   File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 98, in wiki_page_deletedFile "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 978, in deleteFile "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 669, in delete

System Information:

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7

Trac:	0.11.6
Python:	2.6.2 (release26-maint, Apr 19 2009, 01:58:18) [GCC 4.3.3]
setuptools:	0.6c9
SQLite:	3.6.10
pysqlite:	2.5.0
Genshi:	0.5.1
Pygments:	1.4
RPC:	1.0.6
CustomFieldAdmin:	0.2.2
Docutils:	0.5
jQuery:	1.2.6
#9776 Testplans not visible with latest Agilo Plugin closed normal normal defect Roberto Longobardi 12 years ago

Hello Roberto,

we have installed the latest testmanager 1.4.9 and the latest agilo-pro 1.3.6 plugin.

But the TestPlans cant be expanded - they are unvisible :-(

I've checked the code and found that the class collapsed is not defined with agilo css files ...

<fieldset id="objectChangeHistoryFields" class="collapsed">
<fieldset id="testPlanListFields" class="collapsed">
<fieldset id="testCaseHistoryFields" class="collapsed">

... as workaround I've changed the class, now i can see the fieldsets.

A second problem is the menue: When we are klicking at TestManager or TestStats , the Menu is empty - please look at attached picture.

BR Andreas

#9857 Deleted test plan is still shown in Test Stats closed normal normal defect Roberto Longobardi 12 years ago

Any test plan is shown in Test Stats page, even it's deleted. And there is no option to exclude such a test plan from Test Stats.

#9865 Corrupt database after activation of Plugin closed normal normal defect Roberto Longobardi 12 years ago

I installed TracGenericClass 1.1.1, TracGenericWorkflow 1.0.3 and activate them. Then I updated the database and restarted the Apache2. After this I installed TestManager 1.4.9 and activate it. Than i had to upgrade the TRAC Env. There was no Error-Message and the Debug-Log looks good (see attached file). But when I restartet the Apache2 and open the Trac in my browser I have still the message "Database need to be upgraded". What went wrong?

#9914 Test plan report that lists failed Test Cases along with their defect Tickets closed normal normal enhancement Roberto Longobardi 12 years ago

Is it possible to have a Tes Plan Report that lists all the failed Test Cases along with their defect Tickets?

This woulld be a really useful Project report.

#9950 easy_install not available new minor normal defect Roberto Longobardi 12 years ago

seems like if the INSTALL.txt file has the correct installation order, it might be just as much typing to include those instructions as a shell script or other method that works just like 99% of the other modules here.. nice project!

#9953 Changing a testcase custom field value gives and error closed normal normal defect Roberto Longobardi 12 years ago

Hello, Every time I try to modify the value of a custom field, I get a popup with the following error message:

An error occurred performing the operation.

Please try again. 

The thing is, if I reload the page, the change is done and it appears in the changes history, despite the error message.

If i put a breakpoint with Firebug in testmanager.js/doAjaxCall() that is called from testmanager.js/sendUpdate() and look at the return value, it is:

"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> </html>"

The expected value should be "OK", otherwise an error is generated

The trac log shows the following:

2012-04-10 17:55:41,707 Trac[model] DEBUG: Provider for realm testcase is <testmanager.model.TestManagerModelProvider object at 0x02DFE5B0>
2012-04-10 17:55:41,707 Trac[model] DEBUG: Object key is {u'id': u'8'}
2012-04-10 17:55:41,707 Trac[model] DEBUG: >>> create_instance - testcase {u'id': u'8'}
2012-04-10 17:55:41,707 Trac[model] DEBUG: Title: None
2012-04-10 17:55:41,707 Trac[model] DEBUG: Description: None
2012-04-10 17:55:41,707 Trac[model] DEBUG: >>> get_fields
2012-04-10 17:55:41,707 Trac[model] DEBUG: <<< get_fields
2012-04-10 17:55:41,709 Trac[model] DEBUG: >>> _fetch_object
2012-04-10 17:55:41,709 Trac[model] DEBUG: Searching for testcase: WHERE 1=1 AND id=%%s
2012-04-10 17:55:41,709 Trac[model] DEBUG: id = 8
2012-04-10 17:55:41,709 Trac[model] DEBUG: Object found.
2012-04-10 17:55:41,710 Trac[model] DEBUG: Title: testcase7
2012-04-10 17:55:41,710 Trac[model] DEBUG: <<< _fetch_object
2012-04-10 17:55:41,710 Trac[model] DEBUG: Exists: True
2012-04-10 17:55:41,710 Trac[model] DEBUG: {u'testcaseproperty1': u'Default value', u'testcaseproperty': u'Default value', 'page_name': u'TC_TT0_TT1_TC8', 'id': u'8'}
2012-04-10 17:55:41,710 Trac[model] DEBUG: <<< create_instance
2012-04-10 17:55:41,710 Trac[model] DEBUG: Value before: Default value
2012-04-10 17:55:41,710 Trac[model] DEBUG: Changing field value.
2012-04-10 17:55:41,710 Trac[model] DEBUG: Value after: modified
2012-04-10 17:55:41,710 Trac[model] DEBUG: >>> save_changes
2012-04-10 17:55:41,721 Trac[model] DEBUG: <<< save_changes

My environment is: trac 0.12 mod_wsgi python 2.7 tracgenericclass-1.1.2-py2.7.egg tracgenericworkflow-1.0.3-py2.7.egg testmanager-1.4.10-py2.7.egg

I have added this 2 custom testcase fields in trac.ini:

[testcase-tm_custom]
testcaseproperty = text
testcaseproperty.value = Default value
testcaseproperty1 = text
testcaseproperty1.value = Default value

I'm using Firefox 11 + Firebug

#10043 Deleting "zombie" TestPlans closed normal normal defect Roberto Longobardi 12 years ago
  • You have a TestCatalog with some TestCases and one or more TestPlans.
  • When you delete the TestCatalog and go to the "Test Stats"-Section, all the TestPlan are still listed.

There is no option to delete these TestPlans afterwards.

Link to forum topic: http://sourceforge.net/projects/testman4trac/forums/forum/1200599/topic/5279995

#10071 Do not use apostrophes in test case names closed major normal defect Roberto Longobardi 12 years ago

I happened to put an apostrophe into the name of a test case page and later tried to rename that page. The rename operation had the resulted in an Internal Error:

TypeError: coercing to Unicode: need string or buffer, NoneType found

... and all subsequent access to test catalogs and test cases failed with another Internal error.

The cure is to delete the wiki page and the testcase from the database (table wiki and table testcase.

I've put severity at major - it is unhealthy to people with high blood pressure if it happens in a large set of test cases.

Regards Theodor

PS. TestManager: Really nice work!


TestManager 1.4.10, Python 2.6, RHEL

Python Traceback Most recent call last:

File "/usr/lib/python2.6/site-packages/trac/web/main.py", line 514, in _dispatch_request
  dispatcher.dispatch(req)
File "/usr/lib/python2.6/site-packages/trac/web/main.py", line 261, in dispatch
  content_type)
File "/usr/lib/python2.6/site-packages/trac/web/chrome.py", line 843, in render_template
  stream |= self._filter_stream(req, method, filename, stream, data)
File "/usr/lib/python2.6/site-packages/Genshi-0.6-py2.6.egg/genshi/core.py", line 132, in __or__
  return Stream(_ensure(function(self)), serializer=self.serializer)
File "/usr/lib/python2.6/site-packages/trac/web/chrome.py", line 994, in inner
  data)
File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 124, in filter_stream
  return self._testcase_wiki_view(req, formatter, planid, page_name, stream)
File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 374, in _testcase_wiki_view
  tag.input(type='button', value=_("Open a Ticket on this Test Case"), onclick='creaTicket("'+tc_name+'", "", "", "'+summary+'")'),
#10077 upgrade from 1.4.6 to 1.4.7 has database transaction error closed normal normal defect Roberto Longobardi 12 years ago

Hello,

We are attempting to upgrade TestManager to the latest version and as a stepping stone, we are going to upgrade from 1.4.6 to 1.4.7 to 1.4.8 to the latest. When we attempt to upgrade from 1.4.6 to 1.4.7, we get the following error:

~/testman4trac.1.4.7/bin$ sudo trac-admin /var/lib/trac/prod upgrade
ProgrammingError: current transaction is aborted, commands ignored until end of transaction block

The installation failed and we need to reinstall TestManager v1.4.6 to have trac continue to work.

Here is our system info:

OS: Ubuntu 8.04.4 LTS
Python: Python 2.5.2
database: PostgreSQL 8.2.7
trac: 0.12.3

We built the egg from the sources since we have Python version 2.5.2. There was no errors when the egg was built.

Any help would be greatly appreciated.

#10131 ProgrammingError: operator does not exist: text = integerLINE 1: DELETE FROM testcaseinplan WHERE id = 398 ^HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. closed normal normal defect Roberto Longobardi 12 years ago

How to Reproduce

While doing a POST operation on /wiki/TC_TT36_TT42_TT154_TC398, Trac issued an internal error.

Please let me know what other info you need to debug this... basically was just trying to delete a test case. eric@…

Request parameters:

{'__FORM_TOKEN': u'e1c5260b79502c4db55a8ea9',
 'action': u'delete',
 'page': u'TC_TT36_TT42_TT154_TC398'}

User agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11

System Information

Trac 0.12.2
Babel 0.9.6 (translations unavailable)
Docutils 0.8.1
Genshi 0.6
mod_python 3.3.1
psycopg2 2.4.5
Pygments 1.4
Python 2.7.3 (default, Apr 20 2012, 23:04:22)
[GCC 4.6.3]
pytz 2011k
setuptools 0.6
Subversion 1.6.17 (r1128011)
jQuery 1.4.2

Enabled Plugins

TestManager 1.4.11
TracGenericClass 1.1.3
TracGenericWorkflow 1.0.3

Python Traceback

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/trac/web/main.py", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.7/dist-packages/trac/web/main.py", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/lib/python2.7/dist-packages/trac/wiki/web_ui.py", line 147, in process_request
    self._do_delete(req, versioned_page)
  File "/usr/lib/python2.7/dist-packages/trac/wiki/web_ui.py", line 254, in _do_delete
    @self.env.with_transaction()
  File "/usr/lib/python2.7/dist-packages/trac/db/api.py", line 77, in transaction_wrapper
    fn(ldb)
  File "/usr/lib/python2.7/dist-packages/trac/wiki/web_ui.py", line 262, in do_delete
    page.delete(version, db)
  File "/usr/lib/python2.7/dist-packages/trac/wiki/model.py", line 114, in delete
    listener.wiki_page_deleted(self)
  File "/var/lib/trac/plugins/TestManager-1.4.11-py2.7.egg/testmanager/wiki.py", line 98, in wiki_page_deleted
    tc.delete(del_wiki_page=False)
  File "/var/lib/trac/plugins/TracGenericClass-1.1.3-py2.7.egg/tracgenericclass/model.py", line 980, in delete
    AbstractVariableFieldsObject.delete(self, db)
  File "/var/lib/trac/plugins/TracGenericClass-1.1.3-py2.7.egg/tracgenericclass/model.py", line 675, in delete
    self.post_delete(db)
  File "/var/lib/trac/plugins/TestManager-1.4.11-py2.7.egg/testmanager/model.py", line 336, in post_delete
    cursor.execute('DELETE FROM testcaseinplan WHERE id = %s' % self['id'])
  File "/usr/lib/python2.7/dist-packages/trac/db/util.py", line 66, in execute
    return self.cursor.execute(sql)
ProgrammingError: operator does not exist: text = integer
LINE 1: DELETE FROM testcaseinplan WHERE id = 398
                                            ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.

#10217 Deleting a Test Case, deleting Test Catalogs containing Test items closed normal normal defect Roberto Longobardi 12 years ago

Attached a patch for model.py to allow the deletion of test cases (at least Pg does complain about a missing type cast otherwise)

Also attached a debug trace of the error caused by trying to delete a Test Catalog which contains other Test Catalogs - Could it be that the top-level Test Catalog Wiki-Page is deleted too early?

#10271 description is empty in tabular view closed normal normal defect Roberto Longobardi 12 years ago

check the code testman4trac/testman4trac/trunk/testmanager/util.py, line 45, found CRLF ('\r\n') is used as separator to partition title and description, but I only found '\n' at the end of line in wiki text, so this partition will always failed, lead description to empty, use '\n' instead of CRLF can fix this problem.

#10293 New install impossible on Trac 1.0beta1 closed normal normal defect Benjamin Lau 12 years ago

I was trying to evaluate test manager for trac on a fresh install of 1.0beta1 and ran into the following error:

19:53:36 Trac[env] ERROR: Exception caught while checking for upgrade: 
Traceback (most recent call last):
  File "build/bdist.macosx-10.7-intel/egg/trac/env.py", line 832, in open_environment
    needs_upgrade = env.needs_upgrade()
  File "build/bdist.macosx-10.7-intel/egg/trac/env.py", line 665, in needs_upgrade
    if participant.environment_needs_upgrade(db):
  File "build/bdist.macosx-10.7-intel/egg/tracgenericclass/model.py", line 1276, in environment_needs_upgrade
    return (self._need_initialization(db) or self._need_upgrade(db))
  File "build/bdist.macosx-10.7-intel/egg/tracgenericclass/model.py", line 1311, in _need_initialization
    return self._need_upgrade(db)
  File "build/bdist.macosx-10.7-intel/egg/tracgenericclass/model.py", line 1322, in _need_upgrade
    db.rollback()
  File "build/bdist.macosx-10.7-intel/egg/trac/db/util.py", line 107, in __getattr__
    raise AttributeError
AttributeError:

Looking into this it looks like a common problem that many plug-ins have been having during the 1.0 release cycle. #10230 #9742 Looking at the solution used in #10230 I've produced a patch for test manager that at least allows it to install. I'm not sure if this is the right way to deal with this since it looks like #9742 uses a slightly more complex approach.

#10294 New install impossible on Trac 1.0beta1 closed normal normal defect Roberto Longobardi 12 years ago

I was trying to evaluate test manager for trac on a fresh install of 1.0beta1 and ran into the following error:

19:53:36 Trac[env] ERROR: Exception caught while checking for upgrade: 
Traceback (most recent call last):
  File "build/bdist.macosx-10.7-intel/egg/trac/env.py", line 832, in open_environment
    needs_upgrade = env.needs_upgrade()
  File "build/bdist.macosx-10.7-intel/egg/trac/env.py", line 665, in needs_upgrade
    if participant.environment_needs_upgrade(db):
  File "build/bdist.macosx-10.7-intel/egg/tracgenericclass/model.py", line 1276, in environment_needs_upgrade
    return (self._need_initialization(db) or self._need_upgrade(db))
  File "build/bdist.macosx-10.7-intel/egg/tracgenericclass/model.py", line 1311, in _need_initialization
    return self._need_upgrade(db)
  File "build/bdist.macosx-10.7-intel/egg/tracgenericclass/model.py", line 1322, in _need_upgrade
    db.rollback()
  File "build/bdist.macosx-10.7-intel/egg/trac/db/util.py", line 107, in __getattr__
    raise AttributeError
AttributeError:

Looking into this it looks like a common problem that many plug-ins have been having during the 1.0 release cycle. #10230 #9742 Looking at the solution used in #10230 I've produced a patch for test manager that at least allows it to install. I'm not sure if this is the right way to deal with this since it looks like #9742 uses a slightly more complex approach.

#10295 Trac detected an internal error: UnicodeError: source returned bytes, but no encoding specified closed normal normal defect Roberto Longobardi 12 years ago

After install test manager in Trac 1.0beta1 I get the following error when trying to load the Test Manager page:

 Trac detected an internal error:

UnicodeError: source returned bytes, but no encoding specified

I'm guessing this is related to this note about changes in the 1.0 API to genshi. But I'm not sure how to go about fixing it myself.

Here's the stack trace:

File "build/bdist.macosx-10.7-intel/egg/trac/web/main.py", line 490, in _dispatch_request
  dispatcher.dispatch(req)
File "build/bdist.macosx-10.7-intel/egg/trac/web/main.py", line 224, in dispatch
  content_type)
File "build/bdist.macosx-10.7-intel/egg/trac/web/chrome.py", line 968, in render_template
  stream |= self._filter_stream(req, method, filename, stream, data)
File "/Users/ben/tmp/trac/trac/genshi-trunk/genshi/core.py", line 133, in __or__
  return Stream(_ensure(function(self)), serializer=self.serializer)
File "build/bdist.macosx-10.7-intel/egg/trac/web/chrome.py", line 1147, in inner
  data)
File "build/bdist.macosx-10.7-intel/egg/testmanager/wiki.py", line 153, in filter_stream
  return self._catalog_wiki_view(req, formatter, page_name, stream)
File "build/bdist.macosx-10.7-intel/egg/testmanager/wiki.py", line 238, in _catalog_wiki_view
  HTML(self._build_catalog_tree(formatter.context, page_name, mode, fulldetails, table_columns, table_columns_map, custom_ctx)),
File "/Users/ben/tmp/trac/trac/genshi-trunk/genshi/input.py", line 436, in HTML
  return Stream(list(HTMLParser(BytesIO(text), encoding=encoding)))
File "/Users/ben/tmp/trac/trac/genshi-trunk/genshi/core.py", line 273, in _ensure
  event = stream.next()
File "/Users/ben/tmp/trac/trac/genshi-trunk/genshi/input.py", line 443, in _coalesce
  for kind, data, pos in chain(stream, [(None, None, None)]):
File "/Users/ben/tmp/trac/trac/genshi-trunk/genshi/input.py", line 335, in _generate
  raise UnicodeError("source returned bytes, but no encoding specified")
#10529 Sorting via internal ID closed normal normal enhancement Roberto Longobardi 11 years ago

Hello,

first I wanna thank you for that nice plugin. We're actually just begining to use it, and had a first look at it. It looks really useful, but there was just this one thing that bothered us. What we were really missing, was a practical function for the sorting. I know, there is a sorting available through the Admin tab, but sorting via name isn't really satisfactory, as you have to do lots of changes in the names if you insert a new case for a new feature like somewhere in the middle. (As you have to use numbers to sort the cases the way you want them) Our idea was, maybe it's possible to add a sorting via some kind of internal id, maybe with "sort up/down" buttons which pushes the case/folder higher/lower in the sortposition.

Best regards from Germany,

Raphael

#10566 Zombie test catalogs in template management page closed normal normal defect Roberto Longobardi 11 years ago

On the Template Admin page a long list of non existing test catalogs without names is displayed. The only catalogs I really have are the ones that have names. How can I get rid of the zombie catalogs in this list? I'm running Test Manager 1.5.2 on Trac 1.0.1.
No image "TestCatalogList.jpg" attached to Ticket #10566

#10567 Zombie test catalogs in template management page closed normal normal defect Roberto Longobardi 11 years ago

On the Template Admin page a long list of non existing test catalogs without names is displayed. The only catalogs I really have are the ones that have names. How can I get rid of the zombie catalogs in this list? I'm running Test Manager 1.5.2 on Trac 1.0.1.
Screenshot

#10568 Can't edit test case templates closed normal normal defect Roberto Longobardi 11 years ago

Trying to edit a test case template, even one that is not assigned to any test case results in the error message "UnboundLocalError: local variable 't_id' referenced before assignment.
Error message after template edit

#10569 Can't delete unused test case templates closed normal normal defect Roberto Longobardi 11 years ago

Trying to delete an unassigned test case template in the test manager template admin page results in a warning, that the template can't be deleted as it is in use by a test catalog. The warning appears also for templates that are not assigned to any catalog at all.

#10570 Link test cases to components new normal normal defect Roberto Longobardi 11 years ago

Hi Roberto,

I just had another idea for an enhancement. The idea was to add a combobox to choose a component (related to components for tickets) to the edit page of test cases / sub-cataloges. Would be really nice, so when you open a ticket to a test case you got that work done already ;)

greetz from Germany, Raphael

#10571 Wrong date format and missing date picker in test stats new normal normal defect Roberto Longobardi 11 years ago

Our Trac runs on a server with US locale and we have set the date format to ISO 8601 as we all hate the stupid American date format. Throughout the whole Trac installation we therefore see and can enter dates in the format YYYY-MM-DD except for the Test Stats page. The two date entry fields only accept the American date format MM/DD/YY and don't feature the new Trac wide date picker. Please allow and display dates in the format selected in the Trac Admin page and/or include the date picker.

#10578 Display Path for TestCaseInPlan new normal normal defect Roberto Longobardi 11 years ago

Hi Roberto,

and another one :)

I was wondering why Test Cases in Test Plans won't show the Path on top, like Test Cases in Test Catalogues do. Maybe you could add that.

regards, Raphael

#10668 Custom fields in test case not showing. new major high defect Roberto Longobardi 11 years ago

We are using Test Manager 1.4.10 and we're encountering an intermittent problem with custom fields not showing up in test case pages within test plans. We would try refreshing the page and the custom fields would either be displayed or not with no consistency. We are using IE 8 and Chrome version 22 browsers. Attached are images that show the HTML portions that should have been generated when it works and what HTML was missing when it fails.

#10671 import csv from exported testcatalogs/testplans new normal high enhancement Roberto Longobardi 11 years ago

Trac support with the current version an export function - but its useless if you can't import it again.

I would like to use this hack - but its a problem if I can't import the testcases/-plans from my testing environment to the working one.

On the other side, I would like to use this import function, to generate my testcatalogs ;) .

#10672 status summary for the directory in the testplans closed normal normal enhancement Roberto Longobardi 11 years ago

This trac-hack is great for Testing, but one problem is that the state are only for the testcases. A state for the directory of a testcase collection would be great to summarize the testcases.

In fact: If all testcases are 'successfull', the directory should be 'successfull' too. This can be set either by user or by trac.

This is usefull, because you can hide the cases by minimizing the directory.

#10683 Ability to record multiple successive occurrences of the same test case status new normal normal enhancement Roberto Longobardi 11 years ago

You cannot record multiple successive occurrences of the same test case status.

For example, if a test case fails several times, you cannot record it.

Only changes to the current status can be recorded.

#10760 Import test cases gives error with non-ASCII characters closed normal normal defect Roberto Longobardi 11 years ago

Importing a test catalog form a CSV file gives an error when the test case titles or descriptions contain non-ASCII characters.

A patch is attached to this ticket and will be release with the next Test Manager version.

#10764 Not able to create new TestPlans with 1.5.2 and Trac 0.12 and PostgreSQL assigned normal normal defect Roberto Longobardi 11 years ago

With Trac 0.12 and PostgreSQL there is a datatype issue. For example when trying to create a TestPlan Pg won't store it because the value for the "time" column does not fit into the integer type range.

As a work-around I changed the data type on my local instance using "alter table testplan alter column time type bigint;" but I guess resorting to bigint is not the nicest resolution.

Looks like

tracgenericclass/trunk/tracgenericclass/util.py:66 to_utimestamp(date_obj)

generate those too large values

INSERT INTO testplan (id,catid,page_name,name,author,time,contains_all,freeze_tc_versions) VALUES (E'42',E'43',E'TC_TT43',E'testtestplan',E'mkroell',1357563642946958,1,0)
#10801 Import from CSV should validate input and allow dry run of the import job new normal normal enhancement Roberto Longobardi 11 years ago

See this thread on the SourceForge forum for more details.

#10805 Remove empty sub catalogs from test plan accepted normal normal enhancement Roberto Longobardi 11 years ago

Sometimes we only small test runs with only some parts of the catalog. In a such an test plan we mentioned that sub catalogs without test cases are displayed, too. This leads to an messed up test plan. I think it wouldn't hurt someone when this sub catalogs aren't visible.

#10807 Cloning a test plan closed normal normal enhancement Roberto Longobardi 11 years ago

See the discussione here.

I'd like to have a plain clone of the test plan, with all it's tests set to status "to be tested". I'd like to be able to modify the name of the test plan, so that it does not state "v1.0 test plan (copy)" , but what I want it to say, e.g. "v1.2 test plan".

#10837 How to change the ticket template ? closed normal normal enhancement Roberto Longobardi 11 years ago

Hi,

First of all, big thanks for your great job !!! ;-) I wonder how to change the template of the ticket ? In fact i would like to set automatically some fields when using the open ticket feature from a test cases.

Thanks in advance for your answer.

Guillaume Chomat

#10849 Upgrade from 1.5.1 to 1.5.2 fails closed normal normal defect Roberto Longobardi 11 years ago

If i want to upgrade from plugin version 1.5.1 to 1.5.2 i get the following error:

OperationalError: table testcase already exists

command i used was: trac-admin d:\testproject upgrade

It was not the first time i updated the plugin. I had no problems with other versions.

Egg file: testman4trac.1.5.2-Py_2.7-Trac_0.12-1.0.zip
Trac: 0.12.2
#10907 Custom execution order for test cases closed normal normal enhancement Roberto Longobardi 11 years ago

See the discussion on the forum.

#10996 impossible to install the plugin closed normal normal defect Roberto Longobardi 11 years ago

I was trying to install testmanagerfortracplugin and everything looks fine while the installation. But it occurs an error when I open the "Test Stats" or "Test Manager" tab, because the system was not able to create the database tables. I have no clue what I did wrong. I installed the egg files in the correct order and restart the server every time. In the description you mention that a database upgrade command will be displayed, but the system never displayed me something like that. I finally execute the standard trac-admin upgrade command, but nothing changed.

Python Traceback

Most recent call last:
File "/usr/local/lib/python2.6/dist-packages/Trac-1.0.1-py2.6.egg/trac/web/main.py", line 497, in _dispatch_request
File "/usr/local/lib/python2.6/dist-packages/Trac-1.0.1-py2.6.egg/trac/web/main.py", line 214, in dispatch
File "build/bdist.linux-x86_64/egg/testmanager/stats.py", line 314, in process_request
File "build/bdist.linux-x86_64/egg/testmanager/stats.py", line 126, in _get_num_tcs_by_status
File "/usr/local/lib/python2.6/dist-packages/Trac-1.0.1-py2.6.egg/trac/db/util.py", line 66, in execute
File "/usr/local/lib/python2.6/dist-packages/Trac-1.0.1-py2.6.egg/trac/db/sqlite_backend.py", line 78, in execute
File "/usr/local/lib/python2.6/dist-packages/Trac-1.0.1-py2.6.egg/trac/db/sqlite_backend.py", line 56, in execute
File "/usr/local/lib/python2.6/dist-packages/Trac-1.0.1-py2.6.egg/trac/db/sqlite_backend.py", line 48, in _rollback_on_error
 

System Information:

User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22

Trac	1.0.1
Docutils	0.7
Genshi	0.7 (without speedups)
mod_python	3.3.1
Pygments	1.3.1
pysqlite	2.6.0
Python	2.6.6 (r266:84292, Dec 27 2010, 00:18:12) [GCC 4.4.5]
RPC	1.1.2-r12546
setuptools	0.6
SQLite	3.7.3
Subversion	1.6.12 (r955767)
jQuery	1.7.2
Enabled Plugins:

TestManager	1.5.2	/home/trac/plugins/TestManager-1.5.2-py2.6.egg
TracGenericClass	1.1.3	/home/trac/plugins/TracGenericClass-1.1.3-py2.6.egg
TracGenericWorkflow	1.0.3	/home/trac/plugins/TracGenericWorkflow-1.0.3-py2.6.egg
TracXMLRPC	1.1.2-r12546	/usr/local/lib/python2.6/dist-packages/TracXMLRPC-1.1.2_r12546-py2.6.egg

Any help would be greatly appreciated.

#11055 UnicodeEncodeError when using testcase-name with non-ascii-characters closed normal normal defect Roberto Longobardi 11 years ago

How to Reproduce

Create a testcase with a non-ascii-character in name (e.g. "öäü"). When viewing this testcase in trac, a UnicodeDecodeError is raised.

The attached patch fixed the problem for me.

Request parameters:

{'a': u'a', 'page': u'TC_TT5_TT8_TT10_TC23'}

User agent: Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0

System Information

Trac 0.12.3
Babel 0.9.6
Docutils 0.8.1
Genshi 0.6
Pygments 1.5
pysqlite 2.6.3
Python 2.7.3 (default, Jan 2 2013, 16:53:07)
[GCC 4.7.2]
pytz 2012c
setuptools 0.6
SQLite 3.7.13
Subversion 1.6.17 (r1128011)
jQuery 1.7.2

Enabled Plugins

TestManager 1.6.1
TracAccountManager 0.5dev
TracGenericClass 1.1.5
TracGenericWorkflow 1.0.4
TracWikiPrintPlugin 1.9.2
TracWysiwyg 0.12.0.3

Python Traceback

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/trac/web/main.py", line 522, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.7/dist-packages/trac/web/main.py", line 264, in dispatch
    content_type)
  File "/usr/lib/python2.7/dist-packages/trac/web/chrome.py", line 838, in render_template
    stream |= self._filter_stream(req, method, filename, stream, data)
  File "/usr/lib/python2.7/dist-packages/genshi/core.py", line 132, in __or__
    return Stream(_ensure(function(self)), serializer=self.serializer)
  File "/usr/lib/python2.7/dist-packages/trac/web/chrome.py", line 994, in inner
    data)
  File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 147, in filter_stream
    return self._testcase_wiki_view(req, formatter, planid, page_name, stream)
  File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 428, in _testcase_wiki_view
    summary = str(test_case.title)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 27: ordinal not in range(128)
#11113 Links to JQuery and JQuery-IU JS not updated for new versions - Stats don't show closed normal normal defect Roberto Longobardi 11 years ago

The Stats don't appear because the versions of JQuery and JQuery-UI have been updated (1.9.1 and 1.10.0 respectively), where the links in the page haven't and are pointing to versions 1.5.1 and 1.8.13 respectively.

#11123 Test Stats fail to update charts closed major high defect Roberto Longobardi 11 years ago

Only all of the test planes are shown in the charts [ pie, trend ], changing the test plan has no effect on the charts but it does in the url static link. For us this is critical as we cannot get a snapshot of the current state of the plan in terms of test executions. Thanks in advance.

Trac 0.12.3 TestManagerForTracPlugin 1.6.2

#11142 export Test Cases or Test Catalogs fails with exception "AttributeError: 'NoneType' object has no attribute 'split'" closed normal normal defect Roberto Longobardi 11 years ago

Exporting Test Cases and Export Test Catalogs results in a python exception. It appears to be affected by checking the Include full description checkbox. trac is on fresh installed Ubuntu 12.04 host.


System Information

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31

Trac	0.12.5
Genshi	0.6.1 (without speedups)
Pygments	1.4
pysqlite	2.6.0
Python	2.7.3 (default, Aug 1 2012, 05:14:39) [GCC 4.6.3]
setuptools	0.6
SQLite	3.7.9
jQuery	1.4.4
Enabled Plugins:

TestManager	1.6.2	/usr/local/lib/python2.7/dist-packages/TestManager-1.6.2-py2.7.egg
TracGenericClass	1.1.5	/usr/local/lib/python2.7/dist-packages/TracGenericClass-1.1.5-py2.7.egg
TracGenericWorkflow	1.0.4	/usr/local/lib/python2.7/dist-packages/TracGenericWorkflow-1.0.4-py2.7.egg

Partial DEBUG output follows, from the time of clicking the Export button :

2013-06-04 17:33:19,961 Trac[trac:main] DEBUG: Dispatching <Request "POST '/testexport'">
2013-06-04 17:33:19,961 Trac[trac:session] DEBUG: Retrieving session for ID 'f6cbeb2ec1b214414a8bd75a'
2013-06-04 17:33:19,962 Trac[trac:api] WARNING: Unable to find repository '(default)' for synchronization
2013-06-04 17:33:19,963 Trac[trac:model] DEBUG: Title: None
2013-06-04 17:33:19,963 Trac[trac:model] DEBUG: Description: None
2013-06-04 17:33:19,963 Trac[trac:model] DEBUG: >>> get_fields
2013-06-04 17:33:19,963 Trac[trac:model] DEBUG: <<< get_fields
2013-06-04 17:33:19,963 Trac[trac:model] DEBUG: >>> _fetch_object
2013-06-04 17:33:19,963 Trac[trac:model] DEBUG: Searching for testcatalog: WHERE 1=1 AND id=%%s
2013-06-04 17:33:19,964 Trac[trac:model] DEBUG: id = 0
2013-06-04 17:33:19,964 Trac[trac:model] DEBUG: Object found.
2013-06-04 17:33:19,964 Trac[trac:model] DEBUG: Title: Release 3.9
2013-06-04 17:33:19,964 Trac[trac:model] DEBUG: <<< _fetch_object
2013-06-04 17:33:19,964 Trac[trac:model] DEBUG: Exists: True
2013-06-04 17:33:19,965 Trac[trac:model] DEBUG: {'page_name': u'TC_TT0', 'id': u'0'}
2013-06-04 17:33:19,965 Trac[trac:model] DEBUG: >>> get_fields
2013-06-04 17:33:19,965 Trac[trac:model] DEBUG: <<< get_fields
...
2013-06-04 17:33:19,990 Trac[trac:model] DEBUG: >>> _fetch_object
2013-06-04 17:33:19,990 Trac[trac:model] DEBUG: Searching for testcase: WHERE 1=1 AND id=%%s
2013-06-04 17:33:19,990 Trac[trac:model] DEBUG: id = 1
2013-06-04 17:33:19,991 Trac[trac:model] DEBUG: Object found.
2013-06-04 17:33:19,991 Trac[trac:model] DEBUG: Title: Alert Basics
2013-06-04 17:33:19,991 Trac[trac:model] DEBUG: <<< _fetch_object
2013-06-04 17:33:19,991 Trac[trac:model] DEBUG: Exists: True
2013-06-04 17:33:19,991 Trac[trac:model] DEBUG: {'exec_order': 2, 'page_name': u'TC_TT0_TC1', 'id': u'1'}
2013-06-04 17:33:19,992 Trac[trac:model] DEBUG: Title: None
2013-06-04 17:33:19,992 Trac[trac:model] DEBUG: Description: None
2013-06-04 17:33:19,992 Trac[trac:model] DEBUG: >>> get_fields
2013-06-04 17:33:19,992 Trac[trac:model] DEBUG: <<< get_fields
2013-06-04 17:33:19,992 Trac[trac:model] DEBUG: >>> _fetch_object
2013-06-04 17:33:19,993 Trac[trac:model] DEBUG: Searching for testcase: WHERE 1=1 AND id=%%s
2013-06-04 17:33:19,993 Trac[trac:model] DEBUG: id = 2
2013-06-04 17:33:19,993 Trac[trac:model] DEBUG: Object found.
2013-06-04 17:33:19,993 Trac[trac:model] DEBUG: Title: Holiday In Cambodia
2013-06-04 17:33:19,993 Trac[trac:model] DEBUG: <<< _fetch_object
2013-06-04 17:33:19,994 Trac[trac:model] DEBUG: Exists: True
2013-06-04 17:33:19,994 Trac[trac:model] DEBUG: {'exec_order': 3, 'page_name': u'TC_TT0_TC2', 'id': u'2'}
2013-06-04 17:33:19,995 Trac[trac:main] ERROR: Internal Server Error: 
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Trac-0.12.5-py2.7.egg/trac/web/main.py", line 522, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/local/lib/python2.7/dist-packages/Trac-0.12.5-py2.7.egg/trac/web/main.py", line 243, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/local/lib/python2.7/dist-packages/TestManager-1.6.2-py2.7.egg/testmanager/api.py", line 824, in process_request
    csvstr = self.get_catalog_model_csv_markup(context, planid, data_model, catid, separator, (planid != '-1'), fulldetails, raw_wiki_format)
  File "/usr/local/lib/python2.7/dist-packages/TestManager-1.6.2-py2.7.egg/testmanager/api.py", line 1470, in get_catalog_model_csv_markup
    text += self._get_catalog_csv_markup(context, planid, components, 0, None, '', custom_ctx, separator, include_status, fulldetails, raw_wiki_format)
  File "/usr/local/lib/python2.7/dist-packages/TestManager-1.6.2-py2.7.egg/testmanager/api.py", line 1525, in _get_catalog_csv_markup
    text += self._get_testcases_csv_markup(context, planid, cmtData, level+1, tp, tcat_id, custom_ctx, separator, include_status, fulldetails, raw_wiki_format)
  File "/usr/local/lib/python2.7/dist-packages/TestManager-1.6.2-py2.7.egg/testmanager/api.py", line 1615, in _get_testcases_csv_markup
    description = self._get_object_description(tc.description, raw_wiki_format, context)
  File "/usr/local/lib/python2.7/dist-packages/TestManager-1.6.2-py2.7.egg/testmanager/api.py", line 1665, in _get_object_description
    f.format(wikidom, out, False)
  File "/usr/local/lib/python2.7/dist-packages/Trac-0.12.5-py2.7.egg/trac/wiki/formatter.py", line 1243, in format
    result = re.sub(self.wikiparser.rules, self.replace, line)
  File "/usr/lib/python2.7/re.py", line 151, in sub
    return _compile(pattern, flags).sub(repl, string, count)
  File "/usr/local/lib/python2.7/dist-packages/Trac-0.12.5-py2.7.egg/trac/wiki/formatter.py", line 1161, in replace
    replacement = self.handle_match(fullmatch)
  File "/usr/local/lib/python2.7/dist-packages/Trac-0.12.5-py2.7.egg/trac/wiki/formatter.py", line 1154, in handle_match
    return external_handler(self, match, fullmatch)
  File "/usr/local/lib/python2.7/dist-packages/Trac-0.12.5-py2.7.egg/trac/wiki/api.py", line 303, in wikipagename_link
    self.ignore_missing_pages, match)
  File "/usr/local/lib/python2.7/dist-packages/Trac-0.12.5-py2.7.egg/trac/wiki/api.py", line 361, in _format_link
    pagename = self._resolve_scoped_name(pagename, referrer)
  File "/usr/local/lib/python2.7/dist-packages/Trac-0.12.5-py2.7.egg/trac/wiki/api.py", line 394, in _resolve_scoped_name
    referrer = referrer.split('/')
AttributeError: 'NoneType' object has no attribute 'split'
2013-06-04 17:33:20,014 Trac[trac:chrome] DEBUG: Prepare chrome data for request
2013-06-04 17:33:20,235 Trac[trac:main] DEBUG: Dispatching <Request "GET '/chrome/site/your_project_logo.png'">
2013-06-04 17:33:20,236 Trac[trac:chrome] WARNING: File your_project_logo.png not found in any of ['/var/trac/htdocs']
2013-06-04 17:33:20,236 Trac[trac:main] WARNING: HTTPNotFound: 404 Not Found (File your_project_logo.png not found)
2013-06-04 17:33:20,237 Trac[trac:session] DEBUG: Retrieving session for ID 'f6cbeb2ec1b214414a8bd75a'
2013-06-04 17:33:20,237 Trac[trac:chrome] DEBUG: Prepare chrome data for request

#11209 Upgrading Trac throws SQL-error closed blocker normal defect Roberto Longobardi 11 years ago

I am using Trac 1.1.2dev-r11803 with MySQL and trying to install TestManager. The two generic plugins install fine, but when I install the actual TestManager plugin and upgrade Trac afterwards, I get the following error: OperationalError: (1071, 'Specified key was too long; max key length is 767 bytes') trac.log says it is the "CREATE TABLE testcase" that fails I can reproduce the error in MySQL, and I can create the table if I ommit the PRIMARY KEY part. I created the Trac database with this: CREATE DATABASE trac_myproject DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

As far as I can see in the Trac documentation for MySQL, this should be all right, so what can I do to make the plugin work?

#11319 Ability to Modify Test Plans closed normal normal enhancement Roberto Longobardi 11 years ago

I want to be able to create a test plan and then later on add or remove test cases from it. As far as I can tell, this isn't possible and I have to create a whole new test plan.

#11320 baseurl in stats page doesn't use trac's configuration closed normal normal defect Roberto Longobardi 11 years ago

The baseurl passed to the page template should come from trac.baseurl in trac.ini rather than the request's baseurl.

This causes problems in environments where the trac instance is reverse proxied.

#11347 Show related tickets issue closed normal normal defect Roberto Longobardi 10 years ago

If to create a test plan and then add a test case inside of it, then click on a test case and choose "Open a Ticket on this Test Case", then test case name (TC_TT4_TC11) goes to the field "Test Case:" on the bottom of a ticket and test plan number (9) goes to the field "Test Plan:".

If then click "Show Related Tickets" there won't be any info about this ticket, because query looks like this instead of that

Is there a possibility to fix it?

#11350 Add to Test Plan Button doesn't work closed normal normal defect Roberto Longobardi 10 years ago

If I do the following steps, I couldn't add a test case to a test plan

  1. create a test case
  2. create a test plan with option "Contains selected Test Cases"
  3. go inside a test case and click "Add to a Test Plan" button
  4. on the dialog "Add Test Case to a Test Plan" button "Add to Test Plan" doesn't work - on click nothing happens.
#11357 adding [testplan-tm_custom] custom=textarea causes exception during testplan loading closed minor normal enhancement Roberto Longobardi 10 years ago

Hi, I wanted to add a Comments field like recommended here. I added the following to conf/trac.ini

[testcaseinplan-tm_custom]
comments3 = textarea
comments3.format = wiki
comments3.label = Test Pass comments

[testplan-tm_custom]
comments3 = textarea
comments3.format = wiki
comments3.label = Test Pass comments

I restarted the webserver. Upon viewing a test plan, there is an exception

Trac detected an internal error:
KeyError: u'comments3'

If I change the field type from textarea to text then it works fine.

The full exception from the trac.log is

2013-10-22 15:04:56,400 Trac[main] ERROR: Internal Server Error: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/trac/web/main.py", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.7/dist-packages/trac/web/main.py", line 258, in dispatch
    content_type)
  File "/usr/lib/python2.7/dist-packages/trac/web/chrome.py", line 840, in render_template
    stream |= self._filter_stream(req, method, filename, stream, data)
  File "/usr/lib/python2.7/dist-packages/genshi/core.py", line 132, in __or__
    return Stream(_ensure(function(self)), serializer=self.serializer)
  File "/usr/lib/python2.7/dist-packages/trac/web/chrome.py", line 991, in inner
    data)
  File "/var/trac/trac/e/plugins/TestManager-1.7.1-py2.7.egg/testmanager/wiki.py", line 155, in filter_stream
    return self._testplan_wiki_view(req, formatter, page_name, planid, stream)
  File "/var/trac/trac/e/plugins/TestManager-1.7.1-py2.7.egg/testmanager/wiki.py", line 368, in _testplan_wiki_view
    HTML(self._build_testplan_tree(formatter.context, str(planid), page_name, mode, self.sortby, table_columns, table_columns_map, custom_ctx)),
  File "/var/trac/trac/e/plugins/TestManager-1.7.1-py2.7.egg/testmanager/wiki.py", line 1161, in _build_testplan_tree
    text += self._render_subtree_as_table(context, planid, components, ind, 0, table_columns, table_columns_map, custom_ctx)
  File "/var/trac/trac/e/plugins/TestManager-1.7.1-py2.7.egg/testmanager/wiki.py", line 1431, in _render_subtree_as_table
    text += self._render_subtree_as_table(context, planid, subcData, ind, level+1, table_columns, table_columns_map, custom_ctx, fulldetails)
  File "/var/trac/trac/e/plugins/TestManager-1.7.1-py2.7.egg/testmanager/wiki.py", line 1431, in _render_subtree_as_table
    text += self._render_subtree_as_table(context, planid, subcData, ind, level+1, table_columns, table_columns_map, custom_ctx, fulldetails)
  File "/var/trac/trac/e/plugins/TestManager-1.7.1-py2.7.egg/testmanager/wiki.py", line 1434, in _render_subtree_as_table
    text += self._render_testcases_as_table(context, planid, mtData, ind, level+1, table_columns, table_columns_map, custom_ctx, fulldetails)
  File "/var/trac/trac/e/plugins/TestManager-1.7.1-py2.7.egg/testmanager/wiki.py", line 1525, in _render_testcases_as_table
    text += self._get_custom_fields_columns(tcip, table_columns, table_columns_map, custom_ctx['testcaseinplan'][1])
  File "/var/trac/trac/e/plugins/TestManager-1.7.1-py2.7.egg/testmanager/wiki.py", line 1841, in _get_custom_fields_columns
    if table_columns_map[f['name']]['visible'] == 'True':
KeyError: u'comments3'

#11358 adding custom [test-outcomes] breaks setting outcomes from Test Plan table view closed normal normal defect Roberto Longobardi 10 years ago

Following this section I added the skipped outcome to conf/trac.ini. The last line here:

[test-outcomes]
default = TO_BE_TESTED
green.successful = Successful
red.failed = Failed
yellow.to_be_tested = Untested
yellow.skipped = skipped

I restarted the trac server.

When attempting to set a test case outcome from the Test Plan view, the web page stops interacting. The developer console shows

[17:18:54.182] TypeError: ui.item.attr(...) is undefined @ http://server:8080/e/chrome/testmanager/js/testmanager.js:792
[17:18:54.185] SyntaxError: syntax error @ javascript:void:1

Using firefox 24.0 on Ubuntu.

The sequence of events was this

  1. I created some Test Plan foobar in catalog my catalog
  2. changed the conf/trac.ini as shown above
  3. restarted the server
  4. browse to Test Manager
  5. browse to my catalog
  6. select the test plan foobar
    now I'm in the table view of the test plan
  7. click on a test case icon
    opens the possible outcomes (see attachment)
  8. click a yellow outcome
    nothing occurs, the setting outcomes appears unresponsive
    the DEBUG level trac.log does not show any exception nor any debug statements occurring. The firefox Developer Console shows errors.
#11381 Ability to add test case in more than one test plan closed normal normal enhancement Roberto Longobardi 10 years ago

If I want to add a test case in several already created test plans, I could only add it to one of them, then button 'Add to a test plan' disappears.

#11389 Custom test outcomes are not handled properly in Current test status new normal normal defect Roberto Longobardi 10 years ago

The Current test status pie chart does not properly accumulate custom outcomes into the colored pie sections. All the custom outcomes seem to be grouped into the yellow "to be tested" section.

Specifically, in my case I have a couple of alternate red "failed" outcomes, but they seem to be shown in the yellow section of the pie chart.

#11421 Ability to rename a test plan new normal normal enhancement Roberto Longobardi 10 years ago

As requested in the forum, it would be nice ot be able to rename a test plan.

#11449 Special characters (like #) removed from the test case name closed normal normal defect Roberto Longobardi 10 years ago

When creating a new test case, if the name includes the has sign #, it is removed from the name when the edit page is entered.

#11450 Test case name length limit cannot be changed closed normal normal enhancement Roberto Longobardi 10 years ago

The name of the newly generated test cases is lower than the standard Trac bug ticket character limit.

It would be useful to have an option to change it in the admin panel or trac.ini (0 for unlimited or similar)

#11451 Default bug ticket name (related to test case) too long closed normal normal enhancement Roberto Longobardi 10 years ago

When a bug ticket is opened related to the test case, its default name contains an entire hierarchy of the test case.

This could be set up in the trac.ini and provide a few options:

  • whole path
  • last N path levels
  • custom string (which can be appended to the path part or on its own)
  • delimiter character (for the character between levels)
#11452 Wiki Formatting new line does not work with test cases closed normal normal defect Roberto Longobardi 10 years ago

The test case does not comply to the standard Trac ticket formatting in all cases.

For example, it ignores new lines and [BR] must be used to force them:

#11453 Default test case description box name cannot be changed closed normal normal enhancement Roberto Longobardi 10 years ago

When creating a new test case, the height of the description box is 135px by default.

Could this be changed with the trac.ini settings to be more than 135px when opened?

#11454 Test Plan hierarchy contains empty (unselected) catalogs closed normal normal defect Roberto Longobardi 10 years ago

When a test plan is created and only some of the test cases are selected, the test plan still shows the whole catalog hierarchy, even if some of them are empty.

Can this be set not to show the hierarchy at all? Or at least not to show the empty ones, because their status can not be changed to success since they do not contain cases.

In the example below I selected 8 (out of many) test cases in system basic and 1 from unit tests. The plan has to be in this part of hierarchy because it contains cases from multiple catalogs, but the empty ones should not be shown (and have statuses)

#11462 List "Root Catalogs" closed normal normal enhancement Roberto Longobardi 10 years ago

The listSubCatalogs XMLRPC (at least) does not allow listing the root Catalogs, because one need to already specify a known id and this already restricts listing to the subcatalogs of a root catalog.

Since Ids grow from 0 upwards, -1 could be used as an indicator that listSubCatalogs must list the root catalogs.

The following 3 lines in TestCatalog.init do the trick

 if id == '-1':
            self.exists = True
            self.values['page_name'] = 'TC'

listSubCatalogs can then be called as follows:

for v in server.testmanager.listSubCatalogs('-1'):
    print v

And the root catalogs will be returned (in my case):

['3', 'TC_TT3', 'catalog1', '\n']
['4', 'TC_TT4', 'catalog2', '\n']
#11470 1 week resolution does not show data in certains days new normal normal defect Roberto Longobardi 10 years ago

Test Management Statistics: resolution: 1week start date:12/6/2013 end date 1/5/2014

the 1 week graph show zeros everywhere, but when I switch to: Test Management Statistics: resolution: 1day start date:12/6/2013 end date 1/5/2014

I can see, there are some positives values on 1/4/2014 and 1/5/2014.

I suppose, that graph should take maximum of all days in that week and not show values on every 7th days.

Name Version Location backlinksmacro 7.0dev testmanager 1.7.3 tracaccountmanager 0.4.3 tracgenericclass 1.1.5 tracgenericworkflow 1.0.4 tractags 0.6 tracxmlrpc 1.1.2 visitcounter 0.2

#11471 Test should be linked with testcase with the version closed normal normal enhancement Roberto Longobardi 10 years ago

In our company, the quality system requires the test report. The test reports contains the list of test with results (pass, failed) and the exact version tested. This is what I really missing on TestManager Plugin. it is blocker ticket for me. I cannot use it unless I am able to proove to quality what exactly was tested, what exactly failed, what exactly passed.

Let assume, that the next release version is 2.x. I create test plan with name complete tests for 2.x release. The testing department is testing the new version for 2 months and in this times several bugs needs to be fixed, so the are several version being tested: 2.0.1, 2.0.2 and 2.0.3. It would be really helpfull to link the result of test with the tested version. I suppose, that custom fields can be defined only to test cases not to test results. Am I right?

#11475 Javascript error when adding sub categories new normal normal defect Roberto Longobardi 10 years ago

Here is the patch I had to do for this plugin to work in Google Chrome browser.

In /usr/share/trac/myproject/plugins/TestManager-1.7.3-py2.7.egg I opened it with Archive manager (GUI) and edited /usr/share/trac/myproject/plugins/TestManager-1.7.3-py2.7.egg/htdocs/js/testmanager.js.

I had to replace $("input[@name=' with $("input[name=' removing the @ symbol to avoid a jquery error. This was done in about 2-3 places in this js file.

After that the plugin works fine in Chrome without any js errors.

#11476 Return custom fields in XMLRPC Calls closed normal normal enhancement Roberto Longobardi 10 years ago

Custom testcase (or testcase in plan) fields are not being returned with XMLRPC Calls. Since the base class AbstractVariableFieldsObject already has them it seems sensible to return them. Example for Testcase in plan:

Original return value for a tescase with getTestCase when plan id is provided in rpcsupport.py

tcip = TestCaseInPlan(self.env, testcase_id, plan_id)
return (tc['page_name'], tc.title, tc.description, tcip['status'])

Custom fields can easily be added to the answer with

tcip = TestCaseInPlan(self.env, testcase_id, plan_id)
for field in tcip.fields:
    if field.get("custom"):
         customtuple = (field.get('name'), field.get('value'), field.get('label'))
         customfields.append(customtuple)

return (tc['page_name'], tc.title, tc.description, tcip['status'], customfields)

This can also be done for listTestCases and the case without testplan id can also be covered

#11477 Custom Fields as Wiki Pages new normal normal enhancement Roberto Longobardi 10 years ago

Hi,

The current incarnation of the custom fields for a testcase (or testcase in plan) is restricted to text and they are kept in a separate table in the database. (Although I imagine the plan is to extend the capabilities and allow other types)

One possibility would be to have custom fields as Wiki Pages themselves allowing for full wiki formatting of the field. Use case:

  • Test case has the standard "title" and "description".
  • Custom fields "Execution Steps" and "Expected Results"

The latter are calling for full blown editing and quite probably with Wiki Formatting. The current "text field" presented in the web browser is rather limited as it won't display even line breaks.

The already built-in mechanism for versioning using the wiki pages would be re-used.

To avoid compatibility problems with existing deployments a possible path would be to still allow the os.type = text and also allow os.type = wiki.

Best regards

#11485 Show Related Tickets in TestCase does not show releated tickets new normal normal defect Roberto Longobardi 10 years ago
  1. create test catalog
  2. create test case A
  3. create test plan
  4. Set test in test A in test plan to failed and create ticket.
  5. go to test catalog a click to the test a dn to show related ticket.

bug: no ticket is showned.

The patch is included in the attachment.

#11486 searching in tickets search in wiki as well even if unchecked closed normal normal defect Roberto Longobardi 10 years ago

When I search term in trac adn I check only Test Case and everythink else is unchecked, the search results contains wiki pages.

but should not, because it is unchecked.

#11527 Python source code has mixed tabs and spaces new normal normal defect Roberto Longobardi 10 years ago

I noticed while quickly trying out your plugin, that version 1.8.1 of the source has mixed tabs and spaces, which can cause problems. There are just a few tabs, mostly around import statements, but also dispersed throughout the files.

#11597 Cannot delete Test Case templates closed normal normal defect Roberto Longobardi 10 years ago

Trying to delete a Test Case template always results in this error

delete test case template error

The template is not in used by any Test Catalog, even the newly created templates cannot be deleted

#11598 "Default" Test Case template to be applied to newly created Test Catalogs closed normal high enhancement Roberto Longobardi 10 years ago

I have a generic Test Case template which most of the Test Catalogs use.

Every time I add a catalog, I need to go to the admin panel and assign this template manually.

It would be nice if there was a "Default Test Case Template" that is automatically assigned to all newly created catalogs by default. This template should be empty in the beginning (so it behaves like no template is assigns), but can be editable like a normal template

#11599 Test Case URLs broken after organizing them new critical high defect Roberto Longobardi 10 years ago

Whenever a Test Case is moved to another catalogs, all the URL links pointing to it become invalid.

It would make much more sense to keep the links permanent and use another method to keep track of the hierarchycal organization of the Test Cases and Test Catalogs

PS. I use organize a lot so this seems like a defect to me, and a critical one. If this is wrong please let me know or swithc the type and severity appropriately

#11600 Organize Test Catalogs only allows Test Cases to be moved accepted major normal enhancement Roberto Longobardi 10 years ago

When using the "Organize Test Catalogs" button, only the test cases can be moved around in the hierarchy.

Every time I try to move a catalog, it just jumps back to the original spot.

This forces me to create a new Test Catalog and move the Test Cases one by one, consuming more time and losing all the test plans

#11601 Create Ticket for a TestCase which is copied from an other closed major high defect Roberto Longobardi 10 years ago

Following situation: We created a TestCases and copied this two or more. After coping we change the content of the TestCases. After that we created a Testplan and executed this. If we want to create a Ticket via the Button in the TestCase, it doesn´t work. The Button did nothing.

#11609 [testplan-tm_custom] custom=textarea format=wiki does not do wiki formatting closed minor normal defect Roberto Longobardi 10 years ago

Using TestManagerForTracPlugin v1.8.1 Adding a custom field of type textarea of and format wiki does not render wiki markup.

  1. In conf/trac.ini I added
    [testcaseinplan-tm_custom]
    browser_info = textarea
    browser_info.rows = 5
    browser_info.columns = 40
    browser_info.format = wiki
    browser_info.label = browser type version OS
    browser_info.order = 22
    
  2. Within a testcase I clicked the pencil icon.
  3. I entered text into the browser_info field
    - Chrome 27 Windows 7
    - Firefox 31 Windows Server 2008
    - Chrome 30 Ubuntu
    - Chrome 31 Mac
    - Safari 5 Mac OSX 10.1
    - Safari 6 Mac
    - Safari 121 Mac
    ''foobar''
    #22
    
  4. click Save
    No wiki markup occurred. It is merely plain text! I expected the typical trac wiki formatting.

reviewing the trac.log with DEBUG level, I see debug messages

2014-03-06 00:36:37,951 Trac[model] DEBUG: Changing 'browser_info' field value.
2014-03-06 00:36:37,951 Trac[model] DEBUG: Value after: - Chrome 27 Windows 7
- Firefox 31 Windows Server 2008
- Chrome 30 Ubuntu
- Chrome 31 Mac
- Safari 5 Mac OSX 10.1
- Safari 6 Mac
- Safari 121 Mac
''foobar''
#22
2014-03-06 00:36:37,951 Trac[model] DEBUG: >>> save_changes
2014-03-06 00:36:37,954 Trac[model] DEBUG: <<< save_changes

clicking the browser refresh button, I see the Value is displayed as

- Chrome 27 Windows 7
- Firefox 31 Windows Server 2008
- Chrome 30 Ubuntu
- Chrome 31 Mac
- Safari 5 Mac OSX 10.1
- Safari 6 Mac
- Safari 121 Mac
&apos;&apos;foobar&apos;&apos;
#22

The ' is displayed as &apos; . Again, there is no wiki linking or formatting.

#11616 Available Test plans Button not working closed normal normal defect Roberto Longobardi 10 years ago

After adding a Test Case to a Test Plan, the "Available Test Plans" button shows (1) but a clic on it doesn't do anything.

The link associated to this button is : http://MyIp/wiki/TC_TT46#no4

If I manually change this link to : http://MyIp/wiki/TC_TT46?planid=12 I Can access the test plan page but I don't see my Test Case

From this page, when I clic on the "Switch To Tabular View" button, the Test Case appears.

Regards.

#11668 Create a Test Case from a TRAC Ticket new normal normal enhancement Roberto Longobardi 10 years ago

I know the user can generate a ticket from a test case, But I would also like to be able to do the inverse.

I would like to generate a test case from a ticket - i.e. Bug comes into TRAC, and as part of QA of the bug, have the ability to create a test case/plan while editing the ticket.

Thanks, Brent

#11811 Exception on calling listRootCatalogs closed major normal defect Roberto Longobardi 10 years ago

Following Exception occurs when opening the API documentation page of the rpc plugin (www.domain.de/trac/rpc)

Exception: testmanager.listRootCatalogs: object of type 'type' has no len() Traceback (most recent call last): File "build/bdist.linux-x86_64/egg/tracrpc/web_ui.py", line 101, in _dump_docs (method.signature, File "build/bdist.linux-x86_64/egg/tracrpc/api.py", line 230, in _get_signature if len(sig) < len(sigcand): TypeError: object of type 'type' has no len()

Most recent call:

File "/usr/local/lib/python2.7/dist-packages/Trac-1.0.1-py2.7.egg/trac/web/main.py", line 497, in _dispatch_request
  dispatcher.dispatch(req)
File "/usr/local/lib/python2.7/dist-packages/Trac-1.0.1-py2.7.egg/trac/web/main.py", line 214, in dispatch
  resp = chosen_handler.process_request(req)
File "build/bdist.linux-x86_64/egg/tracrpc/web_ui.py", line 72, in process_request
  return self._dump_docs(req)
File "build/bdist.linux-x86_64/egg/tracrpc/web_ui.py", line 111, in _dump_docs
  str(e), out.getvalue()))

Trac Version 1.0.1 RPC Version 1.1.2-r13776 TestManager 1.8.1

Ticket #11462 sounds similar, but was already released in 1.8.1 and did not fixed (or even brought up) the issue.

#11858 Upgrade failed: table test case already exists new normal normal defect Roberto Longobardi 10 years ago

Hello, i saw this issue already appears before #10849

but there was no real solution.

I try to upgrade from 1.5.1. to 1.8.1

What did i do:

  1. stop appache webserver
  2. update to

TracGenericClass-1.1.5-py2.7.egg TracGenericWorkflow-1.0.4-py2.7.egg TestManager-1.8.1-py2.7.egg

  1. start appache
  2. hint upgrade required
  3. stop appache
  4. trac-admin upgrade
  5. error: OperationalError: table testcase already exists

Do you have any idea what went wrong? Is there any workaround? (export table, delete table, import table)?

#11883 TestManager MOSTLY working - but I can't see my Test Plans! closed normal normal defect Roberto Longobardi 10 years ago

I can create Catalogs and Test Cases just fine. But when in "tree view" I see nothing when I select a Test Plan.

When set to "table view" - I do see a table, but I can't usefully interact with the Test Cases.

There is a screenshot in the description where a Test Plan has custom states / settings, and someone is using a drop-down list to change the state of a specific Case within a Test Plan. That's the functionality I need! I'm so frustrated to be so close...

#11912 Error cloning test plan with PostgreSQL database closed normal normal defect Roberto Longobardi 10 years ago

Hi,

I'm using TestManagerForTracPlugin with PostgreSQL database. When I try cloning a test plan an error is reported. The reason is the INSERT in testplan table. This table has two fields defines as INTEGER:

CREATE TABLE testplan
(
[...]
  contains_all integer,
  freeze_tc_versions integer,
  CONSTRAINT testplan_pkey PRIMARY KEY (id)
)

but when I try coloning a testplan the source code (testman4trac.1.8.1/testman4trac/testmanager/api.py, line 775) does:

new_tp = TestPlan(self.env, id, tp['catid'], tp['page_name'], new_name, author, True, False)

using BOOLEAN values for these fields, so the SQL INSERT instruction sent to PostgreSQL is:

INSERT INTO testplan (id,catid,page_name,name,author,time,contains_all,freeze_tc_versions) VALUES ('39','9','TC_TT7_TT9','Copy of Backups','testuser',1407250163512659,True,False)

And PostgreSQL rises an error:

column "contains_all" is of type integer but expression is of type boolean

The attached patch works for me.

Plugin version: 1.8.1 DataBase: PostgreSQL 9.1

#12002 Test stats tab not displaying the test status and chart closed critical highest defect Roberto Longobardi 9 years ago

Hi, I have installed the latest trac plugin for test manager. I could add test cases by creating test catalogs and I have also created test plan. The only problem I am facing right now is I could not view the test status in 'Test Stats' tab. Please refer to the attachment. Please help me in getting rid of this issue.

Thanks, Thomson

#12004 A Semicolon destroys the Remarks of a Test Case new normal normal defect Roberto Longobardi 9 years ago

A Semicolon destroys the Remarks of a Test Case

Steps to reproduce:

  1. open a test case from a test plan
  2. enter the following text into the Remarks input: "!test1; test2"
  3. click Save button
  4. reload this test case

-> Remarks does only contain "!test1"

It should be possible to use a semicolon in the Remarks input. If this is not possible then notify the user or change the semicolon, but do not remove part of the text.

#12044 Change of a Test Case Status changes Statuses for whole Test Plan closed normal normal defect Roberto Longobardi 9 years ago

When I try to change a single TC status, all TCs in the same TestPlan are changed at the same moment.

System Information

Package Version
Trac 1.0.1
Genshi 0.7 (without speedups)
mod_wsgi 3.2 (WSGIProcessGroup WSGIApplicationGroup %{GLOBAL})
MySQL server: "5.5.5-10.0.14-MariaDB", client: "5.1.73", thread-safe: 1 MySQLdb 1.2.3c1
Pygments 1.1.1
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)]
setuptools 0.6
Subversion 1.6.11 (r934486)
jQuery 1.7.2

Installed Plugins

Name Version
TestManager 1.8.1
TracAccountManager 0.4.4
TracGenericClass 1.1.5
TracGenericWorkflow 1.0.4
TracSpamFilter 0.9.0dev-r13133
TracSumFields 1.0.1

#12052 Test plan page doesn't list all the test cases in the catalog. closed normal normal defect Roberto Longobardi 9 years ago

I'm using 1.8.1 release

#12159 AssertionError: Cannot delete non-existent page new normal normal defect Roberto Longobardi 9 years ago

When trying to delete a test catalog we get the following:

Trac detected an internal error:

AssertionError: Cannot delete non-existent page
Python Traceback
Most recent call last:

File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/web/main.py", line 522, in _dispatch_request
  dispatcher.dispatch(req)
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/web/main.py", line 243, in dispatch
  resp = chosen_handler.process_request(req)
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/wiki/web_ui.py", line 147, in process_request
  self._do_delete(req, versioned_page)
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/wiki/web_ui.py", line 254, in _do_delete
  @self.env.with_transaction()
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/db/api.py", line 77, in transaction_wrapper
  fn(ldb)
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/wiki/web_ui.py", line 262, in do_delete
  page.delete(version, db)
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/wiki/model.py", line 114, in delete
  listener.wiki_page_deleted(self)
File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 124, in wiki_page_deleted
  tcat.delete(del_wiki_page=False)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 974, in delete
  AbstractVariableFieldsObject.delete(self, db)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 635, in delete
  @self.env.with_transaction(db)
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/db/api.py", line 73, in transaction_wrapper
  fn(ldb)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 637, in do_delete
  if not self.pre_delete(db):
File "build/bdist.linux-x86_64/egg/testmanager/model.py", line 322, in pre_delete
  tcat.delete(db=db)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 974, in delete
  AbstractVariableFieldsObject.delete(self, db)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 635, in delete
  @self.env.with_transaction(db)
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/db/api.py", line 71, in transaction_wrapper
  fn(db)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 637, in do_delete
  if not self.pre_delete(db):
File "build/bdist.linux-x86_64/egg/testmanager/model.py", line 314, in pre_delete
  AbstractTestDescription.pre_delete(self, db)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 1012, in pre_delete
  wikipage.delete()
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/wiki/model.py", line 114, in delete
  listener.wiki_page_deleted(self)
File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 124, in wiki_page_deleted
  tcat.delete(del_wiki_page=False)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 974, in delete
  AbstractVariableFieldsObject.delete(self, db)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 635, in delete
  @self.env.with_transaction(db)
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/db/api.py", line 73, in transaction_wrapper
  fn(ldb)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 637, in do_delete
  if not self.pre_delete(db):
File "build/bdist.linux-x86_64/egg/testmanager/model.py", line 322, in pre_delete
  tcat.delete(db=db)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 974, in delete
  AbstractVariableFieldsObject.delete(self, db)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 635, in delete
  @self.env.with_transaction(db)
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/db/api.py", line 71, in transaction_wrapper
  fn(db)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 637, in do_delete
  if not self.pre_delete(db):
File "build/bdist.linux-x86_64/egg/testmanager/model.py", line 314, in pre_delete
  AbstractTestDescription.pre_delete(self, db)
File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 1012, in pre_delete
  wikipage.delete()
File "/usr/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/wiki/model.py", line 85, in delete
  assert self.exists, 'Cannot delete non-existent page'
#12236 Can't find any way to search test cases in a certain custom workflow state closed normal normal defect Roberto Longobardi 9 years ago

I have created a custom testcase reviewing workflow, and have several testcases in "under_review" state and assigned to "user1".

Now I want to search for all testcases which are in "under_review" state or are assigned to "user1", but how?

current result

Both the the filtering textbox above the tree view or Trac internal search enginee can't do this.

#12247 Folder for wiki pages should be configurable new normal normal enhancement Roberto Longobardi 9 years ago

As we are using a Theme which has a sidebar with the file hierarchy, I would like to know if it is possible to configure TestManager in order to store the Wiki-pages not under the wiki-root, but under subfolder of wiki-root.

So we have:
└── wiki-root

├── TC
├── TC_TT27_TT28_TC131
├── TC_TT27_TT28_TT29
├── TC_TT27_TT28_TT29_TT38
├── TC_TT27_TT28_TT29_TT39
├── TC_TT27_TT28_TT29_TT42
├── TC_TT27_TT28_TT29_TT43
├── TC_TT27_TT28_TT29_TT45
├── TC_TT27_TT28_TT29_TT46
├── TC_TT27_TT28_TT29_TT47
├── TC_TT27_TT28_TT29_TT48
├── TC_TT27_TT28_TT31
├── Testing
└── TT44


We would like to have:
.
└── wiki-root

└── Testing

├── TC
├── TC_TT27_TT28_TC131
├── TC_TT27_TT28_TT29
├── TC_TT27_TT28_TT29_TT38
├── TC_TT27_TT28_TT29_TT39
├── TC_TT27_TT28_TT29_TT42
├── TC_TT27_TT28_TT29_TT43
├── TC_TT27_TT28_TT29_TT45
├── TC_TT27_TT28_TT29_TT46
├── TC_TT27_TT28_TT29_TT47
├── TC_TT27_TT28_TT29_TT48
├── TC_TT27_TT28_TT31
└── TT44


Or something similar. It could even be TC/.
Is there any way to do this?
Many thanks for your help.
I could not find any information related to this.

#12274 Wiki attachments should be moved when TestCase is moved into new test catalog new normal normal defect Roberto Longobardi 9 years ago

When test case is moved from one catalog to another, attachments are not moved with wiki pages. Tested with full permisions.

Steps to reproduce:

  1. Create test catalog CAT1
  2. Create test case in CAT1 with name TEST1
  3. Attach dummy file to CAT1/TEST1
  4. Create test catalog CAT2
  5. Move CAT1/TEST1 to CAT2/
  6. Check attached files in CAT2/TEST1 (there would be none)
  7. Move CAT2/TEST1 back to CAT1/
  8. Check attached files in CAT1/TEST1 (the dummy file is present)

Installed plugins:

TestManager-1.8.2-py2.7.egg
TracGenericClass-1.1.6-py2.7.egg
TracGenericWorkflow-1.0.5-py2.7.egg
TracXMLRPC-1.1.2-py2.7.egg

Trac version: Trac-1.0.4

#12301 Exception: testmanager.listRootCatalogs: object of type 'type' has no len() closed normal normal defect Roberto Longobardi 9 years ago

How to Reproduce

While doing a GET operation on /rpc, Trac issued an internal error.

If I deaktivate the TestManagerRPC Component the GET operation on '/rpc' works fine

Request parameters:

{}

User agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0

System Information

Trac 1.0.5
Genshi 0.7 (with speedups)
pysqlite 2.6.0
Python 2.7.5 (default, Jun 17 2014, 18:11:42)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)]
RPC 1.1.2
setuptools 0.9.8
SQLite 3.7.17
jQuery 1.7.2
jQuery UI 1.8.21
jQuery Timepicker 1.0.1

Enabled Plugins

graphviz 0.7.7dev
siteupload 0.11
Table-Sorter-Plugin 1.0
TestManager 1.8.2
TracForms 0.5dev
TracGenericClass 1.1.6
TracGenericWorkflow 1.0.5
TracIniAdminPanel 1.0.1
TracXMLRPC 1.1.2

Python Traceback

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/Trac-1.0.5-py2.7.egg/trac/web/main.py", line 513, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.7/site-packages/Trac-1.0.5-py2.7.egg/trac/web/main.py", line 222, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/lib/python2.7/site-packages/TracXMLRPC-1.1.2-py2.7.egg/tracrpc/web_ui.py", line 72, in process_request
    return self._dump_docs(req)
  File "/usr/lib/python2.7/site-packages/TracXMLRPC-1.1.2-py2.7.egg/tracrpc/web_ui.py", line 111, in _dump_docs
    str(e), out.getvalue()))
Exception: testmanager.listRootCatalogs: object of type 'type' has no len()
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/TracXMLRPC-1.1.2-py2.7.egg/tracrpc/web_ui.py", line 101, in _dump_docs
    (method.signature,
  File "/usr/lib/python2.7/site-packages/TracXMLRPC-1.1.2-py2.7.egg/tracrpc/api.py", line 230, in _get_signature
    if len(sig) < len(sigcand):
TypeError: object of type 'type' has no len()

#12395 BSD license possible? closed normal normal task Roberto Longobardi 9 years ago

I'm considering using the TracGenericWorkflowPlugin in a plugin that I maintain, however the GPL license presents a problem. The GPL license of TracGenericWorkflowPlugin will require plugins utilizing TracGenericWorkflowPlugin to also be GPL licensed. However, the plugin I maintain uses the less-restrictive BSD license, same as Trac. Would you consider changing the license to 3-Clause BSD license? That would also open the possibility of eventually integrating this code into the Trac core.

Thank you in advance for your consideration of the issue.

#12483 Default test case template new normal high enhancement Roberto Longobardi 9 years ago

Need a global setting to specify the default test case template for all the test catalogs

#12494 automated testing closed normal highest enhancement Roberto Longobardi 9 years ago

How to support automated testing? what should i do?

#12572 XMLRPC listTestcases does not respect order of test cases closed major normal defect Roberto Longobardi 8 years ago

I have created a test catalog, containing sub catalogs,

now when retrieving them using the xml rpc API, the order of the test cases seems to follow the test case / wiki page ID, but NOT as they are ordered in the test catalog (by manually sorting them)

As nearly all test plans need to have som ekind of manual order this makes the API usage for atumated tests retrieving the test cases from trac unusable....

TRAC Build 1.0.6post2

#12594 links in test stats dont work for specific test plans new normal normal defect Roberto Longobardi 8 years ago

Ciao ;)

Just found that the links stated below the charts do not work in tha sense, that the testplan parameter is not respected:

e.g.: /bugs/teststats?content=render&start_date=09/01/15&end_date=12/02/15&resolution=7&testplan=7|TC_TT10

Doesnt show the stats of test plan 7 but again all test data and does NOT preselect the test plan in the dropdown list

br Thomas

#12663 [PATCH]: Exception during database upgrade closed normal normal defect Roberto Longobardi 8 years ago

This is a problem with the TracGenericClass plugin.

There is no upgrade script available and the exception happens while creating the message string for the raise TracError() call.

14:47:39 Trac[model] DEBUG: Found system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Returning system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Current database version for class 'peerreview' is 2
14:47:39 Trac[model] DEBUG: No need to create database for class 'peerreview'.
14:47:39 Trac[model] DEBUG: Found system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Returning system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Current database version for class 'peerreview' is 2. Desired version is 3
14:47:39 Trac[model] INFO: Need to update db tables for class 'peerreview'.
14:47:39 Trac[env] WARNING: Component <codereview.model.GenericWorkflowModelProvider object at 0x10d2e6810> requires environment upgrade
14:47:39 Trac[model] DEBUG: Found system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Returning system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Current database version for class 'peerreview' is 2
14:47:39 Trac[model] DEBUG: No need to create database for class 'peerreview'.
14:47:39 Trac[model] DEBUG: Found system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Returning system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Current database version for class 'peerreview' is 2. Desired version is 3
14:47:39 Trac[model] INFO: Need to update db tables for class 'peerreview'.
14:47:39 Trac[env] WARNING: Component <codereview.model.GenericWorkflowModelProvider object at 0x10d2e6810> requires environment upgrade
14:47:39 Trac[model] DEBUG: Found system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Returning system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Current database version for class 'peerreview' is 2
14:47:39 Trac[model] DEBUG: No need to create database for class 'peerreview'.
14:47:39 Trac[model] DEBUG: Found system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Returning system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Current database version for class 'peerreview' is 2. Desired version is 3
14:47:39 Trac[model] INFO: Need to update db tables for class 'peerreview'.
14:47:39 Trac[env] INFO: codereview.model.GenericWorkflowModelProvider upgrading...
14:47:39 Trac[model] DEBUG: Found system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Returning system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Current database version for class 'peerreview' is 2
14:47:39 Trac[model] DEBUG: No need to create database for class 'peerreview'.
14:47:39 Trac[model] DEBUG: Found system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Returning system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Current database version for class 'peerreview' is 2. Desired version is 3
14:47:39 Trac[model] INFO: Need to update db tables for class 'peerreview'.
14:47:39 Trac[model] INFO: Upgrading DB for class 'peerreview'.
14:47:39 Trac[model] DEBUG: Found system key 'peerreview_version' with value 2
14:47:39 Trac[model] DEBUG: Returning system key 'peerreview_version' with value 2
14:47:39 Trac[model] INFO: Upgrading database version for class 'peerreview' from 2 to 3
The upgrade failed. Please fix the issue and try again.

TypeError: 'dict' object is not callable
14:47:39 Trac[console] ERROR: Exception in trac-admin command: 
Traceback (most recent call last):
  File "/Users/cinc/projects/Trac-1.0.x-Python2.7.11/lib/python2.7/site-packages/trac/admin/console.py", line 109, in onecmd
    rv = cmd.Cmd.onecmd(self, line) or 0
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cmd.py", line 220, in onecmd
    return self.default(line)
  File "/Users/cinc/projects/Trac-1.0.x-Python2.7.11/lib/python2.7/site-packages/trac/admin/console.py", line 287, in default
    return self.cmd_mgr.execute_command(*args)
  File "/Users/cinc/projects/Trac-1.0.x-Python2.7.11/lib/python2.7/site-packages/trac/admin/api.py", line 127, in execute_command
    return f(*fargs)
  File "/Users/cinc/projects/Trac-1.0.x-Python2.7.11/lib/python2.7/site-packages/trac/env.py", line 1025, in _do_upgrade
    self.env.upgrade(backup=no_backup is None)
  File "/Users/cinc/projects/Trac-1.0.x-Python2.7.11/lib/python2.7/site-packages/trac/env.py", line 761, in upgrade
    participant.upgrade_environment(db)
  File "build/bdist.macosx-10.8-x86_64/egg/codereview/model.py", line 152, in upgrade_environment
    @self.env.with_transaction(db)
  File "/Users/cinc/projects/Trac-1.0.x-Python2.7.11/lib/python2.7/site-packages/trac/db/api.py", line 93, in transaction_wrapper
    fn(db)
  File "build/bdist.macosx-10.8-x86_64/egg/codereview/model.py", line 161, in do_upgrade_environment
    upgrade_db_for_realm(self.env, 'codereview.upgrades', realm, realm_metadata, db)
  File "build/bdist.macosx-10.8-x86_64/egg/codereview/tracgenericclass/model.py", line 1392, in upgrade_db_for_realm
    @env.with_transaction(db)
  File "/Users/cinc/projects/Trac-1.0.x-Python2.7.11/lib/python2.7/site-packages/trac/db/api.py", line 93, in transaction_wrapper
    fn(db)
  File "build/bdist.macosx-10.8-x86_64/egg/codereview/tracgenericclass/model.py", line 1417, in do_upgrade_db_for_realm
    '(%(version)s.py)', num=i, version=name))
TypeError: 'dict' object is not callable

The following function is executed:

def upgrade_db_for_realm(env, package_name, realm, realm_schema, db=None):
    """
    Each db version should have its own upgrade module, named
    upgrades/db_<schema>_<N>.py, where 'N' is the version number (int).
    """
    @env.with_transaction(db)
    def do_upgrade_db_for_realm(db):
        cursor = db.cursor()

        db_backend, _ = DatabaseManager(env).get_connector()

        env.log.info("Upgrading DB for class '%s'.", realm)

        # Create the required tables
        table_metadata = realm_schema['table']
        version = realm_schema['version']
        tablename = table_metadata.name

        cursor = db.cursor()
        current_version = _get_installed_version(env, realm, db)

        for i in range(current_version + 1, version + 1):
            env.log.info('Upgrading database version for class \'%s\' from %d to %d', realm, i - 1, i)

            name  = 'db_%s_%i' % (realm, i)
            try:
                upgrades = __import__(package_name, globals(), locals(), [name])
                script = getattr(upgrades, name)
            except AttributeError:
                raise TracError(_('No upgrade module for version %(num)i '
                                  '(%(version)s.py)', num=i, version=name))
            script.do_upgrade(env, i, db_backend, db)

            _set_installed_version(env, realm, i, db)

            env.log.info('Upgrade step successful.')

The line

    db_backend, _ = DatabaseManager(env).get_connector()

overwrites the translation function

    _()

Changing it to

    db_backend = DatabaseManager(env).get_connector()[0]

fixes the problem.

#12736 javascript error in testman4trac/testmanager/htdocs/js/testmanager.js closed normal normal defect Roberto Longobardi 8 years ago

Release 2015-11-22 . Safari and chrome show a syntax error, the following patch fixes these:

diff --git a/testman4trac/testmanager/htdocs/js/testmanager.js b/testman4trac/testmanager/htdocs/js/testmanager.js
index 3442102..5bc09dc 100644
--- a/testman4trac/testmanager/htdocs/js/testmanager.js
+++ b/testman4trac/testmanager/htdocs/js/testmanager.js
@@ -83,15 +83,14 @@ function createTestPlanConfirm(catName) {
     var testplanSnapshot = $("input[@name=testplan_snapshot]:checked").val();
        */
 
-    var nodes = $("input[@name='testplan_contains_all']:checked");
+    var nodes = $("input[name='testplan_contains_all']:checked");
     for (var i=0; i<nodes.length; i++) {
         var node = nodes[i];
         if (node.name == 'testplan_contains_all') {
             testplanContainsAll = node.value;
         }
     }
-
-    nodes = $("input[@name='testplan_snapshot']:checked");
+    nodes = $("input[name='testplan_snapshot']:checked");
     for (var i=0; i<nodes.length; i++) {
         var node = nodes[i];
         if (node.name == 'testplan_snapshot') {
#12912 upgrade installation from Trac 0.12 to 1.0 not OK closed normal normal defect Roberto Longobardi 7 years ago

During upgrade installation from Trac 0.12 to 1.0 the database (PostreSQL) update failed.

The installation of TracGenericClass-1.1.6-py2.7.egg was OK. The installation of TracGenericWorkflow-1.0.5-py2.7.egg failed. I didn't try to start with the TestManager-1.9.0-py2.7.egg .

# trac-admin /data/projects/siriOSS_SA/trac upgrade
The upgrade failed. Please fix the issue and try again.

ProgrammingError: relation "resourceworkflowstate" already exists

#13094 can not create a test plan after clicking Generate a test plan closed blocker highest defect Roberto Longobardi 7 years ago

Install test manager by the correct order

  • add a test catalog
  • then add a test case in catalog
  • return the catalog
  • type a name
  • click generate a test plan
  • Click Create a test plan
  • No response.
2017-03-02 23:11:54,652 Trac[model] DEBUG: Searching for resourceworkflowstate: WHERE 1=1 AND id=%%s AND res_realm=%%s
2017-03-02 23:11:54,652 Trac[model] DEBUG: id = {'id':'0'}
2017-03-02 23:11:54,652 Trac[model] DEBUG: res_realm = testcatalog
2017-03-02 23:11:54,652 Trac[model] DEBUG: Object NOT found.
2017-03-02 23:11:54,652 Trac[model] DEBUG: Exists: False
2017-03-02 23:11:54,652 Trac[model] DEBUG: {'state': 'new', 'res_realm': 'testcatalog', 'id': u"{'id':'0'}"}
2017-03-02 23:11:54,653 Trac[api] DEBUG: <<< ResourceWorkflowSystem - get_available_actions
2017-03-02 23:11:54,653 Trac[workflow] DEBUG: <<< TestManagerWorkflowInterface - filter_stream
2017-03-02 23:11:54,868 Trac[main] DEBUG: Dispatching <RequestWithSession "GET '/chrome/site/your_project_logo.png'">
2017-03-02 23:11:54,868 Trac[main] DEBUG: Chosen handler is <Component trac.web.chrome.Chrome>
2017-03-02 23:11:54,981 Trac[chrome] WARNING: File your_project_logo.png not found in any of ['/var/www/trac/gdpplus/htdocs']
2017-03-02 23:11:54,982 Trac[main] WARNING: [192.168.0.200] HTTPNotFound: 404 Not Found (File your_project_logo.png not found)
2017-03-02 23:11:54,982 Trac[chrome] DEBUG: Prepare chrome data for request
2017-03-02 23:11:54,983 Trac[session] DEBUG: Retrieving session for ID u'wangxiaofeng'
2017-03-02 23:15:47,561 Trac[main] DEBUG: Dispatching <RequestWithSession "GET '/admin'">
2017-03-02 23:15:47,563 Trac[main] DEBUG: Chosen handler is <Component trac.admin.web_ui.AdminModule>
2017-03-02 23:15:47,564 Trac[session] DEBUG: Retrieving session for ID u'wangxiaofeng'
2017-03-02 23:15:47,570 Trac[chrome] DEBUG: Prepare chrome data for request
2017-03-02 23:15:47,575 Trac[main] DEBUG: Rendering response from handler
2017-03-02 23:15:47,732 Trac[main] DEBUG: Dispatching <RequestWithSession "GET '/chrome/common/css/admin.css'">
2017-03-02 23:15:47,733 Trac[main] DEBUG: Chosen handler is <Component trac.web.chrome.Chrome>
2017-03-02 23:15:47,739 Trac[main] DEBUG: Dispatching <RequestWithSession "GET '/chrome/common/js/resizer.js'">
2017-03-02 23:15:47,739 Trac[main] DEBUG: Chosen handler is <Component trac.web.chrome.Chrome>
2017-03-02 23:15:47,778 Trac[session] DEBUG: Retrieving session for ID u'wangxiaofeng'
2017-03-02 23:15:47,794 Trac[session] DEBUG: Retrieving session for ID u'wangxiaofeng'
2017-03-02 23:15:47,840 Trac[main] DEBUG: Dispatching <RequestWithSession "GET '/chrome/site/your_project_logo.png'">
2017-03-02 23:15:47,841 Trac[main] DEBUG: Chosen handler is <Component trac.web.chrome.Chrome>
2017-03-02 23:15:47,920 Trac[main] DEBUG: Dispatching <RequestWithSession "GET '/chrome/common/grip.png'">
2017-03-02 23:15:47,920 Trac[main] DEBUG: Chosen handler is <Component trac.web.chrome.Chrome>
2017-03-02 23:15:47,953 Trac[session] DEBUG: Retrieving session for ID u'wangxiaofeng'
2017-03-02 23:15:47,956 Trac[chrome] WARNING: File your_project_logo.png not found in any of ['/var/www/trac/gdpplus/htdocs']
2017-03-02 23:15:47,956 Trac[main] WARNING: [192.168.0.200] HTTPNotFound: 404 Not Found (File your_project_logo.png not found)
2017-03-02 23:15:47,957 Trac[chrome] DEBUG: Prepare chrome data for request
"trac.log" 14283L, 1667156C
#13363 Loading of Test Manager takes too long and page never is retrieved accepted blocker highest defect Roberto Longobardi 6 years ago

Hi,

When uploading test cases to a catalog by mistake it has taken all the blank lines as well and around 40000 tcs have been added i guess, after this action test manager has become unresponsive and keeps loading we deleted all the catalogs in database but still on ui it is still not accesible

Can you please help

#13365 TypeError: coercing to Unicode: need string or buffer, NoneType found new normal normal defect Roberto Longobardi 6 years ago

How to Reproduce

While doing a GET operation on /wiki/TC_TT12_TT251_TT359_TC9763, Trac issued an internal error.

(please provide additional details here)

Request parameters:

{'page': u'TC_TT12_TT251_TT359_TC9763'}

User agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36

System Information

Trac 1.0.9
Babel 0.9.4
Docutils 0.6
Genshi 0.7 (without speedups)
mod_python 3.3.1
Pygments 1.1.1
pysqlite 2.4.1
Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]
pytz 2010h
RPC 1.1.4
setuptools 0.6
SQLite 3.6.20
Subversion 1.6.11 (r934486)
jQuery 1.7.2
jQuery UI 1.8.21
jQuery Timepicker 1.0.1

Enabled Plugins

AttachmentPolicyPlugin 0.1.0
DefaultCc 0.3.1dev
ExcelDownloadPlugin 0.12.0.5
nevernotifyupdaterplugin 1.0
TestManager 1.8.2
TicketGuidelinesPlugin 0.3dev
TracAccountManager 0.4.4
TracAnnouncer 1.0dev
TracAutoComplete 0.1
TracAutocompleteUsersPlugin 0.4.3dev
TracCustomFieldAdmin 0.2.12
TracDateField 1.1.0
TracDynamicFields 2.2.0
TracGenericClass 1.1.6
TracGenericWorkflow 1.0.5
TracMovieMacro 0.3
TracSubTicketsPlugin 0.2.0.dev-20160911
TracWysiwyg 0.11.0.5
TracXMLRPC 1.1.4

Python Traceback

Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/Trac-1.0.9-py2.6.egg/trac/web/main.py", line 554, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.6/site-packages/Trac-1.0.9-py2.6.egg/trac/web/main.py", line 267, in dispatch
    iterable=chrome.use_chunked_encoding)
  File "/usr/lib/python2.6/site-packages/Trac-1.0.9-py2.6.egg/trac/web/chrome.py", line 1075, in render_template
    stream |= self._filter_stream(req, method, filename, stream, data)
  File "/usr/lib/python2.6/site-packages/Genshi-0.7-py2.6-linux-x86_64.egg/genshi/core.py", line 133, in __or__
    return Stream(_ensure(function(self)), serializer=self.serializer)
  File "/usr/lib/python2.6/site-packages/Trac-1.0.9-py2.6.egg/trac/web/chrome.py", line 1319, in inner
    data)
  File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 159, in filter_stream
    return self._testcase_wiki_view(req, formatter, planid, page_name, stream)
  File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 489, in _testcase_wiki_view
    tag.input(type='button', value=_("Open a Ticket on this Test Case"), onclick='creaTicket("'+tc_name+'", "", "", "'+summary+'")'),
TypeError: coercing to Unicode: need string or buffer, NoneType found
#13527 Reloading Page Records False Results new normal normal defect Roberto Longobardi 5 years ago

When you change a test case status, your username will be recorded but the page will not automatically refresh. Some testers mamually refresh the page because they expect it to be instantly updated.

but if you do a manual refresh of the test plan page via the browser it will apply your test case status update to all of the tests under that particular catalog.

The telltale sign is that the last changes all have the exact same time and date.

We have also seen this when we go back to the test catalog and then re-enter the test plan.

#13550 AttributeError: 'NoneType' object has no attribute 'partition' new normal normal defect Roberto Longobardi 5 years ago

How to Reproduce

While doing a POST operation on /wiki/TC_TT384, Trac issued an internal error.

(please provide additional details here)

Request parameters:

{u'__FORM_TOKEN': u'f77ef3ed7eff93afa3f557cf',
 u'action': u'delete',
 'page': u'TC_TT384'}

User agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36

System Information

Trac 1.0.9
Babel 0.9.4
Genshi 0.7 (with speedups)
mod_python 3.3.1
MySQL server: "5.6.42-log", client: "5.1.73", thread-safe: 1
MySQLdb 1.2.3c1
Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]
pytz 2010h
setuptools 0.6
Subversion 1.6.11 (r934486)
jQuery 1.7.2
jQuery UI 1.8.21
jQuery Timepicker 1.0.1

Enabled Plugins

ExcelDownloadPlugin 0.12.0.6
TestManager 1.9.1
TracAutoComplete 0.1
TracAutocompleteUsersPlugin 0.4.3.dev0
TracCustomFieldAdmin 0.2.12
TracDynamicFields 2.2.0
TracGenericClass 1.1.7
TracGenericWorkflow 1.0.5
TracSubTicketsPlugin 0.2.0.dev20160911
TracTicketChangesets 1.0.dev0
TracWysiwyg 0.11.0.5

Python Traceback

Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/Trac-1.0.9-py2.6.egg/trac/web/main.py", line 554, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.6/site-packages/Trac-1.0.9-py2.6.egg/trac/web/main.py", line 247, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/lib/python2.6/site-packages/Trac-1.0.9-py2.6.egg/trac/wiki/web_ui.py", line 161, in process_request
    self._do_delete(req, versioned_page)
  File "/usr/lib/python2.6/site-packages/Trac-1.0.9-py2.6.egg/trac/wiki/web_ui.py", line 276, in _do_delete
    page.delete(version, db)
  File "/usr/lib/python2.6/site-packages/Trac-1.0.9-py2.6.egg/trac/wiki/model.py", line 118, in delete
    listener.wiki_page_deleted(self)
  File "build/bdist.linux-x86_64/egg/testmanager/wiki.py", line 116, in wiki_page_deleted
    tcat.delete(del_wiki_page=False)
  File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 966, in delete
    AbstractVariableFieldsObject.delete(self, db)
  File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 627, in delete
    @self.env.with_transaction(db)
  File "/usr/lib/python2.6/site-packages/Trac-1.0.9-py2.6.egg/trac/db/api.py", line 95, in transaction_wrapper
    fn(ldb)
  File "build/bdist.linux-x86_64/egg/tracgenericclass/model.py", line 629, in do_delete
    if not self.pre_delete(db):
  File "build/bdist.linux-x86_64/egg/testmanager/model.py", line 315, in pre_delete
    for tcat in self.list_subcatalogs(db=db):
  File "build/bdist.linux-x86_64/egg/testmanager/model.py", line 173, in list_subcatalogs
    if cat_re.match(tc['page_name'].partition(self.values['page_name']+'_')[2]) :
AttributeError: 'NoneType' object has no attribute 'partition'
#13682 Add classifiers to setup.py closed normal normal task Ryan J Ollos 4 years ago

The line classifiers = ['Framework :: Trac'] is missing from setup.py.

#14116 Wrong Status of test cases in testplan is displayed new critical normal defect Roberto Longobardi 2 years ago

Hello,

This Testmanagementplugin is excelent, and we decided to use it for our customers.

Unfortunately just after convincing our customers to apply it, we found a severe bug:

The status of the individual tests contained in a test plan are displayed wrongly, if these tests have not been worked on (i.e. they have an empty history).

In this case, the status of the previous testcase is copied. This renders the work in a testplan nearly unusable.

My environment:

  • trac v.1.2.3
  • testmanager plugin 1.9.1

Since we needed a fast solution, we debugged the plugin and found the culprit:

In api.py method get_test_catalog_data_model (about line 1400) there is a loop

                            for ts, author, status in tcip.list_history():
                                break

If the history of the testcase is still empty, the variable status is not reset, the state of the previous testcase in the outer loop is used.

The solution is, to initialize the status here

                            status = ''
                            for ts, author, status in tcip.list_history():
                                break

Indeed it could be wise, also to initialize ts and author.

Best regards Michael

#14166 Dates are presented in the infamous US-Format (MM/dd/yy) instead of the users defined date format setting new minor low defect Roberto Longobardi 17 months ago

Running v.1.9.1 of test manager.

A customer complained that the time stamp column in the list of available test plans is in US-format (e.g. 10/11/22 instead of 11.10.2022). Also on the test plan itself, the US-format was used.

I tested with various user settings, but was not able to change that.

(@Roberto: I had not yet looked into the source how hard it would be to repair. If interested I would try to provide a solution patch)

Michael



Download

Download the egg files, ready to be installed, from the project site here.



Source

You can download the source code from here.



Installation

Both Trac 0.11 and 0.12 are supported, and also Python 2.5, 2.6 and 2.7.

There used to be known issues on Trac 0.11 with MySQL and PosgreSQL (caused by lack of Trac support to the "int64" database column type) until release 1.4.6, but now they are fixed.

Note: If you are using MySQL or PosgreSQL, the database user must have read access to the trac.ini.

The plugin can be installed as usual, from the Trac administration panel, and requires a database upgrade.

You can follow the instructions in the INSTALL.txt file contained in the binary packages.

The functionalities are divided in three plugins, which must be installed in this order:

1) Trac Generic Class

2) Trac Generic Workflow

3) Test Manager

An additional plugin is only useful for debugging and should not be installed in a production environment.

  • SQL Executor

With the latter plugin, you can perform arbitrary SQL queries on the Trac database from a web browser. Just type on the URL:

http://yourserver/yourenvironment/sqlexec?sql=any SQL statement

For example:

http://localhost/sampleproject/sqlexec?sql=select * from testcatalog

Follow the tutorial presentation that you can download from the project site to start. The tutorial is actually very old and needs to be updated to the new Test Plans and other features, but it will get you started.



Troubleshooting

Is setuptools properly installed?

Try this from the command line:

$ python -c "import pkg_resources"

If you get no output, setuptools is installed. Otherwise, you'll need to install it before plugins will work in Trac.

Did you get the correct version of the Python egg?

Python eggs have the Python version encoded in their filename. For example, MyPlugin-1.0-py2.4.egg is an egg for Python 2.5, and will not be loaded if you're running a different Python version (such as 2.6 or 2.7).

Also, verify that the egg file you downloaded is indeed a ZIP archive and not the HTML preview page instead.

Is the plugin enabled?

If you install a plugin globally (i.e. not inside the plugins directory of the Trac project environment) you will have to explicitly enable it in trac.ini. Make sure that:

  • you actually added the necessary lines to the [components] section:
    [components]
    tracgenericclass.* = enabled
    tracgenericworkflow.* = enabled
    testmanager.* = enabled
    
  • the package/module names are correct
  • the value is "enabled", not e.g. "enable"

Check the permissions on the egg file and on the trac.ini file

The user user to run Trac (either tracd or Apache) must be able to read the egg files.

Also, it's been reported that for PosgreSQL also its user must be able to read trac.ini.

Check the log files

Open the Trac Admin tab, enable logging and set the log level to DEBUG, then watch the log file for messages about loading plugins.

Verify you have proper permissions

Some plugins, including the Test Manager ones, require you have special permissions in order to use them.

See TestManagerForTracPlugin for a description of the available/required permissions.

Is the wrong version of the plugin loading?

If you put your plugins inside plugins directories, and certainly if you have more than one project, you need to make sure that the correct version of the plugin is loading. Here are some basic rules:

Only one version of the plugin can be loaded for each running Trac server (ie. each Python process). The Python namespaces and module list will be shared, and it cannot handle duplicates. Whether a plugin is enabled or disabled makes no difference.

A globally installed plugin (typically setup.py install) will override any version in global or project plugins directories. A plugin from the global plugins directory will be located before any project plugins directory.

If your Trac server hosts more than one project (as with TRAC_ENV_PARENT_DIR setups), then having two versions of a plugin in two different projects will give uncertain results. Only one of them will load, and the one loaded will be shared by both projects. Trac will load the first found - basically from the project that receives the first request.

Having more than one version listed inside Python site-packages is fine (ie. installed with setup.py install) - setuptools will make sure you get the version installed most recently. However, don't store more than one version inside a global or project plugins directory - neither version number nor installed date will matter at all. There is no way to determine which one will be located first when Trac searches the directory for plugins.

Have you restarted Apache?

For Apache to sense a plugin upgrade (and sometimes even installation), it must be restarted.

If all of the above failed

OK, so the logs don't mention plugins, the egg is readable, the python version is correct and the egg has been installed globally (and is enabled in the trac.ini), you restarted Apache and it still doesn't work or give any error messages or any other indication as to why?

Open a ticket here. The plugins maintainers (yes, it's me :-)) watch ticket notifications continuously.



Recent Changes

Note: you can subscribe to the Forum to be updated on new releases.

During the last months:

Release 1.4.9 (2012-01-04):

o Enhancement #8958 (Track-Hacks): An ability to export test data to CSV format needed.

You can now export to CSV a test catalog or a test plan.
In the test catalog and test plan pages you will find an "Export ..." button.
The export format is designed to eventually import the stuff back into another Test Manager plugin evironment, as soon as a compatible import feature will be implemented :D (the current import feature is simpler than that.)

o Enhancement #9287 (Track-Hacks): New browser tab for existing testcases. Now you have an option in trac.ini to choose what

to do when clicking on a test case in the catalog/plan.
The default is to NOT open it in a new window, but you can change that from the admin panel,
under Testmanage->Settings, or directly in the trac.ini file like this:

[testmanager]
testcase.open_new_window = True

o Fixed Ticket #9297 (Track-Hacks): Can't print testplan table overview. There was a problem with the default print css from Trac.
o Fixed Ticket #9510 (Track-Hacks): TestStats for single Testplans at 1.4.8 not working - patched.

Thanks so much Andreas for finding it and for patching it!![[BR]]

o Fixed Ticket #9530 (Track-Hacks): Expand all / Collapse all is not running
o Fixed Ticket #9654 (Track-Hacks): Error when creating test plans

Release 1.4.8 (2011-10-23):

o Strongly enhanced the upgrade mechanism. Now it's more robust, should work with all the databases and between arbitrary Test Manager versions.

The only drawback is that upgrade is only supported from 1.4.7, not from previous versions.

o Enhancement #9077 (Track-Hacks): Ability to separate and report on test plans by product
o Enhancement #9208 (Track-Hacks): Test plan with only selected test cases from the catalog, take snapshot version of test cases.

This is an important one. Many users were asking for a way of including only selected test cases into
a Test Plan, for different reasons. Now you have it :D

o Added French language catalog! Thanks to someone who doesn't want to be cited :D
o Added Object change history view. It shows the change history of standard and, more interestingly, custom properties of any test artifact. o Fixed Ticket #9141 (Track-Hacks): Update installation 1.4.6 -> 1.4.7 not possible
o Fixed Ticket #9167 (Track-Hacks): installation of 1.4.7 with postgres database not possible
o Fixed Ticket #9187 (Track-Hacks): Current test status report should consider only last result of a testcase in the plan.

Thanks to Andreas for his contribution to fixing this one[[BR]]

Release 1.4.7 (2011-08-28):

o Enhancement #8907 (Track-Hacks): Add template for "New TestCase" - Thanks a lot to Christian for the hard work on this enhancement!![[BR]]

Now you can define templates for your new test catalogs and new test cases, and assign default templates based on each test catalog[[BR]]

o Enhancement #8908 (Track-Hacks): Possiblity to change test case status from the tree view.

No more need to open each test case in a plan to set its result, you can now do this directly from the tree view[[BR]]

o Fixed Ticket #8869 (Track-Hacks): Loading of Test Manager takes too long and sometimes time out
o Added Spanish and German catalogs! Thanks a lot to Christian and Andreas for the translations!!! Italian was already part of the plugin.

Release 1.4.6 (2011-06-19):

o Fixed Ticket #8871 (Track-Hacks): No # allowed at custom fields
o Fixed Ticket #8873 (Track-Hacks): css styles ar not compatible with the agilo plugin
o Fixed Ticket #8876 (Track-Hacks): Can't create Catalogs/Test cases when trac runs from site root
o Fixed Ticket #8878 (Track-Hacks): TestManagerForTracPlugin does not play well with MenusPlugin
o Fixed Ticket #8898 (Track-Hacks): yui_base_url not honored in templates ?
o Enhancement #8875 (Track-Hacks): More visibility for Tickets related to test suites
Added more statistical charts, including Current test status pie chart and Tickets related to test cases trend chart
Simplified setting the outcome of a test case

Release 1.4.5 (2011-05-21):

o Enhancement #8825 (Track-Hacks): Ability to import test cases from Excel (CSV) file

Release 1.4.4 (2011-03-11):

o Fixed Ticket #8567 (Track-Hacks): Javascript error when deleting test plans
o Enhancement #8596 (Track-Hacks): Remove hard dependency on XML RPC plugin for Trac 0.11
o Enhancement #8761 (Track-Hacks): Copy multiple test cases into another catalog
Added wiki documentation for copying multiple test cases into another catalog.

Release 1.4.3 (2011-01-20):

o Enhancement #8427 (Track-Hacks): Add XML-RPC complete interface for remote management of test objects
Added wiki documentation for the new XML-RPC API.

Release 1.4.2 (2011-01-09):

o Fixed Ticket #8378 (Track-Hacks): Set date and time format correctly in Test Stats page
Also added support for custom test case outcomes in the Test Stats page
Added Wiki documentation on the ability to customize the test case outcomes (i.e. states, verdicts) and to link Tickets to Test Cases.

Release 1.4.1 (2010-12-27):

o Enhancement #7486 (Track-Hacks): Customizable test case outcomes (aka verdicts)
o Enhancement #7570 (Track-Hacks): Add a relationship table between tickets and test cases in plan, and corresponding API
o Added wiki documentation on the Generic Persistent Class framework

Release 1.3.12 (2010-12-19):

o Enhancement #8321 (Track-Hacks): Add standard internationalization support (i18n)
o Enhancement #8322 (Track-Hacks): Show timestamps according to User's locale
o Fixed Ticket #8323 (Track-Hacks): Unable to expand Available plans and Test case status change history collapsable sections

Release 1.3.11 (2010-12-02):

o Added out of the box operation to workflow engine: set_owner and set_owner_to_self
o Enhancement #8259 (Track-Hacks): Add navigation from a test case to its related tickets

Release 1.3.10 (2010-11-28):

o Fixed Ticket #8154 (Track-Hacks): LookupError: unknown encoding: cp0

Release 1.3.9 (2010-11-23):

o Fixed Ticket #8144 (Track-Hacks): Test statistical charts don't show successful and failed figures

Release 1.3.8 (2010-11-23):

o Fixed Ticket #8121 (Track-Hacks): Catalog Wiki Page not added
o Fixed Ticket #8123 (Track-Hacks): Can't move testcase more than one time into different catalog
o Fixed Ticket #8124 (Track-Hacks): AttributeError: 'NoneType' object has no attribute 'splitlines'
o Fixed Ticket #8125 (Track-Hacks): "duplicate test case" does not work for previously moved test case

Release 1.3.7 (2010-11-20):

o Enhancement #7704 (Track-Hacks): Add ability to delete a Test Plan
o Fixed Ticket #8084 (Track-Hacks): Ordering issue

Release 1.3.6 (2010-11-09):

o Fixed Ticket #8004 (Track-Hacks): Cannot search if an admin

Release 1.3.5 (2010-10-17):

o Restored compatibility with Trac 0.11. Now again both 0.11 and 0.12 are supported.



Author/Contributors

Author: seccanj
Maintainer: seccanj
Contributors:

Attachments (51)