木曜日, 5月 17, 2012

failed to read qemu headerのときのメモ

かなり久々。。。

忘れないようにここに書きこんでおく。

ちょっとした手違いでlibvirtでイメージを起動しようとすると
failed to read qemu header
なんておっしゃられて起動しない。。。

vmwareserverを使っていたころにも同じようにイメージが起動しないことがあって、起動時に生成されるファイルが残っていて、そいつを削除すると起動した記憶があったので、似たようなものを探してみたら

/var/lib/libvirt/qemu/save/ホスト名.save

ってのがあったので削除したらなんとか起動した。

おそらく、マシンを強制的に落としたのでsaveのファイルがおかしくなっていたのではないかと思う。

もし、saveの内容を復元しようとすると無理なんだろうなぁ~


水曜日, 9月 07, 2011

デザインをいじってみた

かなり久々だなぁ~ とりあえず、ぱっと不要だと思えたアイテムを削除してみた。 最近はクラシックASPとかASP.NETを少しだけやったりしてるが、 何かいまいち刺激が足りない。。。

木曜日, 11月 25, 2010

SyntaxHighlighter 最新のverを使用できるように設定してみた

これまたかなり久々。。。

いままでこのブログで公開したコードは基本的にSyntaxHighlighterの1.5を使用していました。

しかし、今日確認するとコードのハイライトが反映されない?!!

なんで??



まあ、そもそもホスティングされているのかもわからないようなコードを無理やり利用する方法だったのが問題だった。

(我ながらよく確認もしないで利用していたものだ)なのでversion upも兼ねて公式で公開されていたブロガーでの利用方法で設定し直してみた。


まずはSyntaxHighlighterを参考にしています。この中でホスティング情報が掲載されています。

(というかAmazon S3使ってホスティングしてるのにビックリしたというかこんな形でAmazon S3が役立っているとは考えたことがなかった。。。ほんと勉強不足だなぁ~)currentというURLもあるので新しい物好きな人は特に変更を加えなくても最新に変更されて行くみたいです。(大きな変更(1.5.1->2.xのような)が発生した場合はどうなるかわかりませんが。。。)

ホスティングの文面で毎月83Gの通信は発生していて40ドルかかってるそうだ。開発を続けるためにも寄付をお願いします。というメッセージが。。。

望めばContributorsとしてdonateに名前を掲載してもらえるみたい。


実際の設定は最初は迷ったが、Extensions & Integration上にブロガーでの設定方法が掲載されています。私が参考にしたのはAdding a Syntax Highlighter to your Blogger blogという記事です。書かれている内容をそのまま実践するだけでSyntaxHighlighterが利用可能になります。



とっても簡単に訳すと以下のようになります。
</head>

タグの手前(要はheadタグ内で)に以下のコードを記述します。(使用言語に応じてロードするjsファイルを調整してください。)

<!--SYNTAX HIGHLIGHTER BEGINS-->
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'></script>
<script language='javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
<!--SYNTAX HIGHLIGHTER ENDS-->


でもって

<pre class="brush: html">
</pre>

赤い文字部分が言語に応じて変更が必要な部分です。種類についてはBundled Brushesを参照してください。



後は私のように1.5系からversionupする人へのメッセージです。

残念ながら新しいSyntaxHighlighterを適用させるには1.5系ではname属性にしていた名前(code等)+class属性に適用させたい言語(htmlやjava等)を記述する必要があったのですが、それがclassのみで設定できるようになります。

ただし、今までに投稿した記事も手直しが必要になるので大変です!!

まあ、1.5系のホスティングもあるので私みたいにテキトな人でなければそちらを利用するのも手だと思います。


まあ、このサイトで変更が必要な箇所はおいおい直していくことにしよう。。。(どうせそんなに見る人いないしね)

日曜日, 4月 18, 2010

Faulting application w3wp.exe, version 6.0.3790.3959, stamp xxxxxxxx, faulting module unknown, version 0.0.0.0, stamp 00000000, debug? 0

タイトルのとおりのイベントログがWin2003 Serverで発生した。 日本語での解説を見つけられなかったので、
その時の調査内容のメモ

