Regression testing #151
Replies: 8 comments 2 replies
-
Been down sick. Back at it in a couple of days. 🤒 |
Beta Was this translation helpful? Give feedback.
-
The illness took longer than expected. Then spend several days finding the cause of an exception deep in a 3rd-party library related to the new TooltipsTable class used in the Browser and System, Hints. Took a while to find a solution. Along the way updated the FlatLaF libraries, changed the Log tab font for Windows and Mac and fixed minor things. Regression testing continues. |
Beta Was this translation helpful? Give feedback.
-
Somehow broke Browser table sorting in the last set of changes. Working on it. |
Beta Was this translation helpful? Give feedback.
-
Fixed Browser table sorting. However, after a lot of time debugging found what I believe to be a bug in Java Swing RowSorter for JTable that I could not find a workaround for. When implementing a subclass of JTable for the TooltipsTable method getToolTipText() sorting by the column header stops working. As a basic subclass that should not be a problem, but it is. So reverted to using JTable instead of the TooltipsTable subclass. Will look into alternatives to fix that problem. But wanted to get sorting to work again first. Related: |
Beta Was this translation helpful? Give feedback.
-
ELS uses an Ant script for builds. However there has been a problem with using the latest versions of log4j due to getCallerClass() restrictions where a warning is always shown. This is because log4j uses an annotation-generated Log4j2Plugins.dat to describe were the class loader can find the custom GuiLogAppender log4j plug-in used in ELS. But there is more than one. ELS strives to deliver a single Jar with everything needed. That means unpacking all the library Jars into the ELS Jar. That creates a conflict with multiple Log4j2Plugins.dat files that need to be merged. After a couple of days trying to find a solution for Ant scripts I finally decided to solve the problem by creating a new project. MergeLog4j2Plugins has been added to GitHub and the tool added to the Ant build for ELS. MergeLog4j2Plugins.jar is in artifacts/bin/. Much cleaner start-up 🤓 Important for cron error handling. |
Beta Was this translation helpful? Give feedback.
-
Regression and general testing continues. Finding a variety of things small and not so much. See the Changelist. Well shucks ... seems the Help dialog "flutter" in Windows is still a problem - only the first time it's used. Humph |
Beta Was this translation helpful? Give feedback.
-
ELS uses a TransferHandler to perform operations in the Navigator Browser. Those operations should be executed on the Event Dispatch Thread (EDT). However when that approach is used the rest of the GUI cannot do anything until the operation is completed. ELS supports the concept of "batching" multiple operations - one after another while operations are executing. This is accomplished by using a separate SwingWorker thread in the TransferHandler to perform actual data transfers. That creates a conflict with auto-refresh of the tree and table while one or more operations are executing. That conflict causes exceptions, and in some cases a complete lock-up of the GUI. Have spent weeks experimenting and trying to find a solution. However, there does not appear to be a straight-forward answer, including advice from multiple tech sources. The fundamental issue is that extra thread and auto-refresh while operations are executing. This is particularly obvious when using a remote Subscriber and large files. SolutionAm adding a "Batch Operations" checkbox that will disable Auto-Refresh (with a warning) when selected. So if Auto-Refresh is desired operations cannot be "batched". That is, one operation at a time instead of being able to perform additional copy/cut/paste and delete while operations are executing. If batching is enabled a simple Refresh will update the Browser. If anyone has a better solution please respond. |
Beta Was this translation helpful? Give feedback.
-
After almost 3 months of testing, building a new project to solve a log4j2 plug-in build issue, and chasing some nasty bugs and one design problem finally calling regression testing complete: Bugs might still be found but moving on to: |
Beta Was this translation helpful? Give feedback.
-
Before releasing a Beta of Version 4.0 a detailed set of regression tests are required. Basically trying to catch all the things I've missed.
This is a time-consuming process on three platforms, Linux, Windows and macOS. The tests, as described in mock/scripts/README.md, and the test data in the mock/ directory are slowly being refined.
Once that is done the Wiki documentation and release notes will be updated and extended for all the new stuff.
It's getting there ...
Ideas, complaints, etc. are welcome.
Beta Was this translation helpful? Give feedback.
All reactions