This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 247408 - Server Side Split: run sigtests with bytecode patching
Summary: Server Side Split: run sigtests with bytecode patching
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: -- Other -- (show other bugs)
Version: 8.1
Hardware: PC Linux
: P1 normal (vote)
Assignee: Jaroslav Tulach
URL:
Keywords:
Depends on: 247803
Blocks: 247200
  Show dependency tree
 
Reported: 2014-09-23 15:00 UTC by Jaroslav Tulach
Modified: 2014-10-18 05:12 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jaroslav Tulach 2014-09-23 15:00:33 UTC
We need to run signature tests before bug 247200 gets merged into trunk and verify our changes are compatible "enough" without patching and fully compatible with patching.

To do so I suggest to run

$ ant check-sigtests-release

and when it fails - e.g. on differences with NetBeans 8.0.1:

#1 - write a sample test that verifies (probably via reflection) that the needed method is available in NetBeans container (run the test via NbModuleSuite)

#2 - remove the method from the sigtest file

this way we can balance the compatibility and leave past behind us. The new sigtest files will only mention supported APIs from now on.
Comment 1 Jaroslav Tulach 2014-09-24 13:34:51 UTC
Let's do all mangling with .sig files and creation of compatiblity tests on SigTestForSplit247408 branch in jet-main. 

Once a compatibility test is written, merge into server_split, like:
http://hg.netbeans.org/jet-main/rev/4cf10f9c77af

Found one error in MultiFileSystem and few errors in org.netbeans.modules.progress.spi.InternalHandle (just run ant check-sigtest). Passing to Sváťa to fix the InternalHandle, then we can continue.
Comment 2 Svata Dedic 2014-09-26 20:45:16 UTC
Progress API changes were reworked in changeset jet-main#76c8212674f0
I've added several other compatibility tests to check return values affected by removed APIs.
Comment 3 Svata Dedic 2014-09-26 20:46:04 UTC
FileSystems fixed in jet-main#31789044fdbf
Comment 4 Jaroslav Tulach 2014-10-07 14:51:19 UTC
Sváťo, I tried revision 881eb115f249 and 
$ cd api.progress.nb
$ ant check-sigtest
fails. But I see the tests for changed in 76c8212674f0 on top of my original a4c27ba23256. So I think everything is OK and I am modifying the signature file:
2cd0a4ef3548, please check if the change is reasonable. Thanks.
Comment 5 Jaroslav Tulach 2014-10-07 15:23:40 UTC
Next issues are related to api.xml:

  [sigtest] /home/jtulach/src/netbeans/nbbuild/build/sigtest/check-release/org.netbeans.api.xml
  [sigtest] Packages: org.netbeans.api.xml.cookies.*, org.netbeans.api.xml.parsers.*, org.netbeans.api.xml.services.*, org.netbeans.spi.xml.cookies.*, org.netbeans.spi.xml.services.*
  [sigtest] 
  [sigtest] email: api-changes@netbeans.org
  [sigtest] SignatureTest report
  [sigtest] Base version: 1.39
  [sigtest] Tested version: 1.41
  [sigtest] Check mode: bin [throws removed]
  [sigtest] Constant checking: on
  [sigtest] 
  [sigtest] 
  [sigtest] Class org.netbeans.api.xml.cookies.CheckXMLCookie
  [sigtest]   "E1.2 - API type removed" : CLASS public abstract interface org.netbeans.api.xml.cookies.CheckXMLCookie
  [sigtest] 
  [sigtest] Class org.netbeans.api.xml.cookies.CookieMessage
  [sigtest]   "E1.2 - API type removed" : CLASS public final org.netbeans.api.xml.cookies.CookieMessage
  [sigtest] 
  [sigtest] Class org.netbeans.api.xml.cookies.CookieObserver
  [sigtest]   "E1.2 - API type removed" : CLASS public abstract interface org.netbeans.api.xml.cookies.CookieObserver
  [sigtest] 
  [sigtest] Class org.netbeans.api.xml.cookies.TransformableCookie
  [sigtest]   "E1.2 - API type removed" : CLASS public abstract interface org.netbeans.api.xml.cookies.TransformableCookie
  [sigtest] 
  [sigtest] Class org.netbeans.api.xml.cookies.ValidateXMLCookie
  [sigtest]   "E1.2 - API type removed" : CLASS public abstract interface org.netbeans.api.xml.cookies.ValidateXMLCookie
  [sigtest] 
  [sigtest] Class org.netbeans.api.xml.cookies.XMLProcessorDetail
  [sigtest]   "E1.2 - API type removed" : CLASS public abstract org.netbeans.api.xml.cookies.XMLProcessorDetail
  [sigtest] 
  [sigtest] Class org.netbeans.spi.xml.cookies.CheckXMLSupport
  [sigtest]   "E1.2 - API type removed" : CLASS public org.netbeans.spi.xml.cookies.CheckXMLSupport
  [sigtest] 
  [sigtest] Class org.netbeans.spi.xml.cookies.DataObjectAdapters
  [sigtest]   "E1.2 - API type removed" : CLASS public final org.netbeans.spi.xml.cookies.DataObjectAdapters
  [sigtest] 
  [sigtest] Class org.netbeans.spi.xml.cookies.DefaultXMLProcessorDetail
  [sigtest]   "E1.2 - API type removed" : CLASS public org.netbeans.spi.xml.cookies.DefaultXMLProcessorDetail
  [sigtest] 
  [sigtest] Class org.netbeans.spi.xml.cookies.TransformableSupport
  [sigtest]   "E1.2 - API type removed" : CLASS public final org.netbeans.spi.xml.cookies.TransformableSupport
  [sigtest] 
  [sigtest] Class org.netbeans.spi.xml.cookies.ValidateXMLSupport
  [sigtest]   "E1.2 - API type removed" : CLASS public org.netbeans.spi.xml.cookies.ValidateXMLSupport
  [sigtest]
