SDL_mixer: Updated test-versioning.sh for SDL2 branch

From f4b0be93ab97b625356e64f7f5080bfc1dbb34fb Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Wed, 1 Jan 2025 11:03:07 -0800
Subject: [PATCH] Updated test-versioning.sh for SDL2 branch

---
 build-scripts/test-versioning.sh |  68 ++++++++---
 test-versioning.sh               | 187 -------------------------------
 2 files changed, 53 insertions(+), 202 deletions(-)
 delete mode 100755 test-versioning.sh

diff --git a/build-scripts/test-versioning.sh b/build-scripts/test-versioning.sh
index 9e768168c..7d37b57e0 100755
--- a/build-scripts/test-versioning.sh
+++ b/build-scripts/test-versioning.sh
@@ -29,26 +29,66 @@ not_ok () {
     failed=1
 }
 
+major=$(sed -Ene 's/^m4_define\(\[MAJOR_VERSION_MACRO\], \[([0-9]*)\]\)$/\1/p' configure.ac)
+minor=$(sed -Ene 's/^m4_define\(\[MINOR_VERSION_MACRO\], \[([0-9]*)\]\)$/\1/p' configure.ac)
+micro=$(sed -Ene 's/^m4_define\(\[MICRO_VERSION_MACRO\], \[([0-9]*)\]\)$/\1/p' configure.ac)
+version="${major}.${minor}.${micro}"
+
+if [ "$ref_version" = "$version" ]; then
+    ok "configure.ac $version"
+else
+    not_ok "configure.ac $version disagrees with $header $ref_version"
+fi
+
+major=$(sed -ne 's/^MAJOR_VERSION=//p' configure)
+minor=$(sed -ne 's/^MINOR_VERSION=//p' configure)
+micro=$(sed -ne 's/^MICRO_VERSION=//p' configure)
+version="${major}.${minor}.${micro}"
+
+if [ "$ref_version" = "$version" ]; then
+    ok "configure $version"
+else
+    not_ok "configure $version disagrees with $header $ref_version"
+fi
+
 major=$(sed -ne 's/^set(MAJOR_VERSION \([0-9]*\))$/\1/p' CMakeLists.txt)
 minor=$(sed -ne 's/^set(MINOR_VERSION \([0-9]*\))$/\1/p' CMakeLists.txt)
 micro=$(sed -ne 's/^set(MICRO_VERSION \([0-9]*\))$/\1/p' CMakeLists.txt)
 ref_sdl_req=$(sed -ne 's/^set(SDL_REQUIRED_VERSION \([0-9.]*\))$/\1/p' CMakeLists.txt)
+sdl_req=$(sed -ne 's/^set(SDL_REQUIRED_VERSION \([0-9.]*\))$/\1/p' CMakeLists.txt)
 version="${major}.${minor}.${micro}"
 
 if [ "$ref_version" = "$version" ]; then
     ok "CMakeLists.txt $version"
 else
-    not_ok "CMakeLists.txt $version disagrees with SDL_mixer.h $ref_version"
+    not_ok "CMakeLists.txt $version disagrees with $header $ref_version"
+fi
+
+if [ "$ref_sdl_req" = "$sdl_req" ]; then
+    ok "CMakeLists.txt $sdl_req"
+else
+    not_ok "CMakeLists.txt SDL_REQUIRED_VERSION=$sdl_req disagrees with configure.ac SDL_VERSION=$ref_sdl_req"
 fi
 
-for rcfile in version.rc; do
+major=$(sed -ne 's/^MAJOR_VERSION *= *//p' Makefile.os2)
+minor=$(sed -ne 's/^MINOR_VERSION *= *//p' Makefile.os2)
+micro=$(sed -ne 's/^MICRO_VERSION *= *//p' Makefile.os2)
+version="${major}.${minor}.${micro}"
+
+if [ "$ref_version" = "$version" ]; then
+    ok "Makefile.os2 $version"
+else
+    not_ok "Makefile.os2 $version disagrees with $header $ref_version"
+fi
+
+for rcfile in version.rc VisualC/Version.rc; do
     tuple=$(sed -ne 's/^ *FILEVERSION *//p' "$rcfile" | tr -d '\r')
     ref_tuple="${ref_major},${ref_minor},${ref_micro},0"
 
     if [ "$ref_tuple" = "$tuple" ]; then
         ok "$rcfile FILEVERSION $tuple"
     else
-        not_ok "$rcfile FILEVERSION $tuple disagrees with SDL_mixer.h $ref_tuple"
+        not_ok "$rcfile FILEVERSION $tuple disagrees with $header $ref_tuple"
     fi
 
     tuple=$(sed -ne 's/^ *PRODUCTVERSION *//p' "$rcfile" | tr -d '\r')
