#!/usr/bin/env python3
# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-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/.
#
import os
import sys
import argparse
def parse_line(line):
"""
This function parses a line from log file
and returns the parsed values as a python dictionary
"""
if (line == ""):
return
dict = {}
if "{" in line:
start_index_of_parameters = line.find("{")
end_index_of_parameters = line.find("}") + 1
parameters = line[start_index_of_parameters:end_index_of_parameters]
if parameters != "":
dict["parameters"] = parameters
line = line[:start_index_of_parameters-1]
word_list = line.split()
dict["keyword"] = word_list[0]
for index in range(1,len(word_list)):
key, val = word_list[index].split(":",1)
dict[key] = val
return dict
def parse_args():
"""
This function parses the command-line arguments
to get the input and output file details
"""
parser = argparse.ArgumentParser(description = "Generate a UI test file from log")
parser.add_argument("input_address", type = str, help = "The log file address")
parser.add_argument("output_address", type = str, help = "The test file address")
parser.add_argument("-d", "--document", metavar = "", help = "Address of the document to be opened")
args = parser.parse_args()
return args
def get_log_file(input_address):
try:
with open(input_address) as f:
content = f.readlines()
except IOError as err:
print("IO error: {0}".format(err))
print("Use " + os.path.basename(sys.argv[0]) + " -h to get usage instructions")
sys.exit(1)
content = [x.strip() for x in content if not x.startswith("Action on element")]
return content
def initiate_test_generation(address):
try:
f = open(address,"w")
except IOError as err:
print("IO error: {0}".format(err))
print("Use " + os.path.basename(sys.argv[0]) + " -h to get usage instructions")
sys.exit(1)
initial_text = \
"# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-\n\n" + \
"from uitest.framework import UITestCase\n" + \
"from libreoffice.uno.propertyvalue import mkPropertyValues\n" + \
"import importlib\n\n" + \
"class TestClass(UITestCase):\n" + \
" def test_function(self):\n"
f.write(initial_text)
return f
def get_coupling_type(line1, line2):
"""
This function checks if two consecutive lines of log file
refer to the same event
"""
action_dict1 = parse_line(line1)
action_dict2 = parse_line(line2)
if action_dict1["keyword"] == "CommandSent" and \
action_dict2["keyword"] == "ModalDialogExecuted":
return "COMMAND_MODAL_COUPLE"
elif action_dict1["keyword"] == "CommandSent" and \
action_dict2["keyword"] == "ModelessDialogConstructed":
return "COMMAND_MODELESS_COUPLE"
elif action_dict1["keyword"] == "ButtonUIObject" and \
action_dict2["keyword"] == "DialogClosed":
return "BUTTON_DIALOGCLOSE_COUPLE"
elif "parameters" in action_dict1 and \
"KEYCODE" in action_dict1["parameters"] and \
action_dict2["keyword"] == "CommandSent":
return "REDUNDANT_COUPLE"
return "NOT_A_COUPLE"
def check_app_starting_action(action_dict):
app_starter_button_ids = \
set(["draw_all", "impress_all", "calc_all" , "writer_all", "database_all", "math_all"])
if action_dict["keyword"] == "ButtonUIObject" and action_dict["Action"] == "CLICK" and \
action_dict["Id"] in app_starter_button_ids:
return True
return False
def get_test_line_from_one_log_line(log_line):
action_dict = parse_line(log_line)
test_line = " "
if action_dict["keyword"].endswith("UIObject"):
parent = action_dict["Parent"]
if (check_app_starting_action(action_dict)):
test_line +=\
"MainDoc = self.ui_test.create_doc_in_start_center(\"" + \
action_dict["Id"][:-4] +"\")\n MainWindow = " + \
"self.xUITest.getTopFocusWindow()\n"
return test_line
else:
if (parent == ""):
parent = "MainWindow"
test_line += \
action_dict["Id"] + " = " + parent + ".getChild(\"" + \
action_dict["Id"] + "\")\n " + \
action_dict["Id"] + ".executeAction(\"" + \
action_dict["Action"] + "\""
if "parameters" in action_dict:
test_line += ", mkPropertyValues(" + \
action_dict["parameters"] + "))\n"
else:
test_line += ",tuple())\n"
return test_line
elif action_dict["keyword"] == "CommandSent":
if "parameters" not in action_dict:
test_line += "self.xUITest.executeCommand(\"" + \
action_dict["Name"] + "\")\n"
return test_line
else:
test_line += "self.xUITest.executeCommandWithParameters(\"" + \
action_dict["Name"] + "\", mkPropertyValues(" + action_dict["parameters"] + \
"))\n"
return test_line
elif action_dict["keyword"] == "ModalDialogExecuted" or \
action_dict["keyword"] == "ModelessDialogConstructed":
test_line += action_dict["Id"] + " = " + "self.xUITest.getTopFocusWindow()\n"
return test_line
return ""
def get_test_line_from_two_log_lines(log_line1,log_line2):
coupling_type = get_coupling_type(log_line1, log_line2)
action_dict1 = parse_line(log_line1)
action_dict2 = parse_line(log_line2)
test_line = " "
if coupling_type == "COMMAND_MODAL_COUPLE":
test_line += \
"self.ui_test.execute_dialog_through_command(\"" + \
action_dict1["Name"] + "\")\n " + \
action_dict2["Id"] + " = self.xUITest.getTopFocusWindow()\n"
elif coupling_type == "COMMAND_MODELESS_COUPLE":
test_line += \
"self.ui_test.execute_modeless_dialog_through_command(\"" + \
action_dict1["Name"] + "\")\n " + \
action_dict2["Id"] + " = self.xUITest.getTopFocusWindow()\n"
elif coupling_type == "BUTTON_DIALOGCLOSE_COUPLE":
test_line += \
action_dict1["Id"] + " = " + action_dict1["Parent"] + ".getChild(\"" + \
action_dict1["Id"] + "\")\n self.ui_test.close_dialog_through_button(" + \
action_dict1["Id"] + ")\n"
return test_line
def main():
args = parse_args()
log_lines = get_log_file(args.input_address)
output_stream = initiate_test_generation(args.output_address)
if args.document is not None:
output_line = " pathmodule = importlib.import_module(\"uitest.path\")\n" + \
" doc_path = pathmodule.get_srcdir_url() + \"" + args.document + "\"\n" + \
" MainDoc = self.ui_test.load_file(doc_path)\n" + \
" MainWindow = self.xUITest.getTopFocusWindow()\n"
output_stream.write(output_line)
line_number = 0
while line_number < len(log_lines):
if line_number == len(log_lines)-1 or \
get_coupling_type(log_lines[line_number],log_lines[line_number + 1]) == "NOT_A_COUPLE":
test_line = get_test_line_from_one_log_line(log_lines[line_number])
output_stream.write(test_line)
line_number += 1
elif get_coupling_type(log_lines[line_number],log_lines[line_number + 1]) == "REDUNDANT_COUPLE":
line_number += 1
else:
test_line = get_test_line_from_two_log_lines(log_lines[line_number],log_lines[line_number + 1])
output_stream.write(test_line)
line_number += 2
output_stream.write(" self.ui_test.close_doc()")
output_stream.write("\n\n# vim: set shiftwidth=4 softtabstop=4 expandtab:")
output_stream.close()
if __name__ == '__main__':
main()
# vim: set shiftwidth=4 softtabstop=4 expandtab:
distro/nisz/libreoffice-7-1
distro/suse/suse-3.6
distro/suse/suse-3.6-appup
distro/suse/suse-3.6.3
distro/suse/suse-4.0
distro/suse/suse-4.0.3
distro/ubuntu/oneiric-3.4
distro/ubuntu/oneiric-3.4-all
distro/vector/vector-24.2
distro/vector/vector-24.2-release
distro/vector/vector-5.4
distro/vector/vector-7.0
distro/vector/vector-7.0-10.0
distro/vector/vector-7.5
distro/vector/vector-7.5.9
distro/vector/vector-7.5.9-release
distro/vector/vtext-6.5
feature/5-1-pick
feature/BorderlineFix
feature/OperationSmiley
feature/RotGrfFlyFrame
feature/RotateFlyFrame
feature/RotateFlyFrame2
feature/RotateFlyFrame3
feature/SOSAW080
feature/SfxShell_refcount
feature/SwFrameBorder
feature/accessibilitycheck
feature/accfixes2
feature/allo_contract34185
feature/allo_contract45533
feature/allo_contract45533b
feature/autostyle
feature/barcode
feature/base-preview
feature/benchmarks
feature/borderline3
feature/bplustree
feature/cairo
feature/calc-coordinates
feature/calc-data-table
feature/calc-parallel
feature/calctiledrendering
feature/calctiledrendering2
feature/calctiledrendering3
feature/calctiledrendering4
feature/calctiledrendering5
feature/calctiledrendering_alt
feature/calctiledrendering_attempt3
feature/calctiledrendering_attempt3_2
feature/calczoom
feature/chained-text-boxes
feature/change-tracking
feature/chart-style-experiment-markus
feature/chartdatatable
feature/cib_contract101
feature/cib_contract116
feature/cib_contract136
feature/cib_contract138
feature/cib_contract138b
feature/cib_contract138c
feature/cib_contract138d
feature/cib_contract138e
feature/cib_contract139
feature/cib_contract152
feature/cib_contract152b
feature/cib_contract3197
feature/cib_contract3753
feature/cib_contract3756
feature/cib_contract3756b
feature/cib_contract4236
feature/cib_contract4236b
feature/cib_contract49
feature/cib_contract49b
feature/cib_contract49c
feature/cib_contract49d
feature/cib_contract561
feature/cib_contract57
feature/cib_contract57b
feature/cib_contract57c
feature/cib_contract57d
feature/cib_contract57d+hotfix
feature/cib_contract57d_p1
feature/cib_contract57e
feature/cib_contract57l
feature/cib_contract6721b
feature/cib_contract6721c
feature/cib_contract7409
feature/cib_contract8161
feature/cib_contract891
feature/cib_contract891b
feature/cib_contract891c
feature/cib_contract935
feature/cib_contract935b
feature/clipboard
feature/cmis
feature/components
feature/controlstate
feature/coretext
feature/coverrest-featuretests
feature/cp-5.0-cairo-svp
feature/cpu_intrinsics_support
feature/custom-widgets
feature/dataprovider
feature/debugevent
feature/dematurize01
feature/dialog-screenshots
feature/docking_windows
feature/docx-commentsex
feature/drawinglayercore
feature/drawinglayercore2
feature/droid_calcimpress3
feature/droid_calimpress4
feature/drop-findcmap
feature/editviewoverlay
feature/eszka
feature/extended-tooltips
feature/external-data-ui
feature/fastparser
feature/firebird-sdbc
feature/firebird-sdbc2
feature/firebird-sdbc3
feature/fixstyles3
feature/fontsubtitutions
feature/foo
feature/gbuild_cli
feature/gccwrapper
feature/glyphy
feature/go2
feature/gpg4libre
feature/gpg4libre-5-4
feature/gpg4libre-6-0
feature/gpg4libre2
feature/graphicobject
feature/gsoc-basic-ide-completion-and-other-bits
feature/gsoc-calc-enhanced-db-range
feature/gsoc-svm-writer
feature/gsoc-uitest-2019
feature/gsoc14-colors
feature/gsoc14-draw-chained-text-boxes
feature/gsoc14-draw-text-background-color
feature/gsoc14-libcmis
feature/gsoc14-libcmis2
feature/gsoc14-personas
feature/gsoc14-personas2
feature/gsoc15-online-update
feature/gsoc15-open-remote-files-dialog
feature/gsoc17-revamp-customize-dialog
feature/gsoc19-chart-style
feature/gsoc2011_wizards
feature/gsoc24-lua
feature/gtk3_kde5
feature/gtk3nativedialogs
feature/gtktiledviewer
feature/ia2
feature/ia2.2
feature/ia2.3
feature/ia2.4
feature/ia2.5
feature/improvexlsximport
feature/instdirlinktargets
feature/item_refactor2
feature/jsdialogs
feature/jssidebar
feature/lfrb-vcl-opengl
feature/libffi
feature/lok-calc-rtl
feature/lok-clipboard
feature/lok_cellcursor
feature/lok_dialog
feature/lok_dialog-backport
feature/lok_dialog2
feature/lok_sofficemain
feature/lok_sofficemain2
feature/mac-opengl-fixes
feature/macOS-weld
feature/mailmerge-toolbar
feature/mar-updater
feature/mariadb
feature/misc-vba-rework
feature/mork
feature/nativealpha
feature/notebookbar
feature/notes-refactoring
feature/ooxml-analyze
feature/opengl-canvas-rework
feature/opengl-transitions-rework
feature/opengl-vcl-text
feature/orcus-continuous-integration
feature/orcus-odf
feature/orcus-odf-rebased
feature/orcus-odf-rebased2
feature/orcus-rebased
feature/owncloud-provider-for-android
feature/pdfium-master
feature/perfwork4
feature/perfwork5
feature/pivotcharts
feature/print_revamp
feature/priorities
feature/profilesafemode
feature/propose-master-cib
feature/pytable
feature/pyweb-wizard
feature/qt5-win+mac
feature/refactor-god-objects
feature/rendercontext
feature/resolve-comments
feature/scaling-geometry-provider
feature/screenshotannotation
feature/sgexperiment
feature/skia
feature/slidehack
feature/slidehack2
feature/slideshow_onlySprites
feature/slideshowprimitives
feature/sparklines
feature/spellig_popup_SID
feature/stub_writer
feature/svg-export
feature/svg-optimisations
feature/svg-optimisations-5-0
feature/sw-delete-undo-rework
feature/sw_redlinehide_4a_for_libreoffice-6-2
feature/sw_redlinehide_4b_for_libreoffice-6-2
feature/table-style
feature/table-style-rebased
feature/table_panel
feature/table_rotated_text
feature/taggedPDF
feature/template_manager_improvements
feature/template_manager_improvements2
feature/themesupport
feature/themesupport2
feature/tiled-editing
feature/tscp3
feature/unitver
feature/unocrsrptr
feature/unostyles
feature/unostyles2
feature/unostyles3
feature/use-ogl-context-in-canvas
feature/vcl-opengl
feature/vcl-opengl-integration
feature/vcl-opengl2
feature/vclptr
feature/vlc
feature/vlc-rb
feature/vs2012
feature/wasm
feature/window-iter
feature/windows-cross-build
feature/windowsupdater
feature/xtiledrenderable
feature/yrs-demo
libreoffice-24-2
libreoffice-24-2-0
libreoffice-24-2-1
libreoffice-24-2-2
libreoffice-24-2-3
libreoffice-24-2-4
libreoffice-24-2-5
libreoffice-24-2-6
libreoffice-24-2-7
libreoffice-24-8
libreoffice-24-8-0
libreoffice-24-8-1
libreoffice-24-8-2
libreoffice-24-8-3
libreoffice-24-8-4
libreoffice-24-8-5
libreoffice-25-2
libreoffice-25-2-0
libreoffice-3-5
libreoffice-3-5-0
libreoffice-3-5-1
libreoffice-3-5-2
libreoffice-3-5-3
libreoffice-3-5-4
libreoffice-3-5-5
libreoffice-3-5-6
libreoffice-3-5-7
libreoffice-3-6
libreoffice-3-6-0
libreoffice-3-6-1
libreoffice-3-6-2
libreoffice-3-6-3
libreoffice-3-6-4
libreoffice-3-6-5
libreoffice-3-6-6
libreoffice-3-6-7
libreoffice-4-0
libreoffice-4-0-0
libreoffice-4-0-1
libreoffice-4-0-2
libreoffice-4-0-3
libreoffice-4-0-4
libreoffice-4-0-5
libreoffice-4-0-6
libreoffice-4-1
libreoffice-4-1-0
libreoffice-4-1-1
libreoffice-4-1-2
libreoffice-4-1-3
libreoffice-4-1-4
libreoffice-4-1-5
libreoffice-4-1-6
libreoffice-4-2
libreoffice-4-2-0
libreoffice-4-2-1
libreoffice-4-2-2
libreoffice-4-2-3
libreoffice-4-2-4
libreoffice-4-2-5
libreoffice-4-2-6
libreoffice-4-2-7
libreoffice-4-2-8
libreoffice-4-3
libreoffice-4-3-0
libreoffice-4-3-1
libreoffice-4-3-2
libreoffice-4-3-3
libreoffice-4-3-4
libreoffice-4-3-5
libreoffice-4-3-6
libreoffice-4-3-7
libreoffice-4-4
libreoffice-4-4-0
libreoffice-4-4-1
libreoffice-4-4-2
libreoffice-4-4-3
libreoffice-4-4-4
libreoffice-4-4-5
libreoffice-4-4-6
libreoffice-4-4-7
libreoffice-5-0
libreoffice-5-0-0
libreoffice-5-0-1
libreoffice-5-0-2
libreoffice-5-0-3
libreoffice-5-0-4
libreoffice-5-0-5
libreoffice-5-0-6
libreoffice-5-1
libreoffice-5-1-0
libreoffice-5-1-1
libreoffice-5-1-2
libreoffice-5-1-3
libreoffice-5-1-4
libreoffice-5-1-5
libreoffice-5-1-6
libreoffice-5-2
libreoffice-5-2-0
libreoffice-5-2-1
libreoffice-5-2-2
libreoffice-5-2-3
libreoffice-5-2-4
libreoffice-5-2-5
libreoffice-5-2-6
libreoffice-5-2-7
libreoffice-5-3
libreoffice-5-3-0
libreoffice-5-3-1
libreoffice-5-3-2
libreoffice-5-3-3
libreoffice-5-3-4
libreoffice-5-3-5
libreoffice-5-3-6
libreoffice-5-3-7
libreoffice-5-4
libreoffice-5-4-0
libreoffice-5-4-1
libreoffice-5-4-2
libreoffice-5-4-3
libreoffice-5-4-4
libreoffice-5-4-5
libreoffice-5-4-6
libreoffice-5-4-7
libreoffice-6-0
libreoffice-6-0-0
libreoffice-6-0-1
libreoffice-6-0-2
libreoffice-6-0-3
libreoffice-6-0-4
libreoffice-6-0-5
libreoffice-6-0-6
libreoffice-6-0-7
libreoffice-6-1
libreoffice-6-1-0
libreoffice-6-1-1
libreoffice-6-1-2
libreoffice-6-1-3
libreoffice-6-1-4
libreoffice-6-1-5
libreoffice-6-1-6
libreoffice-6-2
libreoffice-6-2-0
libreoffice-6-2-1
libreoffice-6-2-2
libreoffice-6-2-3
libreoffice-6-2-4
libreoffice-6-2-5
libreoffice-6-2-6
libreoffice-6-2-7
libreoffice-6-2-8
libreoffice-6-3
libreoffice-6-3-0
libreoffice-6-3-1
libreoffice-6-3-2
libreoffice-6-3-3
libreoffice-6-3-4
libreoffice-6-3-5
libreoffice-6-3-6
libreoffice-6-4
libreoffice-6-4-0
libreoffice-6-4-1
libreoffice-6-4-2
libreoffice-6-4-3
libreoffice-6-4-4
libreoffice-6-4-5
libreoffice-6-4-6
libreoffice-6-4-7
libreoffice-7-0
libreoffice-7-0-0
libreoffice-7-0-1
libreoffice-7-0-2
libreoffice-7-0-3
libreoffice-7-0-4
libreoffice-7-0-5
libreoffice-7-0-6
libreoffice-7-1
libreoffice-7-1-0
libreoffice-7-1-1
libreoffice-7-1-2
libreoffice-7-1-3
libreoffice-7-1-4
libreoffice-7-1-5
libreoffice-7-1-6
libreoffice-7-1-7
libreoffice-7-2
libreoffice-7-2-0
libreoffice-7-2-1
libreoffice-7-2-2
libreoffice-7-2-3
libreoffice-7-2-5
libreoffice-7-2-6
libreoffice-7-2-7
libreoffice-7-3
libreoffice-7-3-0
libreoffice-7-3-1
libreoffice-7-3-2
libreoffice-7-3-3
libreoffice-7-3-4
libreoffice-7-3-5
libreoffice-7-3-6
libreoffice-7-3-7
libreoffice-7-4
libreoffice-7-4-0
libreoffice-7-4-1
libreoffice-7-4-2
libreoffice-7-4-3
libreoffice-7-4-4
libreoffice-7-4-6
libreoffice-7-4-7
libreoffice-7-5
libreoffice-7-5-0
libreoffice-7-5-1
libreoffice-7-5-2
libreoffice-7-5-3
libreoffice-7-5-4
libreoffice-7-5-5
libreoffice-7-5-6
libreoffice-7-5-7
libreoffice-7-5-8
libreoffice-7-5-9
libreoffice-7-6
libreoffice-7-6-0
libreoffice-7-6-1
libreoffice-7-6-2
libreoffice-7-6-3
libreoffice-7-6-4
libreoffice-7-6-5
libreoffice-7-6-6
libreoffice-7-6-7
master
ports/macosx10.5/master
private/Ashod/cd-5.3-3.2_import_unloaded
private/Ashod/cd-5.3-3.2_import_unloaded_share_GfxLink
private/Ashod/cd-5.3.3.2
private/Ashod/cp-5.0-preinit
private/Ashod/fast-calc-rendering
private/Ashod/pdfium
private/Ashod/pdfium_on_master
private/Ashod/pdfium_on_master_fixed
private/EL-SHREIF/ui_logger
private/Minion3665/swf-export
private/Rosemary/change-tracking
private/Sweetshark/killswclient
private/Sweetshark/lessdepend
private/Sweetshark/multilistenerfix
private/ajrhunt/c4
private/ajrhunt/cunit
private/ajrhunt/cunitdemo
private/ajrhunt/firebird-improvement
private/bansan/chardraw
private/bubli/textboxchaining
private/hcvcastro/preinit
private/hcvcastro/undo-row-comment
private/jmux/armin-strip-before-squash
private/jmux/broken-static-win
private/jmux/current-reorga
private/jmux/meson
private/jmux/meson-gsoc-2021
private/jmux/oss-fuzz
private/jmux/oss-fuzz-wip
private/jmux/scheduler-fixes
private/jmux/shape.odt
private/jmux/wasm-for-master
private/jmux/wasm-tmp
private/jmux/wasm_for_master_catchall
private/jmux/win-arm64
private/jmux/win-test-nohang
private/juergen/Tests
private/juergen/check-cjk
private/kendy/condformat-api
private/kendy/condformat-fdo82014
private/kendy/mailmerge-04
private/kendy/mailmerge-05
private/kendy/swinterpreter
private/kendy/testcl
private/khaledhosny/color-fonts
private/khaledhosny/vcl-cleanup-font
private/kohei/chart-bugs
private/kohei/find-replace-all-perf
private/kohei/headless-perf
private/kohei/if-or-not-if-jump
private/kohei/sort-ref-update
private/lfrb/opengl-vcl
private/lgodard/calc_notes_import_export
private/lgodard/tdf#117202
private/llunak/mailmerge
private/llunak/mailmerge_01
private/llunak/mailmerge_02
private/llunak/mailmerge_03
private/llunak/munich_12587
private/llunak/skia
private/lmamane/basetest
private/lmamane/for-julien2412
private/lmamane/for-julien2412-master
private/lmamane/tdf110997
private/lmamane/timedate-controls-nanosecond
private/lmamane/validation
private/mcecchetti/23H1/a11y/paragraph
private/mcecchetti/accessibility/paragraph
private/mcecchetti/amd/pdf-export-jpeg
private/mcecchetti/bitmapcrc64
private/mcecchetti/bitmapcrc64-5-0
private/mcecchetti/calc-perf-unit-test
private/mcecchetti/calc-unit-test
private/mcecchetti/gl-program-binary
private/mert/wip_deepl
private/mikekaganski/multicolumn
private/mmeeks/aafixes44
private/mmeeks/backports
private/mmeeks/binarydatacache
private/mmeeks/bitmapcrc64
private/mmeeks/copy-paste
private/mmeeks/copypaste
private/mmeeks/cp-6.2-bits
private/mmeeks/cp64merge
private/mmeeks/currency-dropdown
private/mmeeks/foo
private/mmeeks/formula-iterator
private/mmeeks/gldebug
private/mmeeks/hidpi-bits
private/mmeeks/icontest
private/mmeeks/opengl-backbuffer
private/mmeeks/opengl-backbuffer2
private/mmeeks/sandbox
private/mmeeks/swapdatacontainer
private/mmeeks/vcl-opengl3
private/moggi/fix-opengl-context-problems
private/moggi/improved-dxf-xls-export
private/moggi/opengl-4-4-build-test
private/moggi/opengl-preparation
private/moggi/opengl-vcl-win
private/moggi/orcus-improvements
private/moggi/track-win-dc
private/moggi/ui-test
private/moggi/vcl-opengl3
private/mst/sw_fieldmarkhide
private/mst/sw_redlinehide
private/mst/sw_redlinehide_2
private/mst/sw_redlinehide_3
private/mst/sw_redlinehide_4a
private/mst/sw_redlinehide_4b
private/pranavk/modernize_gtktiledviewer
private/quwex/gsoc-box2d-experimental
private/quwex/notespane-search
private/quwex/notespaneflat
private/quwex/notespanesquashed
private/quwex/tdf59323
private/s.mehrbrodt/colorpicker-backport
private/sweetshark/swdepend
private/tbsdy/clipping
private/tbsdy/drawserverfontlayout
private/tbsdy/emf
private/tbsdy/osl_getAllEnvironment
private/tbsdy/outdev
private/tbsdy/printinfomgr
private/tbsdy/workbench
private/thb/libo-6-1+backports
private/thb/libreoffice-5-2+backports
private/thb/sw_redlinehide-6-1
private/thb/tdf149754
private/thb/wasm-upstreaming
private/timar/cp-6.2-centos7
private/timar/fontconfigcrash
private/timar/pythonupgrademsp
private/tml/Use-the-iOS-French-and-Italian-dictionaries-for-othe
private/tml/android-use-bionic-linker-copy
private/tml/android-use-faulty.lib
private/tml/cp-6-4-28-1
private/tml/fixwintext
private/tml/iculess
private/tml/lov-6.1.5.2
private/tml/lov-6.2.1
private/tml/lov-7.0.3.3
private/tml/lov-7.0.4
private/tml/lov-7.1.2
private/tml/opencl-default-1
private/tvajngerl/staging
ref/for/distro/collabora/cp-6.2
LibreOffice 核心代码仓库 文档基金会
Age Commit message (Collapse ) Author
Change-Id: Id66b752fdcf23546416b3b7f99e2f61756c3a76d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173664
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
so they can make use of CPPUNIT_ASSERT_STATEMENT_EQUAL
They were moved ported from Java to CppUnittest in
commit e42be49887e75c6ec748b6c48bb4e5eda295c715
Author: Xisco Fauli <xiscofauli@libreoffice.org>
Date: Wed Jul 3 10:09:54 2024 +0200
tdf#123293: port test from Java to CppUnitTest
and
commit d6ad09ca884fb7f35e2e24d532d85f6d818a7f1b
Author: Xisco Fauli <xiscofauli@libreoffice.org>
Date: Tue Jul 2 18:00:26 2024 +0200
sfx2: port checkRDFa from Java to CppUnittest
Change-Id: I7b91bde6d968081a5b1c0bbee42208590e062ea8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173622
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Change-Id: Id8adaec00b9920966c91471fdd32720337a8c414
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173462
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
so CI will be able to catch the problem reported in
https://gerrit.libreoffice.org/c/core/+/169327
Change-Id: Id00e5f50fbf43f63f4bad5af13a62e4db88f82d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169932
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>