Comment 6 Jaroslav Tulach 2014-10-08 10:06:02 UTC
org.openide.execution
Packages: org.openide.execution.*
Base version: 1.36
Tested version: 9.0
Class org.openide.execution.NbClassPath
  "E1.2 - API type removed" : method public final static org.openide.execution.NbClassPath org.openide.execution.NbClassPath.createRepositoryPath()
Comment 7 Jaroslav Tulach 2014-10-08 10:15:54 UTC
Class org.openide.filesystems.FileSystem
 "E1.2 - API type removed" : method public org.openide.filesystems.FileSystem$Status org.openide.filesystems.FileSystem.getStatus()
Class org.openide.filesystems.FileSystem$HtmlStatus
 "E1.2 - API type removed" : CLASS public abstract interface static org.openide.filesystems.FileSystem$HtmlStatus
Class org.openide.filesystems.FileSystem$Status
 "E1.2 - API type removed" : CLASS public abstract interface static org.openide.filesystems.FileSystem$Status

org-openide-filesystems.sig
Comment 8 Jaroslav Tulach 2014-10-08 12:39:47 UTC
  [sigtest] Packages: org.netbeans.api.project.ant.*, org.netbeans.spi.project.ant.*, org.netbeans.spi.project.support.ant.*, org.netbeans.spi.project.support.ant.ui.*
  [sigtest] 
  [sigtest] Class org.netbeans.api.project.ant.FileChooser
  [sigtest]   "E1.2 - API type removed" : CLASS public final org.netbeans.api.project.ant.FileChooser
  [sigtest] 
  [sigtest] Class org.netbeans.spi.project.support.ant.ReferenceHelper
  [sigtest]   "E1.2 - API type removed" : method public final org.netbeans.api.project.libraries.LibraryChooser$LibraryImportHandler org.netbeans.spi.project.support.ant.ReferenceHelper.getLibraryChooserImportHandler()
  [sigtest] 
  [sigtest] Class org.netbeans.spi.project.support.ant.ui.CustomizerUtilities
  [sigtest]   "E1.2 - API type removed" : CLASS public final org.netbeans.spi.project.support.ant.ui.CustomizerUtilities
  [sigtest] 
  [sigtest] Class org.netbeans.spi.project.support.ant.ui.CustomizerUtilities$LicensePanelContentHandler
  [sigtest]   "E1.2 - API type removed" : CLASS public abstract interface static org.netbeans.spi.project.support.ant.ui.CustomizerUtilities$LicensePanelContentHandler
  [sigtest] 
  [sigtest] Class org.netbeans.spi.project.support.ant.ui.StoreGroup
  [sigtest]   "E1.2 - API type removed" : CLASS public org.netbeans.spi.project.support.ant.ui.StoreGroup
  [sigtest] 
  [sigtest] Class org.netbeans.spi.project.support.ant.ui.VariablesSupport
  [sigtest]   "E1.2 - API type removed" : CLASS public org.netbeans.spi.project.support.ant.ui.VariablesSupport
  [sigtest]