@@ -56,7 +96,7 @@ for rcfile in version.rc; do
     if [ "$ref_tuple" = "$tuple" ]; then
         ok "$rcfile PRODUCTVERSION $tuple"
     else
-        not_ok "$rcfile PRODUCTVERSION $tuple disagrees with SDL_mixer.h $ref_tuple"
+        not_ok "$rcfile PRODUCTVERSION $tuple disagrees with $header $ref_tuple"
     fi
 
     tuple=$(sed -Ene 's/^ *VALUE "FileVersion", "([0-9, ]*)\\0"\r?$/\1/p' "$rcfile" | tr -d '\r')
@@ -65,7 +105,7 @@ for rcfile in version.rc; do
     if [ "$ref_tuple" = "$tuple" ]; then
         ok "$rcfile FileVersion $tuple"
     else
-        not_ok "$rcfile FileVersion $tuple disagrees with SDL_mixer.h $ref_tuple"
+        not_ok "$rcfile FileVersion $tuple disagrees with $header $ref_tuple"
     fi
 
     tuple=$(sed -Ene 's/^ *VALUE "ProductVersion", "([0-9, ]*)\\0"\r?$/\1/p' "$rcfile" | tr -d '\r')
@@ -73,7 +113,7 @@ for rcfile in version.rc; do
     if [ "$ref_tuple" = "$tuple" ]; then
         ok "$rcfile ProductVersion $tuple"
     else
-        not_ok "$rcfile ProductVersion $tuple disagrees with SDL_mixer.h $ref_tuple"
+        not_ok "$rcfile ProductVersion $tuple disagrees with $header $ref_tuple"
     fi
 done
 
