From patchwork Sun Apr 5 05:59:52 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Frysinger X-Patchwork-Id: 6009 Received: (qmail 8698 invoked by alias); 5 Apr 2015 06:07:15 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 1932 invoked by uid 89); 5 Apr 2015 06:00:18 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, SPF_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: smtp.gentoo.org Received: from smtp.gentoo.org (HELO smtp.gentoo.org) (140.211.166.183) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Sun, 05 Apr 2015 05:59:57 +0000 Received: from localhost.localdomain (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id F3A75340907 for ; Sun, 5 Apr 2015 05:59:52 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Subject: [PATCH] sim: lm32: add a basic testsuite Date: Sun, 5 Apr 2015 01:59:52 -0400 Message-Id: <1428213592-10741-1-git-send-email-vapier@gentoo.org> X-IsSubscribed: yes Committed. --- sim/testsuite/sim/lm32/ChangeLog | 3 ++ sim/testsuite/sim/lm32/allinsn.exp | 15 +++++++++ sim/testsuite/sim/lm32/pass.s | 7 +++++ sim/testsuite/sim/lm32/testutils.inc | 59 ++++++++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+) create mode 100644 sim/testsuite/sim/lm32/ChangeLog create mode 100644 sim/testsuite/sim/lm32/allinsn.exp create mode 100644 sim/testsuite/sim/lm32/pass.s create mode 100644 sim/testsuite/sim/lm32/testutils.inc diff --git a/sim/testsuite/sim/lm32/ChangeLog b/sim/testsuite/sim/lm32/ChangeLog new file mode 100644 index 0000000..d3f8b9d --- /dev/null +++ b/sim/testsuite/sim/lm32/ChangeLog @@ -0,0 +1,3 @@ +2015-04-05 Mike Frysinger + + * pass.s, allinsn.exp, testutils.inc: New files. diff --git a/sim/testsuite/sim/lm32/allinsn.exp b/sim/testsuite/sim/lm32/allinsn.exp new file mode 100644 index 0000000..6174498 --- /dev/null +++ b/sim/testsuite/sim/lm32/allinsn.exp @@ -0,0 +1,15 @@ +# lm32 simulator testsuite + +if [istarget lm32-*] { + # all machines + set all_machs "lm32" + + foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.s]] { + # If we're only testing specific files and this isn't one of them, + # skip it. + if ![runtest_file_p $runtests $src] { + continue + } + run_sim_test $src $all_machs + } +} diff --git a/sim/testsuite/sim/lm32/pass.s b/sim/testsuite/sim/lm32/pass.s new file mode 100644 index 0000000..3154b2b --- /dev/null +++ b/sim/testsuite/sim/lm32/pass.s @@ -0,0 +1,7 @@ +# check that the sim doesn't die immediately. +# mach: lm32 + +.include "testutils.inc" + + start + pass diff --git a/sim/testsuite/sim/lm32/testutils.inc b/sim/testsuite/sim/lm32/testutils.inc new file mode 100644 index 0000000..0f62e3a --- /dev/null +++ b/sim/testsuite/sim/lm32/testutils.inc @@ -0,0 +1,59 @@ +# MACRO: exit + .macro exit nr + mvi r1, \nr; + # Trap function 1: exit(). + mvi r8, 1; + scall; + .endm + +# MACRO: pass +# Write 'pass' to stdout and quit + .macro pass + # Trap function 5: write(). + mvi r8, 5; + # Use stdout. + mvi r1, 1; + # Point to the string. + mvhi r2, hi(1f) + ori r2, r2, lo(1f) + # Number of bytes to write. + mvi r3, 5; + # Trigger OS trap. + scall; + exit 0 + .data + 1: .asciz "pass\n" + .endm + +# MACRO: fail +# Write 'fail' to stdout and quit + .macro fail + # Trap function 5: write(). + mvi r8, 5; + # Use stdout. + mvi r1, 1; + # Point to the string. + mvhi r2, hi(1f) + ori r2, r2, lo(1f) + # Number of bytes to write. + mvi r3, 5; + # Trigger OS trap. + scall; + exit 0 + .data + 1: .asciz "fail\n" + .endm + +# MACRO: start +# All assembler tests should start with a call to "start" + .macro start + .data +.global _fstack +_fstack: + .rept 0x1024 + .byte 00 + .endr + .text +.global _start +_start: + .endm