3
I Use This!
Inactive

Commits : Listings

Analyzed about 22 hours ago. based on code collected about 22 hours ago.
Sep 02, 2024 — Sep 02, 2025
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
* qm/fields.py (ChoiceField): New class. * qm/test/test.py (Test.ResourceField): Likewise. (Test.TestField): Likewise. (Test.arguments): Use them. More... over 22 years ago
* qm/test/result.py (Result): Update documentation string to more clearly describe annotations. * qm/test/web/web.py (ResultPage.__init__): Do not add a "This Test" link to the run menu for a resource. (ResultPage.MakeRunUrl): Rename to ... (ResultPage.GetRunURL): ... this. (ResultPage.GetResultURL): ... new method. (StorageResultsStream.GetResult): New method. (QMTestServer.HandleShowResults): Use it. * qm/test/share/dtml/result.dtml: Display links to resources, as appropriate. * NEWS: Note that links to results are now available. More... over 22 years ago
* qm/test/web/web.py (NewItemPage.GetClassDescriptions): Use self.class_names to get the list of classes. * NEWS: Note that "File/New Resource" now operates correctly. More... over 22 years ago
Use binary mode for results files More... almost 23 years ago
* qm/test/doc/tour.xml: Update for QM 2.0. More... almost 23 years ago
* qm/fields.py (SetPopupPage): Remove. (TupleField.GetValueFromDomNode): Fix typo. (TupleField.MakeDomNodeForValue): Likewise. More... almost 23 years ago
*** empty log message *** More... almost 23 years ago
* NEWS: Note that Netscape 4 is no longer a supported browser. * doc/manual/common-manual.xml: Likewise. * qm/platform_unix.py (open_in_browser): Default to mozilla. * qm/web.py (DTMLPage.GenerateEndBody): Remove Problems? link. (DTMLPage.MakeMenuItem): Remove. (WebRequestHandler.__HandleScriptRequest): Change shutdown message. * qm/test/share/dtml/dir.dtml: Add logo. * qm/test/share/dtml/navigation-bar.dtml: Rework menu logic. * qm/test/web/web.py (QMTestPage.__init__): Update menu items to use URLs, not JavaScript code. * share/dtml/problems.dtml: Remove second parameter to GenerateEndBody. * share/dtml/user.dtml: Likewise. * share/web/common.js (get_left): New function. (get_right): Likewise. (get_top): Likewise. (get_bottom): Likewise. (is_parent_of): Likewise. * share/web/images/logo.png: New file. * share/web/stylesheets/qm.css: Update style for menus. More... almost 23 years ago
* qm/test/web/web.py (ResultPage.__init__): Add "This Test" to run menu. (ResultPage.MakeRunUrl): New method. * qm/test/share/dtml/result.dtml (run_test): New method. More... almost 23 years ago
* qm/test/base.py (load_results): Support pickled results files. * qm/test/cmdline.py (xml_result_stream): Don't import it. (pickle_result_stream): Do import it. (QMTest.__ExecuteRun): Use PickleResultStream. * qm/test/pickle_result_stream: New file. * qm/test/web/web.py (xml_result_stream): Don't import it. (pickle_result_stream): Do import it. (QMTestServer.HandleSaveResults): Use PickleResultStream. (QMTestServer.HandleSaveExpectations): Likewise. * share/dtml/exception.dtml: Remove out-of-date language. More... almost 23 years ago
* qm/test/context.py (ContextException.__init__): Initialize the base class. * qm/test/result.py (ContextException): Import it. (Result.NoteException): Handle ContextExceptions specially. * qm/test/target.py (Target.RunTest): But don't do so here. * qm/test/text_result_stream.py (TextResultStream.WriteResult): Output annotations. (TextResultStream._DisplayAnnotations): New method. More... almost 23 years ago
* qm/executable.py (Executable.Spawn): Refine previous patch. More... almost 23 years ago
* qm/executable.py (Executable.Spawn): Handle relative pathnames in a platform-independent manner. (RedirectedExecutable._DoParent): Fix typo. More... almost 23 years ago
* qm/test/database.py (is_database): Check more carefully. * qm/test/text_result_stream.py (TextResultStream._DisplayResult): Show annotations for failing tests even in "brief" mode. * tests/QMTest/selfdb.py (RegressionDatabase.GetTestIds): Use is_database. * tests/QMTest/selftest.py (RegTest.Run): Use <pre> tags to tidy output. More... almost 23 years ago
* README: Update installation instructions. More... almost 23 years ago
* qm/executable.py (cPickle): Import it. (fcntl): Likewise. (select): Likewise. (F_GETFD): New constant. (F_SETFD): Likewise. (FD_CLOEXEC): Likewise. (Executable.Spawn): Add exception_pipe parameter. Return the PID of the child. (Executable.Run): Create the exception_pipe. * qm/platform_unix.py (RunProgramError): Remove. (ProgramStoppedError): Likewise. (ProgramTerminatedBySignalError): Likewise. (replace_program): Likewise. (run_program): Likewise. (run_program_captured): Likewise. * qm/test/classes/process_target.py (ProcessTarget.QMTestExecutable): New class. (ProcessTarget.Start): Use it. * tests/QMTest/selftest.py (RegTest.Run): Use Executable. More... almost 23 years ago
Correct Windows logic More... almost 23 years ago
* qm/executable.py: New file. * qm/test/classes/command.py (ExecTestBase.RunProgram): Use RedirectedExecutable to encapsulate execution. More... almost 23 years ago
* qm/read_thread.py: New file. * qm/write_thread.py: Likewise. * qm/test/classes/command.py: Use them. More... almost 23 years ago
* NEWS: Mention uniform extension file format. * qm/extension.py (parse_dom_element): Extend backwards compatibility tricks. * qm/test/base.py (_get_db_configuration_path): Remove. (is_database): Likewise. (load_database): Likewise. (create_database): Likewise. (count_outcomes): Likewise. * qm/test/cmdline.py (QMTest.GetDatabase): Adjust call to load_database. * qm/test/database.py (get_configuration_file): New function. (is_database): Likewise. (create_database): Likewise. (load_database): Likewise. * qm/test/text_result_stream.py (TextResultStream._CountOutcomes): New method. * qm/test/share/dtds/resource.dtd: Remove. * qm/test/share/dtds/target.dtd: Likewise. * qm/test/share/dtds/test.dtd: Likewise. * qm/test/share/dtds/tdb-configuration.dtd: Likewise. More... almost 23 years ago
* NEWS: Mention automatic use of context files. * qm/common.py (MapReplacer): Remove. (OrderedMap): Likewise. (replace_by_map): Likewise. (invert_map): Likewise. * qm/tetst/cmdline.py (QMTest.MakeContext): Use Context.Read. * qm/test/context.py (Context.Read): New method. * qm/test/doc/reference.xml: Document automatic use of -C option. More... almost 23 years ago
* qm/fields.py (BooleanField): New class. * qm/xmlutil.py (ParseError): Remove. (load_xml_file): Revise docoumentation. (load_xml): Likewise. * qm/test/cmdline.py (__ExecuteSummarize): Handle XML parse errors gracefully. * qm/test/database.py (Database.arguments): Add modifiable. (Database.IsModifiable): New method. * qm/test/execution_engine.py (ExecutionEngine._AddResult): Tweak handling of resource results. * qm/test/file_database.py (FileDatabase._AreLabelsPaths): New method. Use it throughout. * qm/test/result.py (Result.RESOURCE_SETUP): New variable. (Result.RESOURCE_CLEANUP): Likewise. (Result.ACTION): Remove. (Result.kinds): Update. (Result.NoteException): Use HTML formatting for traceback. * qm/test/target.py (Target._RecordResult): Do not record the target if it is the local target. (Target._SetUpResource): Use RESOURCE_SETUP. (Target._CleanUpResource): Use RESOURCE_CLEANUP. * qm/test/text_result_stream.py (TextResultStream.WriteResult): Tweak handling of resource results. (TextResultStream._DisplayResult): Process HTML formatting. Adjust calls to _WriteOutcome. (TextResultStream._WriteOutcome): Distinguish resource results from test results. * qm/test/classes/command.py (ExecTestBase.Run): Use HTML formatting. * qm/test/classes/file_label.py (FileLabel.IsValid): Remove. * qm/test/classes/xml_database.py (XMLDatabase._GetTestFromPath): Hande XML parse errors gracefully. (XMLDatabase._GetResourceFromPath): Likewise. * qm/test/share/dtml/result.dtml: Take advantage of HTML formatting of annotations. * qm/test/web/web.py (QMTestPage.__init__): Do not show editing choices if the database is not modifiable. More... almost 23 years ago
* qm/test/database.py (Database._LabelToPath): Rename to ... (Database.LabelToPath): ... this. * qm/test/file_database.py (FileDatabase._GetPathFromLabel): Adjust. (ExtensionDatabase._GetPathFromLabel): Likewise. * qm/test/classes/xml_database.py (XMLDatabase.__MakeDataFilePath): Likewise. More... almost 23 years ago
* qm/extension.py (make_dom_element): Add element parameter. (make_dom_document): New method. * qm/test/base.py (dtds): Update. * qm/test/database.py: Import Runnable. (ItemDescriptor.GetItem): Pass along the test database to the newly created item. * qm/test/resource.py (Resource): Derive from Runnable. (Resource.arguments): Remove. * qm/test/result.py: Fix formatting. * qm/test/runnable.py (Runnable): New file. * qm/test/test.py (Test): Derive from Runnable. (Test.arguments): Remove. (Test.GetId): Remove. * qm/test/classes/command.py (ExecTestBase.GetEnvironment): Be careful about what kinds of context variables are propagated into the environment. * qm/test/classes/file.py (FileContentsTest): Simplify. * qm/test/clasess/python.py (ExecTest): Likewise. * qm/test/classes/xml_database.py (WriteTest): Just use make_dom_document. (WriteResource): Likewise. * qm/test/doc/reference.xml: Update context documentation. * qm/test/web/web.py (QMTestServer): Adjust checking of new test names. * tests/xmldb/QMTest/.cvsignore: New file. * tests/xmldb/QMTest/classes.qmc: Likewise. * tests/xmldb/QMTest/test_interface.py: Likewise. * tests/xmldb/api.qms/test.qms/test_interface.qmt: Likewise. More... almost 23 years ago
* GNUmakefile.in (check-threads): Create the target file on the fly. (check-processes): Likewise. * qm/attachment.py: Use atexit. * qm/common.py (add_exit_function): Remove. (exit): Likewise. (print_message): Likewise. (_exit_functions): Likewise. (_foreign_exit_functions): Likewise. * qm/extension.py (Extension.__init__): Use get_class_arguments_as_dictionary. (get_class_arguments): Rework. (get_class_arguments_as_dictionary): Likewise. (get_class_description): New method. (get_extension_class_name): Likewise. (validate_arguments): Likewise. (make_dom_element): Likewise. (parse_dom_element): Likewise. * qm/fields.py: Substantial revisions. (TupleField): New class. (SetField): Rework display logic. * qm/qm.sh (QM_PATH): Export it. * qm/user.py (XmlDatabase.Write): Tidy. * qm/web.py (WebServer.Bind): Use atexit. * qm/xmlutil.py (write_dom_document): Remove. * qm/test/base.py (get_db_configuration_directory): Remove. (_get_db_configuration_path): Update. (is_database): Likewise. (create_database): Likewise. (get_extension_directories): Tidy. (get_class_description): Remove. * qm/test/cmdline.py: Add create-target option. (QMTest.GetTargetFileName): New method. (QMTest.GetTargetsFromFile): Likewise. (QMTest.GetTargets): Use them. (QMTest.__ExecuteCreateTarget): New method. * qm/test/database.py (TestDescriptor.__init__): Remove prerequisites, categories, resources. (TestDescriptor.GetCategories): Remove. (Database.GetConfigurationDirectory): New method. (get_configuration_directory): New function. * qm/test/qmtest.py (print_error_message): Simplify. Use sys.exit, not qm.exit. * qm/test/resource.py (Resource.kind): New class variable. * qm/test/target.py (Target.kind): Likewise. (Target.RunTest): Provide more information about interrupted tests. * qm/test/test.py (Test.kind): New class variable. (Test.arguments): Mark "id" as computed. Add prerequisites. Add resources. * qm/test/classes/process_target.py: Use integer fields where possible. * qm/test/classes/rsh_target.py: Fix typo in comment. * qm/test/classes/thread_target.py: Use integer fields where possible. * qm/test/classes/xml_database.py: Use XML processing code from the extension module throughout. * qm/test/doc/reference.xml: Update. * qm/test/share/dtml/show.dtml: Simplify. * qm/test/share/dtml/add-category.dtml: Remove. * qm/test/share/dtml/add-prerequisite.dtml: Remove. * qm/test/share/dtml/add-resource.dtml: Remove. * qm/test/share/messages/diagnostics.txt: Update. * qm/test/web/web.py (AddPrerequisitePage): Remove. (AddResourcePage): Remove. (MakePrerequisitesControl): Likewise. (MakeResourcesControl): Likewise. (HandleAddPrerequisite): Likewise. (QMTestServer.SubmitItem): Simplify. * tests/QMTest/selfdb.py (QMSelftestDatabase._QualifyTests): Adjust. More... almost 23 years ago
* README: Fix formatting. * qm/common.py (FileSystemMutex): Remove. * qm/common.py (open_temporary_file): Raise QMExceptions, not other varieties of Exception. (make_temporary_directory): Likewise. * qm/fields.py (Field.GetProperty): Likewise. * qm/platform.py (MailError): Derive from QMException. * qm/platform_unix.py (SignalException.__init__): Fix typo. (send_email): Raise QMExceptions. (run_program): Likewise. (run_program_captured): Likewise. * qm/web.py: Likewise. (AddressInUseError): Derive from QMException. (PrivilegedPortError): Likewise. (NoSessionError): Likewise. (InvalidSessionError): Likewise. * qm/test/base.py (create_database): Allow the creation of databases in existing directories. * qm/test/cmdline.py (qm.test.web.web): Import it. (signal): Likewise. (QMTest.daemon_option_spec): New class variable. (QMTest.pid_file_option_spec): Likewise. (QMTest.commands_spec): Add them. (QMTest.ExecuteServer): Handle them. * qm/test/qmtest.py: Handle SignalExceptions. * qm/test/doc/reference.xml: Add documentation for --daemon and --pid-file. * qm/test/share/messages/diagnostics.txt: Remove db path exists message. * qm/test/util/README: New file. * qm/test/util/svr4_init/red_hat_linux: Likewise. * qm/test/web/web.py: Use qm.test.cmdline.QMTest instead of QMTest throughout. More... almost 23 years ago
* qm/test/execution_engine.py (ExecutionEngine._CheckForResponse): Decrement running here. (ExecutionEngine._AddResult): Not here. (ExecutionEngine._AddUntestedResult): Do not muck with running here. More... about 23 years ago
* tests/QMTest/thread_target: New file. * tests/QMTest/process_target: New file. More... about 23 years ago
* GNUmakefile.in (check): Use check-serial, check-threads, check-processes. (check-serial): New target. (check-threads): Likewise. (check-processes): Likewise. * qm/test/cmdline.py (QMTest.Execute): Return a value. (QMTest.GetTargets): Handle errors in the target file more gracefully. (QMTest.__ExecuteRun): Return a value. (QMTest.__ExecuteRemote): Likewise. (QMTest.__ExecuteSummarize): Likewise. (QMTest.__GetExpectedOutcomes): Always return a valid map. * qm/test/qmtest.py: Return a non-zero exit code if there are unexpected outcomes. * qm/test/resource.py (Resource.arguments): Correct use of hidden parameter. * qm/test/test.py (Test.arguments): Likewise. * qm/test/classes/process_target.py (ProcessTarget.arguments): Fix typo in default_value for database_path. (ProcessTarget.__init__): Fix typo. (ProcessTarget.Start): Use "self.processes" not "self.concurrency". * qm/test/classes/rsh_target.py (RSHTarget.__init__): Likewise. * qm/test/classes/thread_target.py (ThreadTarget.arguments): Fix use of default_value. (ThreadTarget.__init__): Expect "concurrency" to be a string. * qm/test/share/dtml/dir.dtml: Fix grammar in displayed message. * qm/test/share/messages/diagnostics.txt: Add message. More... about 23 years ago
Revised test suite. More... about 23 years ago