@@ -82,7 +122,7 @@ version=$(sed -Ene '/CFBundleShortVersionString/,+1 s/.*<string>(.*)<\/string>.*
 if [ "$ref_version" = "$version" ]; then
     ok "Info-Framework.plist CFBundleShortVersionString $version"
 else
-    not_ok "Info-Framework.plist CFBundleShortVersionString $version disagrees with SDL_mixer.h $ref_version"
+    not_ok "Info-Framework.plist CFBundleShortVersionString $version disagrees with $header $ref_version"
 fi
 
 version=$(sed -Ene '/CFBundleVersion/,+1 s/.*<string>(.*)<\/string>.*/\1/p' Xcode/Info-Framework.plist)
@@ -90,7 +130,7 @@ version=$(sed -Ene '/CFBundleVersion/,+1 s/.*<string>(.*)<\/string>.*/\1/p' Xcod
 if [ "$ref_version" = "$version" ]; then
     ok "Info-Framework.plist CFBundleVersion $version"
 else
-    not_ok "Info-Framework.plist CFBundleVersion $version disagrees with SDL_mixer.h $ref_version"
+    not_ok "Info-Framework.plist CFBundleVersion $version disagrees with $header $ref_version"
 fi
 
 # For simplicity this assumes we'll never break ABI before SDL 3.
@@ -138,14 +178,12 @@ else
     not_ok "project.pbxproj DYLIB_CURRENT_VERSION is inconsistent, expected $ref, got $dylib_cur"
 fi
 
-if [ -f ".github/fetch_sdl_vc.ps1" ]; then
-  sdl_req=$(sed -ne 's/\$sdl2_version = "\([0-9.]*\)"$/\1/p' .github/fetch_sdl_vc.ps1)
+sdl_req=$(sed -ne 's/\$sdl2_version = "\([0-9.]*\)"$/\1/p' .github/fetch_sdl_vc.ps1)
 
-  if [ "$ref_sdl_req" = "$sdl_req" ]; then
-      ok ".github/fetch_sdl_vc.ps1 $sdl_req"
-  else
-      not_ok ".github/fetch_sdl_vc.ps1 sdl2_version=$sdl_req disagrees with CMakeLists.txt SDL_REQUIRED_VERSION=$ref_sdl_req"
-  fi
+if [ "$ref_sdl_req" = "$sdl_req" ]; then
+    ok ".github/fetch_sdl_vc.ps1 $sdl_req"
+else
+    not_ok ".github/fetch_sdl_vc.ps1 sdl2_version=$sdl_req disagrees with configure.ac SDL_VERSION=$ref_sdl_req"
 fi
 
 echo "1..$tests"
diff --git a/test-versioning.sh b/test-versioning.sh
deleted file mode 100755
index e74d93c4d..000000000
--- a/test-versioning.sh
+++ /dev/null
@@ -1,187 +0,0 @@
-#!/bin/sh
-# Copyright 2022 Collabora Ltd.
-# SPDX-License-Identifier: Zlib
-
-set -eu
-
-# Needed so sed doesn't report illegal byte sequences on macOS
-export LC_CTYPE=C
-
-ref_major=$(sed -ne 's/^#define SDL_MIXER_MAJOR_VERSION  *//p' include/SDL_mixer.h)
-ref_minor=$(sed -ne 's/^#define SDL_MIXER_MINOR_VERSION  *//p' include/SDL_mixer.h)
-ref_micro=$(sed -ne 's/^#define SDL_MIXER_PATCHLEVEL  *//p' include/SDL_mixer.h)
-ref_version="${ref_major}.${ref_minor}.${ref_micro}"
-
-tests=0
-failed=0
-
-ok () {
-    tests=$(( tests + 1 ))
-    echo "ok - $*"
-}
-
-not_ok () {
-    tests=$(( tests + 1 ))
-    echo "not ok - $*"
-    failed=1
-}
-
-major=$(sed -Ene 's/^m4_define\(\[MAJOR_VERSION_MACRO\], \[([0-9]*)\]\)$/\1/p' configure.ac)
-minor=$(sed -Ene 's/^m4_define\(\[MINOR_VERSION_MACRO\], \[([0-9]*)\]\)$/\1/p' configure.ac)
-micro=$(sed -Ene 's/^m4_define\(\[MICRO_VERSION_MACRO\], \[([0-9]*)\]\)$/\1/p' configure.ac)
-version="${major}.${minor}.${micro}"
-ref_sdl_req=$(sed -ne 's/^SDL_VERSION=//p' configure.ac)
-
-if [ "$ref_version" = "$version" ]; then
-    ok "configure.ac $version"
-else
-    not_ok "configure.ac $version disagrees with SDL_mixer.h $ref_version"
-fi
-
-major=$(sed -ne 's/^MAJOR_VERSION=//p' configure)
-minor=$(sed -ne 's/^MINOR_VERSION=//p' configure)
-micro=$(sed -ne 's/^MICRO_VERSION=//p' configure)
-version="${major}.${minor}.${micro}"
-
-if [ "$ref_version" = "$version" ]; then
-    ok "configure $version"
-else
-    not_ok "configure $version disagrees with SDL_mixer.h $ref_version"
-fi
-
-major=$(sed -ne 's/^set(MAJOR_VERSION \([0-9]*\))$/\1/p' CMakeLists.txt)
-minor=$(sed -ne 's/^set(MINOR_VERSION \([0-9]*\))$/\1/p' CMakeLists.txt)
-micro=$(sed -ne 's/^set(MICRO_VERSION \([0-9]*\))$/\1/p' CMakeLists.txt)
-sdl_req=$(sed -ne 's/^set(SDL_REQUIRED_VERSION \([0-9.]*\))$/\1/p' CMakeLists.txt)
-version="${major}.${minor}.${micro}"
-
-if [ "$ref_version" = "$version" ]; then
-    ok "CMakeLists.txt $version"
-else
-    not_ok "CMakeLists.txt $version disagrees with SDL_mixer.h $ref_version"
-fi
-
-if [ "$ref_sdl_req" = "$sdl_req" ]; then
-    ok "CMakeLists.txt $sdl_req"
-else
-    not_ok "CMakeLists.txt SDL_REQUIRED_VERSION=$sdl_req disagrees with configure.ac SDL_VERSION=$ref_sdl_req"
-fi
-
-major=$(sed -ne 's/^MAJOR_VERSION *= *//p' Makefile.os2)
-minor=$(sed -ne 's/^MINOR_VERSION *= *//p' Makefile.os2)
-micro=$(sed -ne 's/^MICRO_VERSION *= *//p' Makefile.os2)
-version="${major}.${minor}.${micro}"
-
-if [ "$ref_version" = "$version" ]; then
-    ok "Makefile.os2 $version"
-else
-    not_ok "Makefile.os2 $version disagrees with SDL_mixer.h $ref_version"
-fi
-
-for rcfile in version.rc VisualC/Version.rc; do
-    tuple=$(sed -ne 's/^ *FILEVERSION *//p' "$rcfile" | tr -d '\r')
-    ref_tuple="${ref_major},${ref_minor},${ref_micro},0"
-
-    if [ "$ref_tuple" = "$tuple" ]; then
-        ok "$rcfile FILEVERSION $tuple"
-    else
-        not_ok "$rcfile FILEVERSION $tuple disagrees with SDL_mixer.h $ref_tuple"
-    fi
-
-    tuple=$(sed -ne 's/^ *PRODUCTVERSION *//p' "$rcfile" | tr -d '\r')
-
-    if [ "$ref_tuple" = "$tuple" ]; then
-        ok "$rcfile PRODUCTVERSION $tuple"
-    else
-        not_ok "$rcfile PRODUCTVERSION $tuple disagrees with SDL_mixer.h $ref_tuple"
-    fi
-
-    tuple=$(sed -Ene 's/^ *VALUE "FileVersion", "([0-9, ]*)\\0"\r?$/\1/p' "$rcfile" | tr -d '\r')
-    ref_tuple="${ref_major}, ${ref_minor}, ${ref_micro}, 0"
-
-    if [ "$ref_tuple" = "$tuple" ]; then
-        ok "$rcfile FileVersion $tuple"
-    else
-        not_ok "$rcfile FileVersion $tuple disagrees with SDL_mixer.h $ref_tuple"
-    fi
-
-    tuple=$(sed -Ene 's/^ *VALUE "ProductVersion", "([0-9, ]*)\\0"\r?$/\1/p' "$rcfile" | tr -d '\r')
-
-    if [ "$ref_tuple" = "$tuple" ]; then
-        ok "$rcfile ProductVersion $tuple"
-    else
-        not_ok "$rcfile ProductVersion $tuple disagrees with SDL_mixer.h $ref_tuple"
-    fi
-done
-
-version=$(sed -Ene '/CFBundleShortVersionString/,+1 s/.*<string>(.*)<\/string>.*/\1/p' Xcode/Info-Framework.plist)
-
-if [ "$ref_version" = "$version" ]; then
-    ok "Info-Framework.plist CFBundleShortVersionString $version"
-else
-    not_ok "Info-Framework.plist CFBundleShortVersionString $version disagrees with SDL_mixer.h $ref_version"
-fi
-
-version=$(sed -Ene '/CFBundleVersion/,+1 s/.*<string>(.*)<\/string>.*/\1/p' Xcode/Info-Framework.plist)
-
-if [ "$ref_version" = "$version" ]; then
-    ok "Info-Framework.plist CFBundleVersion $version"
-else
-    not_ok "Info-Framework.plist CFBundleVersion $version disagrees with SDL_mixer.h $ref_version"
-fi
-
-# For simplicity this assumes we'll never break ABI before SDL 3.
-dylib_compat=$(sed -Ene 's/.*DYLIB_COMPATIBILITY_VERSION = (.*);$/\1/p' Xcode/SDL_mixer.xcodeproj/project.pbxproj)
-
-case "$ref_minor" in
-    (*[02468])
-        major="$(( ref_minor * 100 + 1 ))"
-        minor="0"
-        ;;
-    (*)
-        major="$(( ref_minor * 100 + ref_micro + 1 ))"
-        minor="0"
-        ;;
-esac
-
-ref="${major}.${minor}.0
-${major}.${minor}.0"
-
-if [ "$ref" = "$dylib_compat" ]; then
-    ok "project.pbxproj DYLIB_COMPATIBILITY_VERSION is consistent"
-else
-    not_ok "project.pbxproj DYLIB_COMPATIBILITY_VERSION is inconsistent, expected $ref, got $dylib_compat"
-fi
-
-dylib_cur=$(sed -Ene 's/.*DYLIB_CURRENT_VERSION = (.*);$/\1/p' Xcode/SDL_mixer.xcodeproj/project.pbxproj)
-
-case "$ref_minor" in
-    (*[02468])
-        major="$(( ref_minor * 100 + 1 ))"
-        minor="$ref_micro"
-        ;;
-    (*)
-        major="$(( ref_minor * 100 + ref_micro + 1 ))"
-        minor="0"
-        ;;
-esac
-
-ref="${major}.${minor}.0
-${major}.${minor}.0"
-
-if [ "$ref" = "$dylib_cur" ]; then
-    ok "project.pbxproj DYLIB_CURRENT_VERSION is consistent"
-else
-    not_ok "project.pbxproj DYLIB_CURRENT_VERSION is inconsistent, expected $ref, got $dylib_cur"
-fi
-
-sdl_req=$(sed -ne 's/\$sdl2_version = "\([0-9.]*\)"$/\1/p' .github/fetch_sdl_vc.ps1)
-
-if [ "$ref_sdl_req" = "$sdl_req" ]; then
-    ok ".github/fetch_sdl_vc.ps1 $sdl_req"
-else
-    not_ok ".github/fetch_sdl_vc.ps1 sdl2_version=$sdl_req disagrees with configure.ac SDL_VERSION=$ref_sdl_req"
-fi
-
-echo "1..$tests"
-exit "$failed"