From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by sourceware.org (Postfix) with ESMTPS id 46D4A3858CDB for ; Tue, 24 Oct 2023 09:48:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 46D4A3858CDB Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 46D4A3858CDB Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:67c:2178:6::1c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698140929; cv=none; b=SU6o2k7X9T4lmfw+Kgg6IIgEBAgGogwvOVs+ywai0sHR3/s598dGiW6pRDHRwnbZWYVa1wNRZyrnl9IEVOzcfeQE5wLRL6Ign1c83cUy7weUYMvbfectVwDYVuNZG00A0Z5ACl10beyc5wrE/T8i/SISLBfN8MnP5yUhBKkMy4o= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698140929; c=relaxed/simple; bh=2plDmNy+D/hQZQUh40HV3O+u42ahgaT0TvnA6AQndxc=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=I3HrxvX3f6rF4o7hA4IL8bSskRoRaX74U5UwsJu9pT91j5oMiFxlKpsFgGEeifxvSVX7937c6AeUxZRj6MYtZsxRk2gsZvDd3WIfINZ9odB4ax81kXI50bGbo+C4s0GC2q/WghEpePuRtVMJVP4z1bYbtSdhH53wxZrueE10k+U= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 5EA8A21B99 for ; Tue, 24 Oct 2023 09:48:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1698140926; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eVRWGI5GEjuYYtEHKThi+1zPsFkRn+CxX9RH8CS/5YA=; b=fl6XlOud6ulHIP4YcCRCSAEBXQ+uUaBZiBwPH/GfI41kGUoxNoAsC9trfSYiBl/tavARTN 43nutHGuT2Fb8Bxz5b+yTqfG1RaVsZ1jO3cL0zik6kcqLV0Mua1ZmI8S+8ERkC9XgQ3Im+ zzFzYHNKdnykBNRsW+9KgP7/2avCg3U= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1698140926; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eVRWGI5GEjuYYtEHKThi+1zPsFkRn+CxX9RH8CS/5YA=; b=igq6emWTtVX+A+Qwt1M1ZJr6lSYD0OnCWdlkQUbBRBunP4In5emhFaFJ6rmOD9o6MX+iUU EIAepZS0EqyrhUBA== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4ADE613A92 for ; Tue, 24 Oct 2023 09:48:46 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id kEAyEf6SN2UhEQAAMHmgww (envelope-from ) for ; Tue, 24 Oct 2023 09:48:46 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH v5 3/6] [gdb/cli] Add gnu-source-highlight selftest Date: Tue, 24 Oct 2023 11:49:30 +0200 Message-Id: <20231024094933.12009-4-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20231024094933.12009-1-tdevries@suse.de> References: <20231024094933.12009-1-tdevries@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Authentication-Results: smtp-out1.suse.de; none X-Spam-Level: X-Spam-Score: -2.05 X-Spamd-Result: default: False [-2.05 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; BROKEN_CONTENT_TYPE(1.50)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-3.00)[-1.000]; TO_DN_NONE(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; NEURAL_HAM_SHORT(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-2.95)[99.78%] X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Add a selftest gnu-source-highlight: ... $ gdb -q -batch -ex "maint selftest gnu-source-highlight" Running selftest gnu-source-highlight. Ran 1 unit tests, 0 failed ... Tested on x86_64-linux. --- gdb/source-cache.c | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/gdb/source-cache.c b/gdb/source-cache.c index 92acb100901..c955929b543 100644 --- a/gdb/source-cache.c +++ b/gdb/source-cache.c @@ -22,7 +22,6 @@ #include "source.h" #include "cli/cli-style.h" #include "symtab.h" -#include "gdbsupport/selftest.h" #include "objfiles.h" #include "exec.h" #include "cli/cli-cmds.h" @@ -40,6 +39,10 @@ #include #endif +#if GDB_SELF_TEST +#include "gdbsupport/selftest.h" +#endif + /* The number of source files we'll cache. */ #define MAX_ENTRIES 5 @@ -258,6 +261,43 @@ try_source_highlight (std::string &contents ATTRIBUTE_UNUSED, #endif /* HAVE_SOURCE_HIGHLIGHT */ } +#ifdef HAVE_SOURCE_HIGHLIGHT +#if GDB_SELF_TEST +namespace selftests +{ +static void gnu_source_highlight_test () +{ + const std::string prog + = ("int\n" + "foo (void)\n" + "{\n" + " return 0;\n" + "}\n"); + const std::string fullname = "test.c"; + std::string styled_prog; + + bool res = false; + bool saw_exception = false; + styled_prog = prog; + try + { + res = try_source_highlight (styled_prog, language_c, fullname); + } + catch (...) + { + saw_exception = true; + } + + SELF_CHECK (!saw_exception); + if (res) + SELF_CHECK (prog.size () < styled_prog.size ()); + else + SELF_CHECK (prog == styled_prog); +} +} +#endif /* GDB_SELF_TEST */ +#endif /* HAVE_SOURCE_HIGHLIGHT */ + /* See source-cache.h. */ bool @@ -489,5 +529,9 @@ styling to source code lines that are shown."), #if GDB_SELF_TEST selftests::register_test ("source-cache", selftests::extract_lines_test); +#ifdef HAVE_SOURCE_HIGHLIGHT + selftests::register_test ("gnu-source-highlight", + selftests::gnu_source_highlight_test); +#endif #endif } -- 2.35.3