From owner-freebsd-hackers@freebsd.org Thu Apr 15 00:50:22 2021 Return-Path: Delivered-To: freebsd-hackers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3D3F65D7848 for ; Thu, 15 Apr 2021 00:50:22 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ot1-f50.google.com (mail-ot1-f50.google.com [209.85.210.50]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4FLLNY37N3z4fVm for ; Thu, 15 Apr 2021 00:50:20 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-ot1-f50.google.com with SMTP id a2-20020a0568300082b029028d8118b91fso2620668oto.2 for ; Wed, 14 Apr 2021 17:50:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5+VFFtmPmlJGfX6tyP7ibF/4nbQrZq4HDSts2tZ+WQ0=; b=a/kgP7ugXNyzAy4j1nnAX0vTwzbR2je4N3zhTT0fYWO9jHk/S21IkSFop2DKF69Y0H 3eQ8EoU4q3YrmmfBUkWsaQ+6OWLYoFFjiEYWU42lyCZDPLgWujRVjmtLEmhgvdiU0J4Q rxScbe5YLJ3adqRvl1MCTtj6Lebp9inmjE1lsQZRh8/ewe9USGP4/T7g4w/AYcLRd9vu VM+dOqAFXRTe20jo+nZGeM695Rpfq7rCS59KISqX2e+rPkYJRoXOvff6a+F3k0OPOJAF GbO9RzCJVk+fzGGeHUp2zCS9+7Sa35OlHyQPfKoJquaNRj3Ycagaxnp8mEltt8lB5b9N hjwQ== X-Gm-Message-State: AOAM531fzL5D7Oxux/wBa6MqshWrsNUdAWSEEuAYbRb9GuWsz863S4vA 9CR1YXRaArNJLxyeMC2/3YDlLXA4j/ajw3rzn5g= X-Google-Smtp-Source: ABdhPJz1MguzmJYHL12ItLLqWhxVa17pdhRv4cC2bs9qFaKEHZ30Niz52Dt1c7HUv7C34NEejvok4v+ugo7E1ETXUKg= X-Received: by 2002:a9d:6ada:: with SMTP id m26mr605780otq.18.1618447819879; Wed, 14 Apr 2021 17:50:19 -0700 (PDT) MIME-Version: 1.0 References: <20210414190252.69d4bb503fafc73ca1721eb2@j.email.ne.jp> In-Reply-To: <20210414190252.69d4bb503fafc73ca1721eb2@j.email.ne.jp> From: Alan Somers Date: Wed, 14 Apr 2021 18:50:09 -0600 Message-ID: Subject: Re: How do I write test cases for interactive commands? To: Yoshihiro Ota Cc: "freebsd-hackers@freebsd.org" X-Rspamd-Queue-Id: 4FLLNY37N3z4fVm X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.210.50 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-1.98 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; RWL_MAILSPIKE_GOOD(0.00)[209.85.210.50:from]; NEURAL_HAM_SHORT(-1.00)[-1.000]; RCPT_COUNT_TWO(0.00)[2]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; SUBJECT_ENDS_QUESTION(1.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RBL_DBL_DONT_QUERY_IPS(0.00)[209.85.210.50:from]; R_DKIM_NA(0.00)[]; ARC_NA(0.00)[]; FREEFALL_USER(0.00)[asomers]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; SPAMHAUS_ZRD(0.00)[209.85.210.50:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_LONG(-0.98)[-0.977]; RCVD_IN_DNSWL_NONE(0.00)[209.85.210.50:from]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-hackers] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Technical discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Apr 2021 00:50:22 -0000 On Wed, Apr 14, 2021 at 6:24 PM Yoshihiro Ota wrote: > Hi, > > I'm interested in writing some test cases for lldb and clang. > > How can I write interactive command in/out in Kyua? > Does anyone have some examples? > > I'm also interested in writing test programs to compile again clang to > find compiler/linker bugs. > Where do we use for temporary files and how do we clean up? > > Thanks, > Hiro > Interactive commands like those that print a prompt and wait for user input? Use lang/expect from ports. As for temporary files, Kyua creates a fresh temporary directory for every test. So you can write files to $PWD, and Kyua will automatically clean it up. -Alan