From 55fda05beaabc3c15baa2636e431a1e303d5aec8 Mon Sep 17 00:00:00 2001 From: Nick Robinson Date: Wed, 23 Oct 2024 00:15:23 +0100 Subject: [PATCH] Replace LoggingExtras.jl dep with our own debug macro --- Project.toml | 2 -- src/ReTestItems.jl | 8 ++++---- src/debug.jl | 37 +++++++++++++++++++++++++++++++++++++ src/testcontext.jl | 2 +- 4 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 src/debug.jl diff --git a/Project.toml b/Project.toml index 72e619ef..34301106 100644 --- a/Project.toml +++ b/Project.toml @@ -5,7 +5,6 @@ version = "1.30.0" [deps] Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" -LoggingExtras = "e6f89c97-d47a-5376-807f-9c37f3926c36" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b" Sockets = "6462fe0b-24de-5631-8697-dd941f90decc" @@ -15,7 +14,6 @@ TestEnv = "1e6cf692-eddd-4d53-88a5-2d735e33781b" [compat] Dates = "1" Logging = "1" -LoggingExtras = "1" Pkg = "1" Profile = "1" Random = "1" diff --git a/src/ReTestItems.jl b/src/ReTestItems.jl index 6f37d230..31d7a9f5 100644 --- a/src/ReTestItems.jl +++ b/src/ReTestItems.jl @@ -6,8 +6,7 @@ using Test: Test, DefaultTestSet, TestSetException using .Threads: @spawn, nthreads using Pkg: Pkg using TestEnv -using Logging -using LoggingExtras: LoggingExtras, @debugv +using Logging: current_logger, with_logger export runtests, runtestitem export @testsetup, @testitem @@ -66,6 +65,7 @@ function softscope_all!(@nospecialize ex) end end +include("debug.jl") include("workers.jl") using .Workers include("macros.jl") @@ -304,7 +304,7 @@ function runtests( cfg = _Config(; nworkers, nworker_threads, worker_init_expr, test_end_expr, testitem_timeout, testitem_failfast, failfast, retries, logs, report, verbose_results, timeout_profile_wait, memory_threshold, gc_between_testitems) debuglvl = Int(debug) if debuglvl > 0 - LoggingExtras.withlevel(LoggingExtras.Debug; verbosity=debuglvl) do + withdebug(debuglvl) do _runtests(ti_filter, paths′, cfg) end else @@ -642,7 +642,7 @@ function manage_worker( close(timer) end catch e - @debugv 2 "Error" exception=e + @debugv 2 "Error: $e" # Handle the exception if e isa TimeoutException if cfg.timeout_profile_wait > 0 diff --git a/src/debug.jl b/src/debug.jl new file mode 100644 index 00000000..adf4346b --- /dev/null +++ b/src/debug.jl @@ -0,0 +1,37 @@ +DEBUG_LEVEL::Int = 0 + +function setdebug!(level::Int) + global DEBUG_LEVEL = level + return nothing +end + +""" + withdebug(level::Int) do + func() + end +""" +function withdebug(f, level::Int) + old = DEBUG_LEVEL + try + setdebug!(level) + f() + finally + setdebug!(old) + end +end + +""" + @debugv 1 "msg" +""" +macro debugv(level::Int, messsage) + mod = pkgdir(@__MODULE__) + quote + if DEBUG_LEVEL >= $level + _file = $String($(QuoteNode(__source__.file))) + _file = $relpath(_file, $mod) + _line = $(QuoteNode(__source__.line)) + msg = $(esc(messsage)) + $print("DEBUG @ $(_file):$(_line) | $msg\n") + end + end +end diff --git a/src/testcontext.jl b/src/testcontext.jl index 9fdae14e..8035aab2 100644 --- a/src/testcontext.jl +++ b/src/testcontext.jl @@ -156,7 +156,7 @@ function get_starting_testitems(ti::TestItems, n) len = length(ti.testitems) step = max(1, len / n) testitems = [ti.testitems[round(Int, i)] for i in 1:step:len] - @debugv 2 "get_starting_testitems" len n allunique(testitems) + @debugv 2 "get_starting_testitems len=$len n=$n allunique=$(allunique(testitems))" @assert length(testitems) == min(n, len) && allunique(testitems) for (i, t) in enumerate(testitems) @atomic t.scheduled_for_evaluation.value = true