Remove unused BASIC CaptureAssertions functionality
...that had originally been introduced to catch DBG_ASSERTs during smoketest, but since made effectively unused when basing DBG_ASSERT on the sal/log.hxx functionality, and obsoleted by the ongoing clean-up of using true assert where appliable. Change-Id: I2fb4f5d0873d29595b178057f83c1404c0085575
This commit is contained in:
@@ -100,7 +100,6 @@ $(eval $(call gb_Library_add_exception_objects,sb,\
|
|||||||
basic/source/runtime/iosys \
|
basic/source/runtime/iosys \
|
||||||
basic/source/runtime/props \
|
basic/source/runtime/props \
|
||||||
basic/source/runtime/runtime \
|
basic/source/runtime/runtime \
|
||||||
basic/source/runtime/sbdiagnose \
|
|
||||||
basic/source/runtime/stdobj \
|
basic/source/runtime/stdobj \
|
||||||
basic/source/runtime/stdobj1 \
|
basic/source/runtime/stdobj1 \
|
||||||
))
|
))
|
||||||
|
@@ -26,7 +26,6 @@
|
|||||||
#include <tools/shl.hxx>
|
#include <tools/shl.hxx>
|
||||||
#include <basic/sbx.hxx>
|
#include <basic/sbx.hxx>
|
||||||
#include <basic/sbuno.hxx>
|
#include <basic/sbuno.hxx>
|
||||||
#include "sbdiagnose.hxx"
|
|
||||||
#include "sb.hxx"
|
#include "sb.hxx"
|
||||||
#include <sbjsmeth.hxx>
|
#include <sbjsmeth.hxx>
|
||||||
#include "sbjsmod.hxx"
|
#include "sbjsmod.hxx"
|
||||||
@@ -1244,10 +1243,6 @@ sal_uInt16 SbModule::Run( SbMethod* pMeth )
|
|||||||
|
|
||||||
GlobalRunDeInit();
|
GlobalRunDeInit();
|
||||||
|
|
||||||
#ifdef DBG_UTIL
|
|
||||||
ResetCapturedAssertions();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if( xVBACompat.is() )
|
if( xVBACompat.is() )
|
||||||
{
|
{
|
||||||
// notify all VBA script listeners about the stopped script
|
// notify all VBA script listeners about the stopped script
|
||||||
|
@@ -1,29 +0,0 @@
|
|||||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
||||||
/*
|
|
||||||
* This file is part of the LibreOffice project.
|
|
||||||
*
|
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
*
|
|
||||||
* This file incorporates work covered by the following license notice:
|
|
||||||
*
|
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
* contributor license agreements. See the NOTICE file distributed
|
|
||||||
* with this work for additional information regarding copyright
|
|
||||||
* ownership. The ASF licenses this file to you under the Apache
|
|
||||||
* License, Version 2.0 (the "License"); you may not use this file
|
|
||||||
* except in compliance with the License. You may obtain a copy of
|
|
||||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef INCLUDED_BASIC_SOURCE_INC_SBDIAGNOSE_HXX
|
|
||||||
#define INCLUDED_BASIC_SOURCE_INC_SBDIAGNOSE_HXX
|
|
||||||
|
|
||||||
#ifdef DBG_UTIL
|
|
||||||
void ResetCapturedAssertions();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // INCLUDED_BASIC_SOURCE_INC_SBDIAGNOSE_HXX
|
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
|
@@ -360,7 +360,6 @@ extern RTLFUNC(CDateToIso);
|
|||||||
extern RTLFUNC(CDateFromIso);
|
extern RTLFUNC(CDateFromIso);
|
||||||
extern RTLFUNC(CompatibilityMode);
|
extern RTLFUNC(CompatibilityMode);
|
||||||
extern RTLFUNC(CDec);
|
extern RTLFUNC(CDec);
|
||||||
extern RTLFUNC(CaptureAssertions);
|
|
||||||
|
|
||||||
extern RTLFUNC(Partition); // Fong
|
extern RTLFUNC(Partition); // Fong
|
||||||
|
|
||||||
|
@@ -1,126 +0,0 @@
|
|||||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
||||||
/*
|
|
||||||
* This file is part of the LibreOffice project.
|
|
||||||
*
|
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
*
|
|
||||||
* This file incorporates work covered by the following license notice:
|
|
||||||
*
|
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
* contributor license agreements. See the NOTICE file distributed
|
|
||||||
* with this work for additional information regarding copyright
|
|
||||||
* ownership. The ASF licenses this file to you under the Apache
|
|
||||||
* License, Version 2.0 (the "License"); you may not use this file
|
|
||||||
* except in compliance with the License. You may obtain a copy of
|
|
||||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#include "rtlproto.hxx"
|
|
||||||
#include "sbdiagnose.hxx"
|
|
||||||
|
|
||||||
#include <basic/sbstar.hxx>
|
|
||||||
|
|
||||||
#include <tools/debug.hxx>
|
|
||||||
#include <comphelper/flagguard.hxx>
|
|
||||||
|
|
||||||
#ifdef DBG_UTIL
|
|
||||||
|
|
||||||
static DbgChannelId nRestoreChannelId = 0;
|
|
||||||
static DbgChannelId nAssertionChannelId = 0;
|
|
||||||
static StarBASICRef xAssertionChannelBasic;
|
|
||||||
static OUString sCaptureFunctionName;
|
|
||||||
static bool bReportingAssertion = false;
|
|
||||||
|
|
||||||
void ResetCapturedAssertions()
|
|
||||||
{
|
|
||||||
if ( nRestoreChannelId != 0 )
|
|
||||||
{
|
|
||||||
DBG_INSTOUTERROR( nRestoreChannelId );
|
|
||||||
}
|
|
||||||
nRestoreChannelId = 0;
|
|
||||||
xAssertionChannelBasic = NULL;
|
|
||||||
sCaptureFunctionName = OUString();
|
|
||||||
bReportingAssertion = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DbgReportAssertion( const sal_Char* i_assertionMessage )
|
|
||||||
{
|
|
||||||
if ( !xAssertionChannelBasic )
|
|
||||||
{
|
|
||||||
ResetCapturedAssertions();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// prevent infinite recursion
|
|
||||||
if ( bReportingAssertion )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
::comphelper::FlagRestorationGuard aGuard( bReportingAssertion, true );
|
|
||||||
|
|
||||||
SbxArrayRef const xArguments( new SbxArray( SbxVARIANT ) );
|
|
||||||
SbxVariableRef const xMessageText = new SbxVariable( SbxSTRING );
|
|
||||||
xMessageText->PutString( OUString::createFromAscii(i_assertionMessage) );
|
|
||||||
xArguments->Put( xMessageText, 1 );
|
|
||||||
|
|
||||||
ErrCode const nError = xAssertionChannelBasic->Call( sCaptureFunctionName, xArguments );
|
|
||||||
if ( ( nError & SbERR_METHOD_NOT_FOUND ) != 0 )
|
|
||||||
{
|
|
||||||
ResetCapturedAssertions();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/// capture assertions, route them to the given given Basic function
|
|
||||||
RTLFUNC(CaptureAssertions)
|
|
||||||
{
|
|
||||||
(void)bWrite;
|
|
||||||
|
|
||||||
// need exactly one argument
|
|
||||||
if ( rPar.Count() != 2 )
|
|
||||||
{
|
|
||||||
StarBASIC::Error( SbERR_BAD_ARGUMENT );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef DBG_UTIL
|
|
||||||
DBG_TESTSOLARMUTEX();
|
|
||||||
|
|
||||||
OUString const sFunctionName = rPar.Get(1)->GetOUString();
|
|
||||||
if ( sFunctionName.isEmpty() )
|
|
||||||
{
|
|
||||||
ResetCapturedAssertions();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( nAssertionChannelId == 0 )
|
|
||||||
{
|
|
||||||
// TODO: should we register a named channel at the VCL API, instead of an unnamed channel at the tools API?
|
|
||||||
// A named channel would mean it would appear in the nonpro-debug-options dialog
|
|
||||||
nAssertionChannelId = DbgRegisterUserChannel( &DbgReportAssertion );
|
|
||||||
}
|
|
||||||
|
|
||||||
DbgChannelId const nCurrentChannelId = (DbgChannelId)DbgGetErrorOut();
|
|
||||||
if ( nCurrentChannelId != nAssertionChannelId )
|
|
||||||
{
|
|
||||||
// remember the current channel
|
|
||||||
nRestoreChannelId = nCurrentChannelId;
|
|
||||||
|
|
||||||
// set the new channel
|
|
||||||
DBG_INSTOUTERROR( nAssertionChannelId );
|
|
||||||
}
|
|
||||||
|
|
||||||
xAssertionChannelBasic = pBasic;
|
|
||||||
sCaptureFunctionName = sFunctionName;
|
|
||||||
#else
|
|
||||||
(void)pBasic;
|
|
||||||
(void)rPar;
|
|
||||||
(void)bWrite;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
|
@@ -153,8 +153,6 @@ static Methods aMethods[] = {
|
|||||||
{ "number", SbxDOUBLE, 0,NULL,0 },
|
{ "number", SbxDOUBLE, 0,NULL,0 },
|
||||||
{ "CreateObject", SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreateObject ),0 },
|
{ "CreateObject", SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreateObject ),0 },
|
||||||
{ "class", SbxSTRING, 0,NULL,0 },
|
{ "class", SbxSTRING, 0,NULL,0 },
|
||||||
{ "CaptureAssertions", SbxNULL, 1 | _FUNCTION, RTLNAME(CaptureAssertions), 0 },
|
|
||||||
{ "methodName", SbxSTRING, 0, NULL, 0 },
|
|
||||||
{ "CreateUnoListener",SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreateUnoListener ),0 },
|
{ "CreateUnoListener",SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreateUnoListener ),0 },
|
||||||
{ "prefix", SbxSTRING, 0,NULL,0 },
|
{ "prefix", SbxSTRING, 0,NULL,0 },
|
||||||
{ "typename", SbxSTRING, 0,NULL,0 },
|
{ "typename", SbxSTRING, 0,NULL,0 },
|
||||||
|
@@ -123,10 +123,6 @@ Sub ClearAllText
|
|||||||
call ClearStatus
|
call ClearStatus
|
||||||
end Sub
|
end Sub
|
||||||
|
|
||||||
Sub AssertionHandler( sMessage as String )
|
|
||||||
LogTestResult( "assertion caught: " + sMessage, FALSE )
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Sub Main
|
Sub Main
|
||||||
On Local Error Goto MainError
|
On Local Error Goto MainError
|
||||||
|
|
||||||
@@ -144,7 +140,6 @@ Sub Main
|
|||||||
LocalTestLog% = OpenLogDat( GetLogFileName( gCurrentDocTest ) )
|
LocalTestLog% = OpenLogDat( GetLogFileName( gCurrentDocTest ) )
|
||||||
|
|
||||||
gCurrentTestCase = cTestClosureSetupDoc
|
gCurrentTestCase = cTestClosureSetupDoc
|
||||||
CaptureAssertions( "AssertionHandler" )
|
|
||||||
|
|
||||||
call SetGlobalDoc
|
call SetGlobalDoc
|
||||||
|
|
||||||
@@ -184,7 +179,6 @@ Sub Main
|
|||||||
|
|
||||||
gOutputDoc.setModified( bWasModified )
|
gOutputDoc.setModified( bWasModified )
|
||||||
|
|
||||||
CaptureAssertions( "" )
|
|
||||||
Exit Sub
|
Exit Sub
|
||||||
|
|
||||||
MainError:
|
MainError:
|
||||||
|
Reference in New Issue
Block a user