Comment 9 Jaroslav Tulach 2014-10-08 12:41:24 UTC
check-sigtest:
  [sigtest] /home/jtulach/src/netbeans/nbbuild/build/sigtest/check-release/org.netbeans.modules.project.libraries
  [sigtest] Packages: org.netbeans.api.project.libraries.*, org.netbeans.spi.project.libraries.*, org.netbeans.spi.project.libraries.support.*
  [sigtest] 
  [sigtest] Class org.netbeans.api.project.libraries.LibrariesCustomizer
  [sigtest]   "E1.2 - API type removed" : CLASS public final org.netbeans.api.project.libraries.LibrariesCustomizer
  [sigtest] 
  [sigtest] Class org.netbeans.api.project.libraries.LibraryChooser
  [sigtest]   "E1.2 - API type removed" : CLASS public final org.netbeans.api.project.libraries.LibraryChooser
  [sigtest] 
  [sigtest] Class org.netbeans.api.project.libraries.LibraryChooser$Filter
  [sigtest]   "E1.2 - API type removed" : CLASS public abstract interface static org.netbeans.api.project.libraries.LibraryChooser$Filter
  [sigtest] 
  [sigtest] Class org.netbeans.api.project.libraries.LibraryChooser$LibraryImportHandler
  [sigtest]   "E1.2 - API type removed" : CLASS public abstract interface static org.netbeans.api.project.libraries.LibraryChooser$LibraryImportHandler
  [sigtest] 
  [sigtest] Class org.netbeans.api.project.libraries.LibraryChooser$Panel
  [sigtest]   "E1.2 - API type removed" : CLASS public abstract interface static org.netbeans.api.project.libraries.LibraryChooser$Panel
  [sigtest] 
  [sigtest] Class org.netbeans.spi.project.libraries.LibraryCustomizerContext
  [sigtest]   "E1.2 - API type removed" : CLASS public org.netbeans.spi.project.libraries.LibraryCustomizerContext
  [sigtest]
Comment 10 Jaroslav Tulach 2014-10-08 12:57:05 UTC
> org-openide-filesystems.sig

Fixed in: 562a3a2dd3db
branch:      SigTestForSplit247408
tag:         tip
user:        Jaroslav Tulach <jtulach@netbeans.org>
date:        Wed Oct 08 14:55:23 2014 +0200
summary:     Adjusting signature files to getStatus() change in FileSystem done as 57447e2c930a
Comment 11 Jaroslav Tulach 2014-10-08 13:26:13 UTC
> org.openide.execution.NbClassPath
> org.openide.execution.NbClassPath.createRepositoryPath()

Fixed in 48fb0955c5bf
branch:      SigTestForSplit247408
tag:         tip
user:        Jaroslav Tulach <jtulach@netbeans.org>
date:        Wed Oct 08 15:25:02 2014 +0200
summary:     Adjusting openide.execution to removal of createRepositoryPath
Comment 12 Jaroslav Tulach 2014-10-08 14:20:39 UTC
>   [sigtest] Class org.netbeans.api.xml.cookies.CheckXMLCookie
>   [sigtest]   "E1.2 - API type removed" : CLASS public abstract interface
> org.netbeans.api.xml.cookies.CheckXMLCookie

Fixed in ebf8eee34bfb
branch:      SigTestForSplit247408
tag:         tip
user:        Jaroslav Tulach <jtulach@netbeans.org>
date:        Wed Oct 08 16:17:38 2014 +0200
summary:     Removing the UI part of the sigtest and moving it to api.xml.ui
Comment 13 Jaroslav Tulach 2014-10-08 14:29:37 UTC
>   [sigtest] Class org.netbeans.api.project.libraries.LibrariesCustomizer
>   [sigtest]   "E1.2 - API type removed" : CLASS public final
> org.netbeans.api.project.libraries.LibrariesCustomizer

Fixed in 424969f87a8a
branch:      SigTestForSplit247408
tag:         tip
user:        Jaroslav Tulach <jtulach@netbeans.org>
date:        Wed Oct 08 16:28:36 2014 +0200
summary:     Doing full compatible check in project.libraries.ui. Removing UI classes from project.libraries sig file
Comment 14 Jaroslav Tulach 2014-10-09 13:00:10 UTC
$ ant check-sigtests-release 
is now passing on the server_split branch.
Comment 15 Quality Engineering 2014-10-18 05:12:54 UTC
Integrated into 'main-silver', will be available in build *201410180001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/31789044fdbf
User: Svata Dedic <sdedic@netbeans.org>
Log: #247408: added compatibility class for XMLFileSystem