commit re2 for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package re2 for openSUSE:Factory checked in at 2024-07-02 18:14:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/re2 (Old) and /work/SRC/openSUSE:Factory/.re2.new.18349 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "re2" Tue Jul 2 18:14:52 2024 rev:62 rq:1184332 version:MACRO Changes: -------- --- /work/SRC/openSUSE:Factory/re2/re2.changes 2024-06-04 12:51:23.736402428 +0200 +++ /work/SRC/openSUSE:Factory/.re2.new.18349/re2.changes 2024-07-02 18:14:57.572147262 +0200 @@ -1,0 +2,6 @@ +Mon Jul 1 14:18:15 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de> + +- update to 2024-07-02: + * address -Wsign-compare warnings + +------------------------------------------------------------------- Old: ---- re2-2024-06-01.tar.gz New: ---- re2-2024-07-02.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ re2.spec ++++++ --- /var/tmp/diff_new_pack.AEx9lk/_old 2024-07-02 18:14:58.508181506 +0200 +++ /var/tmp/diff_new_pack.AEx9lk/_new 2024-07-02 18:14:58.508181506 +0200 @@ -17,7 +17,7 @@ # -%global longver 2024-06-01 +%global longver 2024-07-02 %global shortver %(echo %{longver}|sed 's|-||g') %define libname libre2-11 Name: re2 ++++++ re2-2024-06-01.tar.gz -> re2-2024-07-02.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/.github/bazel.sh new/re2-2024-07-02/.github/bazel.sh --- old/re2-2024-06-01/.github/bazel.sh 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/.github/bazel.sh 2024-07-01 10:31:02.000000000 +0200 @@ -8,10 +8,14 @@ for compilation_mode in dbg opt do bazel clean - bazel build --compilation_mode=${compilation_mode} -- \ + bazel build \ + --extra_toolchains=//python/toolchains:all \ + --compilation_mode=${compilation_mode} -- \ //:re2 \ //python:re2 - bazel test --compilation_mode=${compilation_mode} -- \ + bazel test \ + --extra_toolchains=//python/toolchains:all \ + --compilation_mode=${compilation_mode} -- \ //:all \ -//:dfa_test \ -//:exhaustive1_test \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/ci-bazel.yml new/re2-2024-07-02/.github/workflows/ci-bazel.yml --- old/re2-2024-06-01/.github/workflows/ci-bazel.yml 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/.github/workflows/ci-bazel.yml 2024-07-01 10:31:02.000000000 +0200 @@ -11,12 +11,23 @@ fail-fast: false matrix: os: [macos-latest, ubuntu-latest, windows-latest] + ver: ['3.8', '3.9', '3.10', '3.11', '3.12'] env: BAZELISK_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v4.1.6 - - uses: bazel-contrib/setup-bazel@0.8.4 + - uses: actions/checkout@v4.1.7 + - uses: bazel-contrib/setup-bazel@0.8.5 with: bazelisk-version: '1.x' + - uses: actions/setup-python@v5.1.0 + with: + python-version: ${{ matrix.ver }} + - name: Prepare Python ${{ matrix.ver }} environment + run: | + python -m pip install --upgrade pip + python -m pip install --upgrade absl-py mypy + python python/toolchains/generate.py + shell: bash - run: .github/bazel.sh shell: bash + # TODO(junyer): Run mypy as per https://github.com/google/re2/issues/496. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/ci-cmake.yml new/re2-2024-07-02/.github/workflows/ci-cmake.yml --- old/re2-2024-06-01/.github/workflows/ci-cmake.yml 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/.github/workflows/ci-cmake.yml 2024-07-01 10:31:02.000000000 +0200 @@ -12,7 +12,7 @@ matrix: build_shared_libs: [OFF, ON] steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 - name: Install Abseil, GoogleTest and Benchmark run: | vcpkg update @@ -29,7 +29,7 @@ matrix: build_shared_libs: [OFF, ON] steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 - name: Install Abseil, GoogleTest and Benchmark run: | brew update @@ -44,7 +44,7 @@ matrix: build_shared_libs: [OFF, ON] steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 - name: Install Abseil, GoogleTest and Benchmark run: | vcpkg update diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/ci.yml new/re2-2024-07-02/.github/workflows/ci.yml --- old/re2-2024-06-01/.github/workflows/ci.yml 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/.github/workflows/ci.yml 2024-07-01 10:31:02.000000000 +0200 @@ -21,7 +21,7 @@ # (The other two flags are the default provided for CXXFLAGS in Makefile.) CXXFLAGS: -O3 -g -std=c++${{ matrix.ver }} steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 - name: Install Abseil, GoogleTest and Benchmark run: | brew update @@ -40,7 +40,7 @@ CXX: clang++-${{ matrix.ver }} PKG_CONFIG_PATH: /usr/local/share/vcpkg/installed/x64-linux/lib/pkgconfig steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 - name: Install Clang ${{ matrix.ver }} run: | # Avoid `Conflicts: python3-lldb-x.y` between packages. @@ -68,7 +68,7 @@ CXX: g++-${{ matrix.ver }} PKG_CONFIG_PATH: /usr/local/share/vcpkg/installed/x64-linux/lib/pkgconfig steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 - name: Install Abseil, GoogleTest and Benchmark run: | vcpkg update diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/pages.yml new/re2-2024-07-02/.github/workflows/pages.yml --- old/re2-2024-06-01/.github/workflows/pages.yml 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/.github/workflows/pages.yml 2024-07-01 10:31:02.000000000 +0200 @@ -17,8 +17,8 @@ # Bazel fails if the username is unknown. USER: runner steps: - - uses: actions/checkout@v4.1.6 - - uses: bazel-contrib/setup-bazel@0.8.4 + - uses: actions/checkout@v4.1.7 + - uses: bazel-contrib/setup-bazel@0.8.5 with: bazelisk-version: '1.x' - run: app/build.sh @@ -37,5 +37,5 @@ environment: github-pages runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 - uses: actions/deploy-pages@v4.0.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/pr.yml new/re2-2024-07-02/.github/workflows/pr.yml --- old/re2-2024-06-01/.github/workflows/pr.yml 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/.github/workflows/pr.yml 2024-07-01 10:31:02.000000000 +0200 @@ -15,7 +15,7 @@ pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 - uses: actions/github-script@v7.0.1 with: script: | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/python.yml new/re2-2024-07-02/.github/workflows/python.yml --- old/re2-2024-06-01/.github/workflows/python.yml 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/.github/workflows/python.yml 2024-07-01 10:31:02.000000000 +0200 @@ -5,6 +5,10 @@ build: required: true type: number + force-sdist: + required: false + type: boolean + default: false permissions: contents: read jobs: @@ -21,8 +25,9 @@ fail-fast: false matrix: arch: - - { name: X64, python-name: x86_64, runs-on: [ubuntu-latest] } - - { name: ARM64, python-name: aarch64, runs-on: [self-hosted, linux, arm64] } + - { name: X64, python-name: x86_64, runs-on: [ubuntu-latest] } + # TODO(junyer): Update the label after ARM64 graduates from beta. + - { name: ARM64, python-name: aarch64, runs-on: [arm-ubuntu-arm-22.04-4core] } os: [manylinux_2_28] ver: ['3.8', '3.9', '3.10', '3.11', '3.12'] env: @@ -31,18 +36,19 @@ # Bazel fails if the username is unknown. USER: runner steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 # Stash the timestamp for the commit SHA that triggered the workflow. - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}" shell: bash - - uses: bazel-contrib/setup-bazel@0.8.4 + - uses: bazel-contrib/setup-bazel@0.8.5 with: bazelisk-version: '1.x' - name: Prepare Python ${{ matrix.ver }} environment run: | "${PYTHON}" -m pip install --upgrade pip - "${PYTHON}" -m pip install --upgrade build wheel auditwheel - "${PYTHON}" -m pip install --upgrade absl-py + "${PYTHON}" -m pip install --upgrade setuptools build wheel auditwheel + "${PYTHON}" -m pip install --upgrade absl-py mypy + "${PYTHON}" python/toolchains/generate.py shell: bash - name: Build wheel env: @@ -55,6 +61,10 @@ - name: Test wheel run: | "${PYTHON}" -m pip install google_re2-*.whl + # Pivot out of the repository so that we test the wheel. + DIR=$(mktemp -d) + cp re2_test.py "${DIR}" + cd "${DIR}" "${PYTHON}" re2_test.py shell: bash working-directory: python @@ -87,11 +97,11 @@ # Otherwise, Python refuses to install the built wheel! SYSTEM_VERSION_COMPAT: 0 steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 # Stash the timestamp for the commit SHA that triggered the workflow. - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}" shell: bash - - uses: bazel-contrib/setup-bazel@0.8.4 + - uses: bazel-contrib/setup-bazel@0.8.5 with: bazelisk-version: '1.x' - uses: actions/setup-python@v5.1.0 @@ -100,8 +110,9 @@ - name: Prepare Python ${{ matrix.ver }} environment run: | python -m pip install --upgrade pip - python -m pip install --upgrade build wheel delocate - python -m pip install --upgrade absl-py + python -m pip install --upgrade setuptools build wheel delocate + python -m pip install --upgrade absl-py mypy + python python/toolchains/generate.py shell: bash - name: Build wheel env: @@ -115,6 +126,10 @@ name: Test wheel run: | python -m pip install google_re2-*.whl + # Pivot out of the repository so that we test the wheel. + DIR=$(mktemp -d) + cp re2_test.py "${DIR}" + cd "${DIR}" python re2_test.py shell: bash working-directory: python @@ -138,11 +153,11 @@ BAZEL_CPU: ${{ matrix.arch.bazel-name }}_windows PLAT_NAME: ${{ matrix.arch.python-name }} steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 # Stash the timestamp for the commit SHA that triggered the workflow. - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}" shell: bash - - uses: bazel-contrib/setup-bazel@0.8.4 + - uses: bazel-contrib/setup-bazel@0.8.5 with: bazelisk-version: '1.x' # Lowercase the architecture name for `actions/setup-python`. @@ -157,8 +172,9 @@ - name: Prepare Python ${{ matrix.ver }} environment run: | python -m pip install --upgrade pip - python -m pip install --upgrade build wheel delvewheel - python -m pip install --upgrade absl-py + python -m pip install --upgrade setuptools build wheel delvewheel + python -m pip install --upgrade absl-py mypy + python python/toolchains/generate.py shell: bash - name: Build wheel env: @@ -171,6 +187,10 @@ - name: Test wheel run: | python -m pip install google_re2-*.whl + # Pivot out of the repository so that we test the wheel. + DIR=$(mktemp -d) + cp re2_test.py "${DIR}" + cd "${DIR}" python re2_test.py shell: bash working-directory: python @@ -190,7 +210,7 @@ id-token: write runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 # Stash the timestamp for the commit SHA that triggered the workflow. - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}" shell: bash @@ -200,10 +220,10 @@ - name: Prepare Python 3.x environment run: | python -m pip install --upgrade pip - python -m pip install --upgrade build wheel + python -m pip install --upgrade setuptools build wheel shell: bash - - if: inputs.build == 1 - name: Build source + - if: inputs.build <= 1 || inputs.force-sdist == true + name: Build sdist env: SOURCE_DATE_EPOCH: ${{ env.timestamp }} run: | @@ -226,6 +246,6 @@ shell: bash working-directory: python - if: inputs.build >= 1 - uses: pypa/gh-action-pypi-publish@v1.8.14 + uses: pypa/gh-action-pypi-publish@v1.9.0 with: packages-dir: python/dist diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/.github/workflows/release.yml new/re2-2024-07-02/.github/workflows/release.yml --- old/re2-2024-06-01/.github/workflows/release.yml 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/.github/workflows/release.yml 2024-07-01 10:31:02.000000000 +0200 @@ -16,7 +16,7 @@ env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v4.1.6 + - uses: actions/checkout@v4.1.7 - run: | gh release create "${GITHUB_REF_NAME}" \ --generate-notes --latest --verify-tag \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/BUILD.bazel new/re2-2024-07-02/BUILD.bazel --- old/re2-2024-06-01/BUILD.bazel 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/BUILD.bazel 2024-07-01 10:31:02.000000000 +0200 @@ -135,6 +135,7 @@ ":re2", "@abseil-cpp//absl/base", "@abseil-cpp//absl/base:core_headers", + "@abseil-cpp//absl/container:flat_hash_set", "@abseil-cpp//absl/flags:flag", "@abseil-cpp//absl/log:absl_check", "@abseil-cpp//absl/log:absl_log", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/MODULE.bazel new/re2-2024-07-02/MODULE.bazel --- old/re2-2024-06-01/MODULE.bazel 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/MODULE.bazel 2024-07-01 10:31:02.000000000 +0200 @@ -6,7 +6,7 @@ module( name = "re2", - version = "2024-06-01", + version = "2024-07-02", compatibility_level = 1, ) @@ -14,7 +14,7 @@ bazel_dep(name = "apple_support", version = "1.15.1") bazel_dep(name = "rules_cc", version = "0.0.9") bazel_dep(name = "abseil-cpp", version = "20240116.2") -bazel_dep(name = "rules_python", version = "0.32.2") +bazel_dep(name = "rules_python", version = "0.33.2") bazel_dep(name = "pybind11_bazel", version = "2.12.0") # This is a temporary hack for `x64_x86_windows`. @@ -24,6 +24,6 @@ # These dependencies will be ignored when the `re2` module is not # the root module (or when `--ignore_dev_dependency` is enabled). -bazel_dep(name = "google_benchmark", version = "1.8.3", dev_dependency = True) +bazel_dep(name = "google_benchmark", version = "1.8.4", dev_dependency = True) bazel_dep(name = "googletest", version = "1.14.0.bcr.1", dev_dependency = True) bazel_dep(name = "abseil-py", version = "2.1.0", dev_dependency = True) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/app/build.sh new/re2-2024-07-02/app/build.sh --- old/re2-2024-06-01/app/build.sh 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/app/build.sh 2024-07-01 10:31:02.000000000 +0200 @@ -7,9 +7,9 @@ cd ${SRCDIR} # Emscripten doesn't support `-fstack-protector`. AR=emar CC=emcc \ - bazel build --compilation_mode=opt \ + bazel build \ --copt=-fno-stack-protector \ - -- :all + --compilation_mode=opt -- :all cp ../bazel-bin/app/_re2.js ${DSTDIR} bazel clean --expunge cp app.ts index.html _re2.d.ts ${DSTDIR} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/python/setup.py new/re2-2024-07-02/python/setup.py --- old/re2-2024-06-01/python/setup.py 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/python/setup.py 2024-07-01 10:31:02.000000000 +0200 @@ -3,11 +3,10 @@ # license that can be found in the LICENSE file. import os +import re import setuptools import setuptools.command.build_ext import shutil -import sys -import sysconfig long_description = r"""A drop-in replacement for the re module. @@ -67,10 +66,7 @@ except KeyError: pass # Register the local Python toolchains with highest priority. - self.generate_python_toolchains() cmd.append('--extra_toolchains=//python/toolchains:all') - # Print debug information during toolchain resolution. - cmd.append('--toolchain_resolution_debug=.*') cmd += ['--compilation_mode=opt', '--', ':all'] self.spawn(cmd) @@ -82,88 +78,6 @@ cmd = ['bazel', 'clean', '--expunge'] self.spawn(cmd) - def generate_python_toolchains(self): - include = sysconfig.get_path('include') - libs = os.path.join(include, '../libs') - - os.makedirs('toolchains') - shutil.copytree(include, 'toolchains/include') - try: - shutil.copytree(libs, 'toolchains/libs') - except FileNotFoundError: - # We must not be running on Windows. :) - pass - - with open('toolchains/BUILD.bazel', 'x') as file: - file.write( - """\ -load("@rules_python//python/cc:py_cc_toolchain.bzl", "py_cc_toolchain") -load("@rules_python//python:py_runtime.bzl", "py_runtime") -load("@rules_python//python:py_runtime_pair.bzl", "py_runtime_pair") - -package(default_visibility = ["//visibility:public"]) - -toolchain( - name = "py", - toolchain = ":py_toolchain", - toolchain_type = "@rules_python//python:toolchain_type", -) - -py_runtime_pair( - name = "py_toolchain", - py3_runtime = ":interpreter", -) - -py_runtime( - name = "interpreter", - interpreter_path = "{interpreter_path}", - interpreter_version_info = {{ - "major": "{major}", - "minor": "{minor}", - }}, - python_version = "PY3", -) - -toolchain( - name = "py_cc", - toolchain = ":py_cc_toolchain", - toolchain_type = "@rules_python//python/cc:toolchain_type", -) - -py_cc_toolchain( - name = "py_cc_toolchain", - headers = ":headers", - libs = ":libraries", - python_version = "{major}.{minor}", -) - -cc_library( - name = "headers", - hdrs = glob(["include/**/*.h"]), - includes = ["include"], - deps = select({{ - "@platforms//os:windows": [":interface_library"], - "//conditions:default": [], - }}), -) - -cc_import( - name = "interface_library", - interface_library = select({{ - "@platforms//os:windows": "libs/python{major}{minor}.lib", - "//conditions:default": None, - }}), - system_provided = True, -) - -# Not actually necessary for our purposes. :) -cc_library( - name = "libraries", -) -""".format(interpreter_path=sys.executable.replace('\\', '/'), - major=sys.version_info.major, - minor=sys.version_info.minor)) - def options(): bdist_wheel = {} @@ -190,25 +104,55 @@ extra_compile_args=['-fvisibility=hidden'], ) -setuptools.setup( - name='google-re2', - version='1.1.20240601', - description='RE2 Python bindings', - long_description=long_description, - long_description_content_type='text/plain', - author='The RE2 Authors', - author_email='re2-dev@googlegroups.com', - url='https://github.com/google/re2', - py_modules=['re2'], - ext_modules=[ext_module], - classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'License :: OSI Approved :: BSD License', - 'Programming Language :: C++', - 'Programming Language :: Python :: 3.8', - ], - options=options(), - cmdclass={'build_ext': BuildExt}, - python_requires='~=3.8', -) +# We need `re2` to be a package, not a module, because it appears that +# modules can't have `.pyi` files, so munge the module into a package. +PACKAGE = 're2' +try: + # If we are building from the sdist, we are already in package form. + if not os.path.exists('PKG-INFO'): + os.makedirs(PACKAGE) + for filename in ( + 're2.py', + # TODO(junyer): Populate as per https://github.com/google/re2/issues/496. + # 're2.pyi', + # '_re2.pyi', + ): + with open(filename, 'r') as file: + contents = file.read() + filename = re.sub(r'^re2(?=\.py)', '__init__', filename) + contents = re.sub(r'^(?=import _)', 'from . ', contents, flags=re.MULTILINE) + with open(f'{PACKAGE}/{filename}', 'x') as file: + file.write(contents) + # TODO(junyer): Populate as per https://github.com/google/re2/issues/496. + # with open(f'{PACKAGE}/py.typed', 'x') as file: + # pass + + setuptools.setup( + name='google-re2', + version='1.1.20240702', + description='RE2 Python bindings', + long_description=long_description, + long_description_content_type='text/plain', + author='The RE2 Authors', + author_email='re2-dev@googlegroups.com', + url='https://github.com/google/re2', + packages=[PACKAGE], + ext_package=PACKAGE, + ext_modules=[ext_module], + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: BSD License', + 'Programming Language :: C++', + 'Programming Language :: Python :: 3.8', + ], + options=options(), + cmdclass={'build_ext': BuildExt}, + python_requires='~=3.8', + ) +except: + raise +else: + # If we are building from the sdist, we are already in package form. + if not os.path.exists('PKG-INFO'): + shutil.rmtree(PACKAGE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/python/toolchains/generate.py new/re2-2024-07-02/python/toolchains/generate.py --- old/re2-2024-06-01/python/toolchains/generate.py 1970-01-01 01:00:00.000000000 +0100 +++ new/re2-2024-07-02/python/toolchains/generate.py 2024-07-01 10:31:02.000000000 +0200 @@ -0,0 +1,98 @@ +# Copyright 2019 The RE2 Authors. All Rights Reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +import os +import shutil +import sys +import sysconfig + + +def generate(): + include = sysconfig.get_path('include') + libs = os.path.join(include, '../libs') + + mydir = os.path.dirname(sys.argv[0]) or '.' + shutil.copytree(include, f'{mydir}/include') + try: + shutil.copytree(libs, f'{mydir}/libs') + except FileNotFoundError: + # We must not be running on Windows. :) + pass + + with open(f'{mydir}/BUILD.bazel', 'x') as file: + file.write( + """\ +load("@rules_python//python/cc:py_cc_toolchain.bzl", "py_cc_toolchain") +load("@rules_python//python:py_runtime.bzl", "py_runtime") +load("@rules_python//python:py_runtime_pair.bzl", "py_runtime_pair") + +package(default_visibility = ["//visibility:public"]) + +toolchain( + name = "py", + toolchain = ":py_toolchain", + toolchain_type = "@rules_python//python:toolchain_type", +) + +py_runtime_pair( + name = "py_toolchain", + py3_runtime = ":interpreter", +) + +py_runtime( + name = "interpreter", + interpreter_path = "{interpreter_path}", + interpreter_version_info = {{ + "major": "{major}", + "minor": "{minor}", + }}, + python_version = "PY3", +) + +toolchain( + name = "py_cc", + toolchain = ":py_cc_toolchain", + toolchain_type = "@rules_python//python/cc:toolchain_type", +) + +py_cc_toolchain( + name = "py_cc_toolchain", + headers = ":headers", + libs = ":libraries", + python_version = "{major}.{minor}", +) + +cc_library( + name = "headers", + hdrs = glob(["include/**/*.h"]), + includes = ["include"], + deps = select({{ + "@platforms//os:windows": [":interface_library"], + "//conditions:default": [], + }}), +) + +cc_import( + name = "interface_library", + interface_library = select({{ + "@platforms//os:windows": "libs/python{major}{minor}.lib", + "//conditions:default": None, + }}), + system_provided = True, +) + +# Not actually necessary for our purposes. :) +cc_library( + name = "libraries", +) +""".format( + interpreter_path=sys.executable.replace('\\', '/'), + major=sys.version_info.major, + minor=sys.version_info.minor, + ) + ) + + +if __name__ == '__main__': + generate() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/re2/bitmap256.h new/re2-2024-07-02/re2/bitmap256.h --- old/re2-2024-06-01/re2/bitmap256.h 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/re2/bitmap256.h 2024-07-01 10:31:02.000000000 +0200 @@ -51,7 +51,7 @@ private: // Finds the least significant non-zero bit in n. static int FindLSBSet(uint64_t n) { - ABSL_DCHECK_NE(n, 0); + ABSL_DCHECK_NE(n, uint64_t{0}); #if defined(__GNUC__) return __builtin_ctzll(n); #elif defined(_MSC_VER) && defined(_M_X64) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/re2/prog.cc new/re2-2024-07-02/re2/prog.cc --- old/re2-2024-06-01/re2/prog.cc 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/re2/prog.cc 2024-07-01 10:31:02.000000000 +0200 @@ -37,13 +37,13 @@ // Constructors per Inst opcode void Prog::Inst::InitAlt(uint32_t out, uint32_t out1) { - ABSL_DCHECK_EQ(out_opcode_, 0); + ABSL_DCHECK_EQ(out_opcode_, uint32_t{0}); set_out_opcode(out, kInstAlt); out1_ = out1; } void Prog::Inst::InitByteRange(int lo, int hi, int foldcase, uint32_t out) { - ABSL_DCHECK_EQ(out_opcode_, 0); + ABSL_DCHECK_EQ(out_opcode_, uint32_t{0}); set_out_opcode(out, kInstByteRange); lo_ = lo & 0xFF; hi_ = hi & 0xFF; @@ -51,30 +51,30 @@ } void Prog::Inst::InitCapture(int cap, uint32_t out) { - ABSL_DCHECK_EQ(out_opcode_, 0); + ABSL_DCHECK_EQ(out_opcode_, uint32_t{0}); set_out_opcode(out, kInstCapture); cap_ = cap; } void Prog::Inst::InitEmptyWidth(EmptyOp empty, uint32_t out) { - ABSL_DCHECK_EQ(out_opcode_, 0); + ABSL_DCHECK_EQ(out_opcode_, uint32_t{0}); set_out_opcode(out, kInstEmptyWidth); empty_ = empty; } void Prog::Inst::InitMatch(int32_t id) { - ABSL_DCHECK_EQ(out_opcode_, 0); + ABSL_DCHECK_EQ(out_opcode_, uint32_t{0}); set_opcode(kInstMatch); match_id_ = id; } void Prog::Inst::InitNop(uint32_t out) { - ABSL_DCHECK_EQ(out_opcode_, 0); + ABSL_DCHECK_EQ(out_opcode_, uint32_t{0}); set_opcode(kInstNop); } void Prog::Inst::InitFail() { - ABSL_DCHECK_EQ(out_opcode_, 0); + ABSL_DCHECK_EQ(out_opcode_, uint32_t{0}); set_opcode(kInstFail); } @@ -1113,7 +1113,7 @@ #if defined(__AVX2__) // Finds the least significant non-zero bit in n. static int FindLSBSet(uint32_t n) { - ABSL_DCHECK_NE(n, 0); + ABSL_DCHECK_NE(n, uint32_t{0}); #if defined(__GNUC__) return __builtin_ctz(n); #elif defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86)) @@ -1135,7 +1135,7 @@ #endif const void* Prog::PrefixAccel_FrontAndBack(const void* data, size_t size) { - ABSL_DCHECK_GE(prefix_size_, 2); + ABSL_DCHECK_GE(prefix_size_, size_t{2}); if (size < prefix_size_) return NULL; // Don't bother searching the last prefix_size_-1 bytes for prefix_front_. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/re2/re2.cc new/re2-2024-07-02/re2/re2.cc --- old/re2-2024-06-01/re2/re2.cc 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/re2/re2.cc 2024-07-01 10:31:02.000000000 +0200 @@ -332,7 +332,7 @@ // Finds the most significant non-zero bit in n. static int FindMSBSet(uint32_t n) { - ABSL_DCHECK_NE(n, 0); + ABSL_DCHECK_NE(n, uint32_t{0}); #if defined(__GNUC__) return 31 ^ __builtin_clz(n); #elif defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86)) @@ -1050,7 +1050,7 @@ out->push_back('\\'); } else { if (options_.log_errors()) - ABSL_LOG(ERROR) << "invalid rewrite pattern: " << rewrite.data(); + ABSL_LOG(ERROR) << "invalid rewrite pattern: " << rewrite; return false; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/re2/regexp.cc new/re2-2024-07-02/re2/regexp.cc --- old/re2-2024-06-01/re2/regexp.cc 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/re2/regexp.cc 2024-07-01 10:31:02.000000000 +0200 @@ -498,7 +498,7 @@ if (n == 0) break; - ABSL_DCHECK_GE(n, 2); + ABSL_DCHECK_GE(n, size_t{2}); a = stk[n-2]; b = stk[n-1]; stk.resize(n-2); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/re2/testing/filtered_re2_test.cc new/re2-2024-07-02/re2/testing/filtered_re2_test.cc --- old/re2-2024-06-01/re2/testing/filtered_re2_test.cc 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/re2/testing/filtered_re2_test.cc 2024-07-01 10:31:02.000000000 +0200 @@ -33,14 +33,14 @@ FilterTestVars v; v.f.Compile(&v.atoms); - EXPECT_EQ(0, v.atoms.size()); + EXPECT_EQ(size_t{0}, v.atoms.size()); // Compile has no effect at all when called before Add: it will not // record that it has been called and it will not clear the vector. // The second point does not matter here, but the first point means // that an error will be logged during the call to AllMatches. v.f.AllMatches("foo", v.atom_indices, &v.matches); - EXPECT_EQ(0, v.matches.size()); + EXPECT_EQ(size_t{0}, v.matches.size()); } TEST(FilteredRE2Test, SmallOrTest) { @@ -49,10 +49,10 @@ v.f.Add("(foo|bar)", v.opts, &id); v.f.Compile(&v.atoms); - EXPECT_EQ(0, v.atoms.size()); + EXPECT_EQ(size_t{0}, v.atoms.size()); v.f.AllMatches("lemurs bar", v.atom_indices, &v.matches); - EXPECT_EQ(1, v.matches.size()); + EXPECT_EQ(size_t{1}, v.matches.size()); EXPECT_EQ(id, v.matches[0]); } @@ -63,12 +63,12 @@ v.opts.set_encoding(RE2::Options::EncodingLatin1); v.f.Add("\xde\xadQ\xbe\xef", v.opts, &id); v.f.Compile(&v.atoms); - EXPECT_EQ(1, v.atoms.size()); + EXPECT_EQ(size_t{1}, v.atoms.size()); EXPECT_EQ(v.atoms[0], "\xde\xadq\xbe\xef"); v.atom_indices.push_back(0); v.f.AllMatches("foo\xde\xadQ\xbe\xeflemur", v.atom_indices, &v.matches); - EXPECT_EQ(1, v.matches.size()); + EXPECT_EQ(size_t{1}, v.matches.size()); EXPECT_EQ(id, v.matches[0]); } @@ -256,7 +256,7 @@ FindAtomIndices(v.atoms, atoms, &atom_ids); std::vector<int> matching_regexps; v.f.AllMatches(text, atom_ids, &matching_regexps); - EXPECT_EQ(1, matching_regexps.size()); + EXPECT_EQ(size_t{1}, matching_regexps.size()); text = "abc12312yyyzzz"; atoms.clear(); @@ -265,7 +265,7 @@ atoms.push_back("yyyzzz"); FindAtomIndices(v.atoms, atoms, &atom_ids); v.f.AllMatches(text, atom_ids, &matching_regexps); - EXPECT_EQ(1, matching_regexps.size()); + EXPECT_EQ(size_t{1}, matching_regexps.size()); text = "abcd12yyy32yyyzzz"; atoms.clear(); @@ -278,7 +278,7 @@ for (size_t i = 0; i < atom_ids.size(); i++) ABSL_LOG(INFO) << "i: " << i << " : " << atom_ids[i]; v.f.AllMatches(text, atom_ids, &matching_regexps); - EXPECT_EQ(2, matching_regexps.size()); + EXPECT_EQ(size_t{2}, matching_regexps.size()); } TEST(FilteredRE2Test, EmptyStringInStringSetBug) { @@ -301,43 +301,43 @@ v1.f.Add("foo\\d+", v1.opts, &id); EXPECT_EQ(0, id); v1.f.Compile(&v1.atoms); - EXPECT_EQ(1, v1.atoms.size()); + EXPECT_EQ(size_t{1}, v1.atoms.size()); EXPECT_EQ("foo", v1.atoms[0]); v1.f.AllMatches("abc foo1 xyz", {0}, &v1.matches); - EXPECT_EQ(1, v1.matches.size()); + EXPECT_EQ(size_t{1}, v1.matches.size()); EXPECT_EQ(0, v1.matches[0]); v1.f.AllMatches("abc bar2 xyz", {0}, &v1.matches); - EXPECT_EQ(0, v1.matches.size()); + EXPECT_EQ(size_t{0}, v1.matches.size()); // The moved-to object should do what the moved-from object did. FilterTestVars v2; v2.f = std::move(v1.f); v2.f.AllMatches("abc foo1 xyz", {0}, &v2.matches); - EXPECT_EQ(1, v2.matches.size()); + EXPECT_EQ(size_t{1}, v2.matches.size()); EXPECT_EQ(0, v2.matches[0]); v2.f.AllMatches("abc bar2 xyz", {0}, &v2.matches); - EXPECT_EQ(0, v2.matches.size()); + EXPECT_EQ(size_t{0}, v2.matches.size()); // The moved-from object should have been reset and be reusable. v1.f.Add("bar\\d+", v1.opts, &id); EXPECT_EQ(0, id); v1.f.Compile(&v1.atoms); - EXPECT_EQ(1, v1.atoms.size()); + EXPECT_EQ(size_t{1}, v1.atoms.size()); EXPECT_EQ("bar", v1.atoms[0]); v1.f.AllMatches("abc foo1 xyz", {0}, &v1.matches); - EXPECT_EQ(0, v1.matches.size()); + EXPECT_EQ(size_t{0}, v1.matches.size()); v1.f.AllMatches("abc bar2 xyz", {0}, &v1.matches); - EXPECT_EQ(1, v1.matches.size()); + EXPECT_EQ(size_t{1}, v1.matches.size()); EXPECT_EQ(0, v1.matches[0]); // Verify that "overwriting" works and also doesn't leak memory. // (The latter will need a leak detector such as LeakSanitizer.) v1.f = std::move(v2.f); v1.f.AllMatches("abc foo1 xyz", {0}, &v1.matches); - EXPECT_EQ(1, v1.matches.size()); + EXPECT_EQ(size_t{1}, v1.matches.size()); EXPECT_EQ(0, v1.matches[0]); v1.f.AllMatches("abc bar2 xyz", {0}, &v1.matches); - EXPECT_EQ(0, v1.matches.size()); + EXPECT_EQ(size_t{0}, v1.matches.size()); } } // namespace re2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/re2/testing/re2_test.cc new/re2-2024-07-02/re2/testing/re2_test.cc --- old/re2-2024-06-01/re2/testing/re2_test.cc 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/re2/testing/re2_test.cc 2024-07-01 10:31:02.000000000 +0200 @@ -558,14 +558,14 @@ RE2 re("(hello world)"); ASSERT_EQ(re.NumberOfCapturingGroups(), 1); const std::map<std::string, int>& m = re.NamedCapturingGroups(); - ASSERT_EQ(m.size(), 0); + ASSERT_EQ(m.size(), size_t{0}); } { RE2 re("(?P<A>expr(?P<B>expr)(?P<C>expr))((expr)(?P<D>expr))"); ASSERT_EQ(re.NumberOfCapturingGroups(), 6); const std::map<std::string, int>& m = re.NamedCapturingGroups(); - ASSERT_EQ(m.size(), 4); + ASSERT_EQ(m.size(), size_t{4}); ASSERT_EQ(m.find("A")->second, 1); ASSERT_EQ(m.find("B")->second, 2); ASSERT_EQ(m.find("C")->second, 3); @@ -687,7 +687,7 @@ absl::string_view sp; // string_view-arg ASSERT_TRUE(RE2::FullMatch("ruby:1234", "(\\w+):(\\d+)", &sp, &i)); - ASSERT_EQ(sp.size(), 4); + ASSERT_EQ(sp.size(), size_t{4}); ASSERT_TRUE(memcmp(sp.data(), "ruby", 4) == 0); ASSERT_EQ(i, 1234); } @@ -797,6 +797,11 @@ ASSERT_EQ(c, 'H'); } { + signed char c; + ASSERT_TRUE(RE2::FullMatch("Hello", "(H)ello", &c)); + ASSERT_EQ(c, static_cast<signed char>('H')); + } + { unsigned char c; ASSERT_TRUE(RE2::FullMatch("Hello", "(H)ello", &c)); ASSERT_EQ(c, static_cast<unsigned char>('H')); @@ -841,7 +846,7 @@ { uint32_t v; static const uint32_t max = UINT32_C(0xffffffff); - ASSERT_TRUE(RE2::FullMatch("100", "(\\d+)", &v)); ASSERT_EQ(v, 100); + ASSERT_TRUE(RE2::FullMatch("100", "(\\d+)", &v)); ASSERT_EQ(v, uint32_t{100}); ASSERT_TRUE(RE2::FullMatch("4294967295", "(\\d+)", &v)); ASSERT_EQ(v, max); ASSERT_FALSE(RE2::FullMatch("4294967296", "(\\d+)", &v)); ASSERT_FALSE(RE2::FullMatch("-1", "(\\d+)", &v)); @@ -879,7 +884,7 @@ static const uint64_t max = UINT64_C(0xffffffffffffffff); std::string str; - ASSERT_TRUE(RE2::FullMatch("100", "(-?\\d+)", &v)); ASSERT_EQ(v, 100); + ASSERT_TRUE(RE2::FullMatch("100", "(-?\\d+)", &v)); ASSERT_EQ(v, uint64_t{100}); ASSERT_TRUE(RE2::FullMatch("-100", "(-?\\d+)", &v2)); ASSERT_EQ(v2, -100); str = std::to_string(max); @@ -897,11 +902,11 @@ float v; ASSERT_TRUE(RE2::FullMatch("100", "(.*)", &v)); ASSERT_EQ(v, 100); ASSERT_TRUE(RE2::FullMatch("-100.", "(.*)", &v)); ASSERT_EQ(v, -100); - ASSERT_TRUE(RE2::FullMatch("1e23", "(.*)", &v)); ASSERT_EQ(v, float(1e23)); + ASSERT_TRUE(RE2::FullMatch("1e23", "(.*)", &v)); ASSERT_EQ(v, float{1e23}); ASSERT_TRUE(RE2::FullMatch(" 100", "(.*)", &v)); ASSERT_EQ(v, 100); ASSERT_TRUE(RE2::FullMatch(zeros + "1e23", "(.*)", &v)); - ASSERT_EQ(v, float(1e23)); + ASSERT_EQ(v, float{1e23}); // 6700000000081920.1 is an edge case. // 6700000000081920 is exactly halfway between @@ -930,9 +935,11 @@ double v; ASSERT_TRUE(RE2::FullMatch("100", "(.*)", &v)); ASSERT_EQ(v, 100); ASSERT_TRUE(RE2::FullMatch("-100.", "(.*)", &v)); ASSERT_EQ(v, -100); - ASSERT_TRUE(RE2::FullMatch("1e23", "(.*)", &v)); ASSERT_EQ(v, 1e23); + ASSERT_TRUE(RE2::FullMatch("1e23", "(.*)", &v)); ASSERT_EQ(v, double{1e23}); + ASSERT_TRUE(RE2::FullMatch(" 100", "(.*)", &v)); ASSERT_EQ(v, 100); + ASSERT_TRUE(RE2::FullMatch(zeros + "1e23", "(.*)", &v)); - ASSERT_EQ(v, double(1e23)); + ASSERT_EQ(v, double{1e23}); ASSERT_TRUE(RE2::FullMatch("0.1", "(.*)", &v)); ASSERT_EQ(v, 0.1) << absl::StrFormat("%.17g != %.17g", v, 0.1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/re2/testing/regexp_test.cc new/re2-2024-07-02/re2/testing/regexp_test.cc --- old/re2-2024-06-01/re2/testing/regexp_test.cc 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/re2/testing/regexp_test.cc 2024-07-01 10:31:02.000000000 +0200 @@ -54,8 +54,8 @@ EXPECT_EQ(4, x->NumCaptures()); const std::map<std::string, int>* have = x->NamedCaptures(); EXPECT_TRUE(have != NULL); - EXPECT_EQ(2, have->size()); // there are only two named groups in - // the regexp: 'g1' and 'g2'. + // there are only two named groups in the regexp: 'g1' and 'g2'. + EXPECT_EQ(size_t{2}, have->size()); std::map<std::string, int> want; want["g1"] = 1; want["g2"] = 3; @@ -73,7 +73,7 @@ EXPECT_EQ(4, x->NumCaptures()); const std::map<int, std::string>* have = x->CaptureNames(); EXPECT_TRUE(have != NULL); - EXPECT_EQ(3, have->size()); + EXPECT_EQ(size_t{3}, have->size()); std::map<int, std::string> want; want[1] = "g1"; want[3] = "g2"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/re2/testing/set_test.cc new/re2-2024-07-02/re2/testing/set_test.cc --- old/re2-2024-06-01/re2/testing/set_test.cc 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/re2/testing/set_test.cc 2024-07-01 10:31:02.000000000 +0200 @@ -28,16 +28,16 @@ std::vector<int> v; ASSERT_EQ(s.Match("foobar", &v), true); - ASSERT_EQ(v.size(), 2); + ASSERT_EQ(v.size(), size_t{2}); ASSERT_EQ(v[0], 0); ASSERT_EQ(v[1], 1); ASSERT_EQ(s.Match("fooba", &v), true); - ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v.size(), size_t{1}); ASSERT_EQ(v[0], 0); ASSERT_EQ(s.Match("oobar", &v), true); - ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v.size(), size_t{1}); ASSERT_EQ(v[0], 1); } @@ -56,21 +56,21 @@ std::vector<int> v; ASSERT_EQ(s.Match("foobar", &v), true); - ASSERT_EQ(v.size(), 2); + ASSERT_EQ(v.size(), size_t{2}); ASSERT_EQ(v[0], 0); ASSERT_EQ(v[1], 1); ASSERT_EQ(s.Match("obarfoobaroo", &v), true); - ASSERT_EQ(v.size(), 2); + ASSERT_EQ(v.size(), size_t{2}); ASSERT_EQ(v[0], 0); ASSERT_EQ(v[1], 1); ASSERT_EQ(s.Match("fooba", &v), true); - ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v.size(), size_t{1}); ASSERT_EQ(v[0], 0); ASSERT_EQ(s.Match("oobar", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); } TEST(Set, UnanchoredDollar) { @@ -84,11 +84,11 @@ std::vector<int> v; ASSERT_EQ(s.Match("foo", &v), true); - ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v.size(), size_t{1}); ASSERT_EQ(v[0], 0); ASSERT_EQ(s.Match("foobar", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); } TEST(Set, UnanchoredWordBoundary) { @@ -103,14 +103,14 @@ std::vector<int> v; ASSERT_EQ(s.Match("foo", &v), true); - ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v.size(), size_t{1}); ASSERT_EQ(v[0], 0); ASSERT_EQ(s.Match("foobar", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); ASSERT_EQ(s.Match("foo bar", &v), true); - ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v.size(), size_t{1}); ASSERT_EQ(v[0], 0); } @@ -130,20 +130,20 @@ std::vector<int> v; ASSERT_EQ(s.Match("foobar", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); ASSERT_EQ(s.Match("fooba", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); ASSERT_EQ(s.Match("oobar", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); ASSERT_EQ(s.Match("foo", &v), true); - ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v.size(), size_t{1}); ASSERT_EQ(v[0], 0); ASSERT_EQ(s.Match("bar", &v), true); - ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v.size(), size_t{1}); ASSERT_EQ(v[0], 1); } @@ -157,10 +157,10 @@ std::vector<int> v; ASSERT_EQ(s.Match("", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); ASSERT_EQ(s.Match("foobar", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); } TEST(Set, EmptyAnchored) { @@ -173,10 +173,10 @@ std::vector<int> v; ASSERT_EQ(s.Match("", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); ASSERT_EQ(s.Match("foobar", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); } TEST(Set, Prefix) { @@ -191,14 +191,14 @@ std::vector<int> v; ASSERT_EQ(s.Match("/prefix", &v), false); - ASSERT_EQ(v.size(), 0); + ASSERT_EQ(v.size(), size_t{0}); ASSERT_EQ(s.Match("/prefix/", &v), true); - ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v.size(), size_t{1}); ASSERT_EQ(v[0], 0); ASSERT_EQ(s.Match("/prefix/42", &v), true); - ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v.size(), size_t{1}); ASSERT_EQ(v[0], 0); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re2-2024-06-01/re2/testing/string_generator_test.cc new/re2-2024-07-02/re2/testing/string_generator_test.cc --- old/re2-2024-06-01/re2/testing/string_generator_test.cc 2024-05-30 22:10:50.000000000 +0200 +++ new/re2-2024-07-02/re2/testing/string_generator_test.cc 2024-07-01 10:31:02.000000000 +0200 @@ -47,7 +47,7 @@ EXPECT_TRUE(g.HasNext()); absl::string_view sp = g.Next(); EXPECT_EQ(sp.data(), static_cast<const char*>(NULL)); - EXPECT_EQ(sp.size(), 0); + EXPECT_EQ(sp.size(), size_t{0}); } while (g.HasNext()) {
participants (1)
-
Source-Sync