タグ

C++とTestに関するnsyeeのブックマーク (9)

  • a Unit Testing Framework for C and C++ - Cutter

    The latest release 1.2.7 is the latest release. It had been released at 2019-09-13. [Download] [Changes] Cutter? Cutter is a Unit Testing Framework for C and C++. Cutter's interface is easy to write, easy to debug your code and fun to run tests. (See the screenshot. You need "notify-send" command on Linux and *BSD or "growlnotify" command on macOS for this feature.) Platform Cutter works on many U

    nsyee
    nsyee 2013/09/12
  • たのしいHaskellのツールチェインとC++ - 純粋関数空間

    というタイトルで、先日、社内の公開セミナーで話しました。 発表資料はこちら。 Haskellのテストフレームワークとベンチマークフレームワークがよくできているので、 これをC++でも使えるんじゃないかという内容です。 概要 背景として、QuickCheck をもっと多くの人に知って/使って貰いたいというのがあります。 QuickCheckは、普段から使っている人間からすると、よくいろいろなバグを拾ってくれるとても便利なものなのですが、 残念ながら普段開発に利用しているC++には相当のもので完成度の高いものが見当たりません。 だからといって、そこから作るためにC++のテンプレートをいじくりまわすには、私はもう老いてしまいました (与えられた関数にランダムな入力を与えるだけなら簡単なのですが、ジェネレータを自由にいじれる機能がやはり欲しいところで)。 そう思った時に、FFIを使えてQuickC

  • Node の C++ アドオン開発で必要なこと - WebService::Blog->new( user => ’hide_o_55’ )

    この記事は JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース)の8日目の記事です。 今日は、Node の C++ アドオン開発をする上で必要な心構えや Tips について書きたいと思います。 1. 情報が少なくても泣かない C++ アドオンについての公式ドキュメント に記載されているコードが以下のような同期処理のコードであるため、(おそらく殆どの人にとって)命である非同期処理の参考になりません。 #include <node.h> #include <v8.h> using namespace v8; Handle<Value> Method(const Arguments& args) { HandleScope scope; return scope.Close(String::New("world")); } void i

    Node の C++ アドオン開発で必要なこと - WebService::Blog-&gt;new( user =&gt; ’hide_o_55’ )
  • QuickCheck++: Main Page

    Table of Contents Introduction What is QuickCheck++ Why Would I Want to Use It? How to Get It? Relation to Haskell's QuickCheck License Using QuickCheck++ Defining Properties Verifying Properties Specifying a Precondition Inspecting Input Data Distribution Custom Data Generators General Purpose Generators Special Purpose Generators Data Generator Primitives Printing Property Names Verbose Checking

  • モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人

    まだC, C++がないようなので書いてみた。主にLinux(DebianとかUbuntu)での環境構築について。 コンパイラ まずはapt-getでコンパイラをインストールする。UbuntuやDebianなら以下のコマンドでgccやg++および標準ライブラリ等がインストールされる。 $ sudo apt-get install build-essential デバッグツール デバッガおよびデバッグツールは少なくとも以下の三つは入れる。(あとltraceも欲しいかな?) GDB 言わずと知れたGNUのデバッガ Valgrind メモリリークや不正メモリアクセスの検出 strace システムコールのトレース $ sudo apt-get install gdb valgrind strace ビルドツール C, C++のビルドツールといえばまずmakeが浮かぶけど、最近ではSConsやCMak

    モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人
  • QuickCheck++に入門した - Faith and Brave - C++で遊ぼう

    QuickCheck++は、Haskellで広く使われているテストフレームワークである QuickCheckをC++に移植したライブラリです。 ドキュメントと最新版は以下にあります。 QuickCheck++ Documentation 0.0.2 Version 0.0.2ではsigned/unsigned周りでバグがあるので generate.hhを以下からダウンロードして置き換えてください。 generate.hh さて、では使い方を見ていきましょう。 1.インクルード QuickCheck++はヘッダファイルのみのライブラリなのでインクルードするだけですぐ使えます。 #include <quickcheck/quickcheck.hh> 2.テストするプロパティの作成 以下は、reverseを2回した結果、元に戻るかのテストクラスです。 quickcheck::Propertyクラ

    QuickCheck++に入門した - Faith and Brave - C++で遊ぼう
  • C++の便利ツール・ライブラリ - DO++

    フルタイムで働きはじめて4ヶ月。 いろんなことがありました。 今日はインターンが来ているということもあり日頃のC++コーディングライフの中で大変重用しているツールを紹介します。といってもどれも有名なツールでググれば解説がでてくるとは思いますので、一言ずつだけ紹介してみます。みなさんも何かよさげなライブラリ・ツールがありましたら教えてください。 - valgrind/callgrind/cachegrind プログラムの実行結果を解析するツール群。まぁ、王道であえて紹介する必要はないかもしいませんが.。valgrindはプログラムのどこかでメモリが漏れているかどうかのチェックに使います.コードのどの部分で確保した領域がどこで漏れているかまで追跡することができます valgrind --leak-check=full command プログラムのどのが計算量的にボトルネックになっているかを調べ

    C++の便利ツール・ライブラリ - DO++
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • 浪漫の求道者:GoogleTestがかなりいけてる その1

    [GoogleTest1.3.0を使ってみた] Google C++ Testing Framework http://code.google.com/p/googletest/ Googleのテストフレームワーク「GoogleTest」に去年の年末くらいから興味を持ち始めて使ってみた。 かなりいけてるのに日語解説が少ないので、やった事をいろいろと書き出す。 なにができるのか・マルチプラットフォーム対応 Windows(VC)、Cygwin(gcc)、LinuxMacOSWindowsCE、Symbian・・・ ・テストコードの自動発見   RUN_ALL_TESTS() で勝手にTEST(Hoge, hoge)と書いたコードを探索して実行してくれる (もちろん任意のテストだけ実行する、しないのオプションもあり) ・豊富なAssertion 失敗(ASSERT)と警告(EXPECT)

  • 1