TextTest is an application-independent tool for text-based functional testing. This means running a batch-mode binary in lots of different ways, and using the text output produced as a means of controlling the behaviour of that application.
Be the first to post a text review of TextTest. Rate and review a project by clicking thumbs up or thumbs down in the right column.
Bug Fixes to 3.14: - Import File now works even when starting without any pre-existing test suites (default_gui.py) - New floating point filtering functionality now handles new files correctly (rundependent.py) - Strange and unnecessary frame removed from Save Selection dialog (guiplugins.py) Fixes for older bugs: - Fixed problem where reconnection to multiple runs failed to pick up composite versions (reconnect.py) - Fixed grid engine problem where tests were sent to jobs that had already been killed (queuesystem/__init__.py)
General GUI Enhancements: - This ChangeLog now visible from the GUI (helpdialogs.py) From Help menu/Change Logs - Locations chosen in FileChoosers now get remembered (plugins.py) So you don't need to keep searching to the same place. Static GUI Enhancements: - "Create File" functionality enhanced. (default_gui.py) Will now handle directories correctly, and you can choose your source with a filechooser now. - Can now run all the tests in a suite by selecting just that suite (default_gui.py) Also works for reconnecting and saving selections. Framework Enhancements: - Can now run tests on a remote machine (UNIX only) (default.py) Even works if file system not shared. New config entries "remote_shell_program" and "remote_copy_program". See website for details. - TextTest now collects exit codes from the system under test by default (default.py) Only writes files for non-zero status. Can be disabled via discard_file - Can now remove certain elements from versioned config files (plugins.py) New syntax {CLEAR <item>} - Can now tell TextTest to merge data directories with each other (sandbox.py) Use new config setting "copy_test_path_merge". "copy_test_path" causes directories to be overwritten. - Can now filter floating-point differences to within a certain tolerance (rundependent.py/fpdiff.py) New config file setting "floating_point_tolerance". See documentation on website. Thanks to Michael Behrisch for this. - Can now collate result files from a variety of possible source patterns (sandbox.py) Essentially collate_file is now a list. May require migration in theory. - Decoupled ignoring other errors from reporting bugs as "internal error" (knownbugs.py) Now separate check boxes for these things when doing "Enter failure information" - Bugs marked as "internal error" get reported in preference to "known bug" (knownbugs.py) The former are usually some catastrophic general environment failure - Config file setting "performance_use_normalised_%" renamed for generic application (default.py) Now called "use_normalised_percentage_change" to reflect possible usage for other purposes. Old name aliased. - Traffic mechanism does not assume asynchronous file edits are possible any more (traffic.py) Need to explicitly list programs that might do this : key with "asynchronous" in "collect_traffic" config file setting, which is now a dictionary. - No longer ignores missing traffic and usecase files. (default.py) "definition_file_stems" is now a dictionary, where items like these can be keyed "regenerate" - Now set up the checkout if we can when running scripts, including website generation (default.py) Means repository location can depend on TEXTTEST_CHECKOUT. - Picks up "properties" files in a similar way to "environment" files (testmodel.py) Used for Java applications. See website for more details. - Default location of temporary files changed (engine.py) Now writes to ~/.texttest/tmp instead of $TEMP or ~/texttesttmp Version Control Browser Enhancements/bug fixes: - Administration operations update the VCS correctly (version_control.py) Rename,Move and Remove will also do so in the VCS for tests under VCS-control - Can now add to the VCS via TextTest (version_control.py) Separate action on appropriate menu - Now supports Bazaar and Mercurial as well as CVS (bzr.py/hg.py/version_control.py) - Hiding "unknown" category now works correctly (version_control.py) Internal changes: - TextTest now structured into packages so lots of files have moved around Bug Fixes: - Traffic mechanism does not handle directory removals by removing all files any more (traffic.py) Actually stores and replays the directory removal directly. - No longer flag runs as missing if batch_collect_compulsory_version overlaps with versions given on command line (batch.py) - Python 2.6 shouldn't produce annoying messages about deprecated modules any more. - Worked around GTK 2.14 bug in file chooser handling, will no longer hang - Race condition removed from virtual server handling on UNIX: shouldn't leak virtual servers any more (startXvfb.py) - No longer stacktrace if "interpreter" is an invalid path (default/__init__.py) - No longer stacktrace when repositioning tests if no write permissions to the files (default_gui.py) - Now shows correct test names in the status bar after a rename (engine.py) - Don't crash if copying or moving a suite and its contents (default_gui.py) - Now works to run locally from bin directory. Thanks again to Michael Behrisch (texttest.py) - "Extra versions" write to sensible batch repository locations when no version given on command line (batch.py) - Website generation works for "Extra version" applications even if the parent is blocked or has no data (batch.py)
Version 3.13 ============ Dynamic GUI Enhancements: - "Save As" dialog has a new field "Version to save previous results as" Means old default results can be preserved as a version, for example after a branch of the codebase Framework Enhancements: - Can now have application-specific personal configuration files (testmodel.py) Files called ~/.texttest/config.<app> will be picked up as well as ~/.texttest/config now. - Can now combine filter files with each other and refer to them from each other. (default.py) New settings --fintersect, --funion and --finverse. See website documentation of these. - Can now disable normalisation of percentage differences for performance (performance.py) New config file setting "performance_use_normalised_%". See website docs on this subject. - import_config_file now works like import statements in programming languages (testmodel.py) It's now exactly equivalent to pasting the contents into the file at that point. - Can now provide several checkouts on the command line with -c <checkout1>,<checkout2> Internally a version is generated for all except the first one - Config file error handling improved (plugins.py) Now get a wider range of warnings and don't get the same warning lots of time. Looks for missing [end] statements. - Self-diagnostics moved to ~/.texttest/log by default (engine.py) But still fully configurable. Default log config file now lives with the source under log subdirectory. Along with a script to regenerate it if desired. - Site-specific configuration files now read from site/etc/config if present (testmodel.py) - New command-line option --vanilla which starts TextTest without personal (or site-specific) configuration. (testmodel.py) - Traffic mechanism's algorithm for inexact matches with previous commands improved (traffic.py) It previously tended to prefer arguments to disappear entirely than to change to something else. It also handle's TextTest's sandbox directly now. - Can now get stacktraces from running TextTest processes on UNIX (engine.py) Send it SIGQUIT. Thread structure simplified also to make this more useful. - We now restart Xvfb (virtual server on UNIX) if it crashes before its time (unixonly.py) This prevents one Xvfb crash causing multiple test failures. - Config file settings "test_list_files_directory" and "testoverview_colours" renamed for consistency (default.py) They are now "filter_file_directory" and "historical_report_colours" respectively. The old names still work as aliases. Historical HTML Batch Report Enhancements: - HTML report now organises history into months instead of generating an "All" page (testoverview.py) It's much more flexible now and the old behaviour can be restored. See Migration notes and website. - Now creates links to "extra versions" from the top of each major version (testoverview.py) - Now include date of generation in page title (testoverview.py) - HTML table headers are now 13-point font and should be easier to read (testoverview.py) - "Last Six Days" page is now called "Last Six Runs" for consistency with named runs (testoverview.py) Email Batch Report Enhancements: - New config file setting "batch_collect_max_age_days" This is used to prevent the email report finding old results if the new ones are not present (batch.py) - New config file setting "batch_collect_compulsory_version" This is used to generate error messages in the email report if results are not found for some version (batch.py) CVS Browser Enhancements/bug fixes: - Now enabled automatically if tests are CVS-controlled, don't need to set interactive_action_module (cvs.py) - Never ignores non CVS-controlled files now (cvs.py) - Finds versions correctly in dynamic GUI now and can be called on running tests (cvs.py) - Category "Unknown" no longer shown as "Unknow" (cvs.py) - "tkdiff" no longer hardcoded as graphical difference tool in CVS browser, uses "diff_program" as it should (cvs.py) - Error messages improved and standardised (cvs.py) - "CVS log" now handles date format produced by CVS 1.12 (cvs.py) Previously only tested on CVS 1.11 Grid Engine (LSF/SGE) enhancements: - Information about other processes on the machine improved (queuesystem.py) Doesn't report itself, picks up processes from other users (SGE) and reports the job ID Installation and self-test changes: - Self-tests (and source code) are now available from Launchpad, if you're changing the code you should get them from there - CVS browser tests greatly improved and come with an entire CVS repository. (cvs.py) Bug Fixes: - Reconnecting to runs done with -v v1,v2 is now possible (reconnect.py) Though they generate rather longer temporary path names to make this possible - Reconnecting explicitly to versioned runs is never rejected (reconnect.py) Previously you had to fill in the version in the matching field. - Fixed problem where scripts such as the HTML report builder could not be interrupted (engine.py) They now respond appropriately to signals. - Don't fail to cleanup sandbox if the SUT creates readonly files (plugins.py) We change permissions if needed before removing now. - When the same dialog is created twice, start with previously hand-entered values in preference to those from gui_entry_override (guiplugins.py) - Can now add two applications from the static GUI as part of the same run (texttestgui.py) - Can now load selections from multiple version runs into a single-version run, usually static GUI (plugins.py) - When a parent category is hidden in the dynamic GUI status view, new children of it will also start hidden (texttestgui.py) - Fixed shortcut stacktrace when adding a third application from the static GUI when two already exist (default_gui.py) - Saving version b.a will now overwrite <file>.a.b instead of creating <file>.b.a. (comparefile.py) - Reconnecting to version a will now pick up a single run with version a.b, as well as multiple ones! (reconnect.py) - No longer fail if executable missing when trying to reconnect (default.py) - extra_search_directory entries are now searched in the right order when looking for imported config files (testmodel.py) - HTML report columns for named batch runs done on the same day will now be sorted sensibly (testoverview.py) - Don't crash if config file is a directory or a dead link (engine.py) - warning removed if extra_search_directory can't be found: this is after all equivalent to $PATH (testmodel.py) - Recomputation always recreates the Text Info window now, even if TextTest didn't believe it was necessary (comparefile.py) - Don't crash creating "Save Selection" dialog if no permissions to create filter_files directory (plugins.py) - No longer rely on gethostname() returning a simple name (plugins.py) - Running virtual server remotely won't generate spurious stacktraces in logs any more (unixonly.py) - TextTest won't hang any more if a previous virtual server process leaks its lock file (unixonly.py) - Fixed crash with LANG=C, introduced in 3.12 when trying to make Swedish authors come out right! (plugins.py) Grid Engine bug fixes: - Clearer error message when the grid engine (qsub/bsub) cannot be found (queuesystem.py)
Version 3.12.1 ============== Installation and self-test changes: - ViewHelp self-test fixed, oversight in 3.12 release - 2 reconnect self-tests fixed on Ubuntu that worked on both RHEL and Windows... - Self-test coverage work: tests added, dead code removed, no-coverage pragmas added. Coverage now 97.2% Bug Fixes to 3.12: - Reconnecting to several runs simultaneously with extra versions will find all extra versions correctly (reconnect.py) - Reconnecting to extra version tests only now works correctly in the static GUI (default_gui.py) - Fixed bug where multiple reconnected runs might not be grouped correctly - relates to Ubuntu tests above (reconnect.py) - When viewing bugzilla bugs in the browser from the UI, update the status bar correctly (texttestgui.py) Fixes for older bugs: - Fixed problem where recompute needed pressing twice if changing baseline file with run-dependent text (default.py) - "catalogue_process_string" setting now works on Windows (sandbox.py) - traffic.ModifyTraffic script now works on Windows (traffic.py) - Fixed crash when providing filter arguments without options on command line, e.g. "texttest.py -t" (default.py) - Error message when PyGTK not found is now more informative (texttestgui.py)
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?