結論から行くと
このメッセージ(タイトル)の内容だけでは簡単には特定できることではないらしいが、
少なくとも私が遭遇したのは
レジストリに存在するアプリケーションプール関連の設定についてのパーミッションが原因
状態的にこれしか当てはまらなかったからね。。。(うーん、言いきっちゃって良かったのかなぁ?)

詳しい解説はKB918041をググるとわかる。
マイクロソフトに機械翻訳版の日本語は存在するが、日本語が怪しかったので英語版を見たほうが良いとは思う。

一応簡単に内容を書いておくと
レジストリーキー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP.NET_2.0.50727\Names
のアクセス許可をアプリケーションプールを実行しているユーザー(グループ)にも与える(アプリケーションプールを実行しているユーザーはIISのコンソールで確認できる)
与える許可内容は
  • 値の照会
  • 値の設定
  • サブキーの作成
  • サブキーの列挙
  • 通知
  • 読み取り制御
  • Windowsだと思って舐めてたらパーミッション周りで苦しめられる。。。
    でも、そもそもサーバーなんだから当たり前の話なんだよね。
    何か周りの人はその辺を全く意識してない人ばっかりで心配だ。。。

    月曜日, 2月 15, 2010

    Oracle9iのDBMS_METADATA.GET_DDLを使ってTABLE,INDEX,TRIGER,COMMENTを取得する

    かなり久々、別に放置していた訳じゃないです。
    仕事の都合で、現在の開発環境に定義されているDDLスクリプトを抜き出す必要があったので、DBMS_METADATAパッケージを使用してみた。

    前に(言っても2年くらい前)DB2で同じようなことをやった時にはdb2lookupっていうコマンドが用意されていたので、かなり簡単にできたんだけど。。。
    DBMS_METADATAパッケージって何ていうか癖があるような気がした。

    私が欲しいのは
    • 1.そのまま取得結果が実行できる(実行環境はsql*plusや他のサードパティ製ツール)
    • 2.テーブル定義なら合わせてINDEXやCOMMENTの情報も欲しい
    • 3.後々の保守も考えてテーブル単位にDDLをファイルに出力したい
    で、結果としてこうなった
    select
      DBMS_METADATA.GET_DDL('TABLE', TABLE_NAME, OWNER)
    from
      ALL_TABLES
    where
      OWNER = :OWNER and
      TABLE_NAME = :NAME
    union all
    select
      DBMS_METADATA.GET_DEPENDENT_DDL('COMMENT', TABLE_NAME, OWNER)
    from
      (select
         TABLE_NAME, OWNER
       from
         SYS.ALL_TAB_COMMENTS
       where
         OWNER = :OWNER and
         TABLE_NAME = :NAME and
         COMMENTS is not null
       union
       select
         TABLE_NAME, OWNER
       from
         ALL_COL_COMMENTS
       where
         OWNER = :OWNER and
         TABLE_NAME = :NAME and
         COMMENTS is not null)
    union all
    select
      DBMS_METADATA.GET_DEPENDENT_DDL('INDEX', TABLE_NAME, TABLE_OWNER)
    from
      (select
         TABLE_NAME, TABLE_OWNER
       from
         ALL_INDEXES
       where
         TABLE_OWNER = :OWNER and
         TABLE_NAME = :NAME and
         INDEX_NAME not in (select CONSTRAINT_NAME from SYS.ALL_CONSTRAINTS
                            where TABLE_NAME = TABLE_NAME and
                                  CONSTRAINT_TYPE = 'P') and
         UNIQUENESS != 'UNIQUE'
       group by TABLE_NAME, TABLE_OWNER)
    union all
    select
      DBMS_METADATA.GET_DDL('TRIGGER', TRIGGER_NAME, OWNER)
    from
      ALL_TRIGGERS
    where
      TABLE_OWNER = :OWNER and
      TABLE_NAME = :NAME
    ;
    
    ※ここでは1テーブルに対してのSQLにしてあります。 確かにこれで僕が欲しいスクリプトは取得可能なのだが、
    私が求める要件1を満たさない。。。

    セミコロンないしスラッシュがCOMMENT文に対して出力されない。。。

    まあ、その問題もマニュアルを見ることで解消できた。
    sql*plus上でこんな感じで実行すると私の欲しいスクリプトが出た。
    set echo off
    set termout off
    set heading off
    set pagesize 0
    set linesize 10000
    set trimout on
    set trimspool on
    set feedback off
    set long 1048576
    set longchunksize 1024
    
    exec DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR', TRUE );
    
    exec :NAME := 'テーブル名'
    spool スプールログ名.sql
    @↑のSQLファイル
    spool off
    
    肝だったのが、 DBMS_METADATA.SET_TRANSFORM_PARAMとlongchunksizeだった。 DBMS_METADATA.GET_DDLの実行結果はCLOBなので、longの設定はしていたのだけど、それだけだと特定の行サイズになると改行されてしまう。linesizeも設定してるんだけど改行されてしまう。。。
    その状態を回避するのにlongchunksizeを使用した。 本来、CLOBに対してlong,longchunksizeはセットだと覚えておくと良いみたい。

    セミコロンないしスラッシュがCOMMENT文に対して出力されない問題はDBMS_METADATA.SET_TRANSFORM_PARAMにSQLTERMINATORで幸せになれた。(しかし、何故にデフォルトでFalse設定なんだ??)
    とりあえず、これでまとめて欲しいものを出力することができた。

    日曜日, 12月 06, 2009

    もう師走

    早いもんだね。。。

    プーしてたときには欠かさず毎日postしてたのに
    今では月に一回ってところです。

    できれば有意義な情報をpostしたいなぁ~と思えば思うほどキチンとまとめないと世間様に見せることもできないなんて思ってしまって。。。
    と自分への言い訳はこの程度にして
    まぁ、投稿してたものにしても世間様でお役に立っているのかどうか?と不安に思っていたんですが、

    今日、珍しくコメントを頂いて
    やっぱり、居たんだね私と同じことを思っていた人が!嬉しいですよ!!
    やっぱり、有意義な事だけpostしようと思いつつ
    こんなpostをしてる自分がちょっと情けない。。。

    土曜日, 11月 14, 2009

    OCaml まだ、読んでる途中

    まだまだ、読んでる途中です。

    かなりのんびり読んでます。
    まぁ、通勤の電車の中と仕事場での昼休みに読んでるだけだからね。。。

    でも、何かこうしっかり(?)書かれてたら、楽しく読めて良い感じだw。

    しかし、読んでて気になったことが一点、

    この本には各章にまとめとしての練習問題が含まれているのですが(もともと講義用のテキスト?がベースらしい)、何故か解答が付いてないように思える。

    で、2週間くらい前に「何で解答例が付いてないんだ??」と考えてみて、自分なりに納得しようと解答がないという事実について答えを考えてみた。

    答えを鵜呑みにして、理解ができてなかったら意味がない

    うん、そういうことにしておこう。。。

    と、してたんですが
    先に進むほどに「結果としての答えも分かっているし、コードも書いて、動かした結果も想定どうり」で良かったねでは納得できなくなってきました。。。

    これはOcamlの記述もとい、関数言語としての記述として妥当(一般的)か?
    が気になって気になって。。。

    同じ本を読んだ方で同じように悩んでいる方はいるのだろうか?

    日曜日, 10月 25, 2009

    超久々

    何だかずいぶん久しぶりの投稿です。

    まあ、特に大きなネタがあるわけではないんですが。。。

    これまでにあった事といえば、
  • 自転車をバラして掃除
  • 仕事用の鞄を何年かぶりに買い替えた
  • ocamlを勉強し始めた
  • とりあえず、自分用の勤務時間とか記録するマクロ(Javascpit)をocamlに置き換えてみるのが当面の目標かな?
    ocamlは最初日本語のチュートリアルとか読んだ(というか一通りは読んではみた)が、やっぱり関数言語初心者(いまだにCommonLispも読めないし。。。)ということで、Amazonで本を買ってみた。

    まだ、3章のはじめくらいまでしか読んでないが、今のところは理解できていると自分では思ってる。。。
    しかし、テキストに練習問題が付いているのだが、オペレータ[**]の説明が無くいきなり問題で登場したので実行するまで理解できなかったのがショックだった。。。
    あとは再帰を使った簡単な関数を自分で書いてみて動かしたときの感覚が初めてプログラミングしたころの感覚みたいでちょっと気持ちよかった。

    たまにはいいよね

    日曜日, 8月 16, 2009

    Virtual Box+DropBoxでWindowsのスタンバイが実行できない(続き)

    Virtual Boxをインストールするとスタンバイにできないであれこれ書いたが、結局何かをインストール(Windows Updateも含む)が行われるとスタンバイにできないことがわかった。。。

    一応、DropBoxをExitで終了させればスタンバイにはできるんだけど
    それじゃ面倒すぎ

    ということで、VirtualBoxをアンインストール
    何か良い方法はないものかなぁ~
    ちなみにVirtualBoxをアンインストールするときもDropBoxを終了させないと正常に終了してくれないときたもんだ。。。
    なんでだろう。。。

    水曜日, 8月 12, 2009

    Virtual Boxをインストールするとスタンバイにできない

    かれこれ1ヶ月ぶりです。

    それもこれもなぁ~んもネタがなかったのが原因なんですけどね。

    で、今回は色々探してイマイチ見つからなかったものを

    まぁ、タイトルのとおりなんですが、Virtual Boxをインストールすると何でかWindowsのスタンバイが途中で止まっちゃうって現象について、私がやった対応?(対応というのもおこがましいが。。。)をご紹介

    とりあえず、ネットを探してるとこんなのが載ってた
    スタンバイモードに移行できない状況を解決できた、のか?
    紹介されている内容をもとに対応はしてみたが何が原因なのやら。。。

    一応、私の環境はこんなの
  • Windows XP sp3
  • VirtualBox-3.0.4-50677-Win.exeをインストール
  • どうやらまったく関係ないDrop boxが関係あるようだ
    ちなみにDrop boxのverは控えてなかった。。。
    で、どうやってスタンバイできるようにしたか
    Drop boxを再インストールする
    (ちなみにDropbox 0.6.507.exeをインストール)
    これだけw

    しかし、ネットワークアダプタ関連だとは思うが、正確な原因はわからず。。。
    とりあえず、当面はこの状態で問題がないことを祈ろう。

    土曜日, 7月 04, 2009

    やったことのない言語より問題なのは。。。

    新しい作業場に移り、早くも2週間

    今までJavaしかやってこなかった僕としては
    ASP(.netじゃないよ)なんてできるのか??といった不安はかなりあったが、意外と何とかなるもんだ。

    それよりも問題なことがある。

    それは、データベースだ!

    誰が設計したのかわからんが、何がしたいのかわからないテーブル設計が曲者だった。。。

    「1:1..nのテーブル構造だ」と説明を受けて、
    試しに主キー同士で結合するとデータが取得できない。。。「これって1:0..nじゃん」と突っ込みに行くと主キーでくっつけてはいけないとか。。。どっかに説明を書いといてくれ!
    これって正規化してこれなのかな??

    高いRDBを使ってこれなんて。。。
    postgreでもいいんじゃない?

    久々のPOSTは愚痴でした。。。

    月曜日, 6月 01, 2009

    たまには怒る

    思いっきり、時間差で不況の波に飲み込まれた。。。

    どこの会社とは言えない(私自身の保身もあるので)が、
    かなりめちゃくちゃなことをやられてしまった。。。

    6月は中旬からしか発注が出せない!

    聞いたのは今日(6/1)の朝ではなく夕方。。。

    とりあえず、身の回りの整理をおおよそ5分で片づけて帰ってきた。


    結構、大きめの会社なのでそのあたりは大丈夫かな?と思っていたんだが、
    やっぱり、会社の経営状況はよろしくないのかもしれん。。。
    しかし、グダグダすぎてやる気もでない。。。
    とりあえず、2週間くらいは遊んで暮らすかぁ~
    仕事を探せ!とは思わないでください。。。

    土曜日, 5月 16, 2009

    Googleだけが遅いときには

    うちは
  • フレッツ光
  • hi-ho
  • Windows XP sp3
  • な環境なんですが、
    ここのところ、Googleでの検索やら各種サービスが異常なほど遅くなっていた。。。
    ちなみに他の検索エンジンとかだと何の問題もない

    このままじゃ、何かと不便なんで

    とりあえず、以前のようにさくさく動くようにしてみようとチャレンジしてみた。

    その1:この現象は我が家だけなのか?
    ⇒会社ではそんなこともなくいつもどおり
    hi-hoに関連してもそんな情報は存在せず

    その2:ルーターがおかしいのか?
    とりあえず、以下のコマンドを実行してみる
  • ping
  • tracert
  • pathping
  • とりあえず、比較対象としてYahoo!を持ち出してみた
    まあ、結果から言うと内部のネットワークには問題はないみたい

    その3:FWがらみ?
    特に変な設定をしているわけではないがFWを切った状態と切ってない状態で比較
    結果は変わらない。。。

    その4:一度、グローバルIPを取得しなおす
    普通に再取得しても同じような気がしたので一度CTU装置とかも電源を落として
    30分くらい放置してから起動
    ⇒遅いまま。。。
    その5:まったく別でipv6を無効にしてみる
    なんと!早くなった!!
    結果として以前のように快適にGoogleの各種サービスが使えるのは喜ばしいのだが、
    何故にipv6が有効だとGoogleだけ遅くなるのか?

    色々、原因はありそうだが何とかしてもらいたいものである。

    火曜日, 5月 12, 2009

    久々に

    何だかんだでまったく投稿せずになっていました。。。

    何か有益な情報があるわけでもなく。。。

    せっかくなので私のお勧めWindows系ツールをご紹介
  • 通り抜けループ
  • ちなみに「通り抜けループ」はシェアウェアなんで注意だ

    あんまり余所でも知ってる人は知ってる的なツールだが、
    今は完全に手放せないツールと化している。

    とにかく、使い始めればこのツールの優秀さにみんな気づくんじゃない?って思える。

  • Taskbar Shuffle
  • こいつはLifeHackerで知ったんですが、いつぞやの軽量ツール10選にも選ばれたツールで、
    やりたくてできない。ただし、できなくても困らないくらい
    そんなツールです。
    海外ソフトだが、日本語パッチも存在してる。

    まぁ、便利なもんは便利でいいんじゃないかな?

    月曜日, 4月 20, 2009

    うつの薬とその効用

    長いこと飲み続けているんですが、
    最近はピーク時の1/4くらいの量になっている。

    ただ、今まで服用し続けて思い返してみれば、
    やっぱりテンションがおかしいことが多々あったように思える。

    特に飲みに行ったときなんかには、
    その傾向が高い。。。

    「そんなことしなかったのに。。。」

    なぁーんてことを言われたこともあったなぁ~

    自制心が大切と思いつつも
    その自制心自体をコントロールしてしまう薬がやっぱり
    使い方ひとつで恐ろしいことになりそうだと
    再認識です。

    土曜日, 3月 28, 2009

    わーい

    とりあえず、日本の少子化対策に貢献できたようだ。

    とりあえず、一言だけ
    「ダンナはやることないんで暇すぎる。。。」

    でも、へその緒切るのは楽しかったよ。
    意外と切りにくくでびっくりした。

    木曜日, 3月 26, 2009

    予定日間近

    予定では明日の27日が予定日になっているが、

    果たしてどうなるんだろう。。。


    まぁ、私が産むわけじゃないんで、
    申し訳ないが、
    「そのうち出てくるだろう」
    と表面上は言ってはいるが、

    ここのところ、浮足立つことが多くなってる自分にふと気付き

    何だかんだ言っても動揺してるんだろうなぁ~と自己分析してみたり。

    水曜日, 3月 18, 2009

    ミステイク!!

    家のファイルサーバのOSを吹き飛ばしてしまった。。。

    何とか重要なデータは守れたっぽいが、
    果たしてどうだろう。。。

    また、VMwareServerを入れなおしたりしないとダメかと思うと面倒だなぁ~

    それよりも面倒なのが仮想OSとhomeディレクトリを共有にしておいたNFSの設定をやり直すのがちと面倒だな・・・

    まあ、自業自得ということであきらめるか。。。

    そういえば最近Fedora9のカーネルを最新にしたらVMwareServer1.0.xが動かなくなってしまい、
    急きょ2.0にverupしたが、あまりにWebUIが使いにくいのでCentOS5.2にOSを変更したばかり。。。

    何でこういったことは短い期間に連発するんだろうか

    それもこれも自業自得だな。。。

    木曜日, 3月 12, 2009

    名ばかり管理職

    ほんとにどうでもいい話だが、

    /.JのフィードSEにも「名ばかり管理職」 認定を読んでて思った。

    「逆残業代」なんて話題も上がっていたが、

    そもそも、何を基準にその日一日の作業量を測れば良いんだ??
    元から怪しすぎる見積りでスタートしてるのに第三者的に作業量がわからん限り、
    そういったことはできないだろうなぁ~

    普段は自分の判断で一日の作業量を決めてやることやって、
    さっさと帰るのがスタイルなんですが、
    「逆残業代」って考えてがあれば、そんなことも考えなくていいのかなぁ~

    っていうか、逆に帰れなくなりそう。。。

    月曜日, 3月 09, 2009

    jUnitでSystem.exit(int)を無効にしてみる

    unitテストを作ろうと思い、作って実行してみると途中で止まる。。。

    「なんで?」

    結局のところ、unitテストで実行しようとしたクラスにSystem.exit(int)があったのが原因だった。

    それならば、System.exit(int)が効かなくなるおまじないはないかな?
    と調べてみたら一応あった。

    ・テストクラス
    public class Target {
    
        public static void main(String[] args) {
          if (args != null) {
            System.exit(0);
          } else {
            System.exit(-1);
          }
        }
    }
    
    ・テストケース
    import java.security.Permission;
    
    import junit.framework.TestCase;
    
    public class TargetTest extends TestCase {
    
        final SecurityManager sm = System.getSecurityManager();
    
        protected void setUp() throws Exception {
          super.setUp();
          // JVMを終了させない
          SecurityManager securityManager = new SecurityManager() {
            public void checkPermission(Permission permission) {
              if ("exitVM".equals(permission.getName())) {
                System.out.println("System.exit[exitVM]が呼ばれた");
              }
            }
    
            public void checkExit(int status) {
              // super.checkExit(status);
              throw new ExitException(status);
            }
          };
          System.setSecurityManager(securityManager);
        }
    
        protected void tearDown() throws Exception {
          System.setSecurityManager(sm);
          super.tearDown();
        }
    
        protected class ExitException extends SecurityException {
          public int state = 0;
    
          public ExitException(int state) {
            this.state = state;
          }
        }
    
        public void test引数あり() {
          try {
            Target.main(new String[] {});
          } catch (ExitException e) {
            assertEquals(0, e.state);
          }
        }
    
        public void test引数なし() {
          try {
            Target.main(null);
          } catch (ExitException e) {
            assertEquals(-1, e.state);
          }
        }
    }
    
    とりあえず、これでSystem.exit(int)を呼び出した場合に返されるintのassertも可能。

    しかし、ある意味間違ってはないと思うんですが、
    そもそも、FileとかSWTとかのからみでのポリシー設定でも何とかなるのかもしれない。。。

    しかしながら、djUnitならこんなに悩まなくてもよかったのかもしれないが、
    さすがに僕が勝手にライブラリーを増やすわけにはいかないので、
    このやり方で当面はやりくりしてみよう。

    failed to read qemu headerのときのメモ

    かなり久々。。。 忘れないようにここに書きこんでおく。 ちょっとした手違いで libvirtでイメージを起動しようとすると failed to read qemu header なんておっしゃられて起動しない。。。 vmwareserverを使って...