2

私は Flex を使用するプロジェクトに取り組んでおり、今まで Windows を使用して、Flex 環境を必要とするモジュール/アーティファクトの Flex 単体テストを実行しています。依存関係があるため、これらの Maven テストを実行するときに Linux と Windows を切り替える必要があるため、何かを自動化するのは困難です。

Linux でフレックス ユニットのテストを実行できるように努力しましたが、[まだ]成功していません。これは、フレックス プロジェクトの maven clean test -X からのスタック トレースの一部です。

[INFO] Flexmojos 3.8
[INFO]   Apache License - Version 2.0 (NO WARRANTY) - See COPYRIGHT file
[INFO] Running tests /root/trunk/flex-project/flex-surface/flex-surface-common/flex-surface-common-flex/target/test-classes/TestRunner.swf
[DEBUG] [org.sonatype.flexmojos.test.monitor.AsVmPing] opened server socket on port 13540
[DEBUG] [org.sonatype.flexmojos.test.monitor.ResultHandler] opened server socket on port 13539
[DEBUG] [LAUNCHER] ASVmLauncher starting
[DEBUG] [LAUNCHER] exec: /usr/bin/flashplayer - /root/trunk/flex-project/flex-project-arbeidsflate/flex-surface-common/flex-surface-common-flex/target/test-classes/TestRunner.swf
[DEBUG] [LAUNCHER] Creating process
[WARNING] [LAUNCHER] Using xvfb-run to launch headless tests
[DEBUG] [LAUNCHER] Process created java.lang.UNIXProcess@1a6c088
[DEBUG] [MOJO] launcher RUNNING
[DEBUG] [MOJO] pinger STARTED
[DEBUG] [MOJO] resultHandler STARTED
[DEBUG] [LAUNCHER] Output pumpers ON
[DEBUG] [LAUNCHER] Waiting for flashplayer termination
[DEBUG] [LAUNCHER] Flashplayer closed
[DEBUG] [LAUNCHER] Unexpected return code 1
[DEBUG] [SYSERR]: mktemp: cannot create temp file /tmp/Xauthority: File exists
[DEBUG] [MOJO] launcher ERROR
[DEBUG] [MOJO] pinger STARTED
[DEBUG] [MOJO] resultHandler STARTED
[INFO] ------------------------------------------------------------------------
[INFO] Tests run: 0, Failures: 0, Errors: 0, Time Elapsed: 0 sec
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:

何が問題なのかを見つける手助けが必要です。JENKINS/HUDSON 経由ではなく、Linux でフレックス ユニット テストを実行する他の方法を知っている人がいる場合は、非常に感謝します。

4

1 に答える 1

2

まず、次のサイトの指示の Linux 部分に従ってください: Running unit tests - FlexMojos。flashplayer をダウンロードし、適切な場所で untar し、絶対ディレクトリ パスを PATH 変数に入れます。

xvfb-run スクリプトをダウンロードし、次の「fi」を変更します

# If the user did not specify an X authorization file to use, set up a temporary
# directory to house one.
if [ -z "$AUTHFILE" ]; then
  XVFB_RUN_TMPDIR="${TMPDIR:-/tmp}/$PROGNAME.$$"
  if ! mkdir -p -m 700 "$XVFB_RUN_TMPDIR"; then
    error "temporary directory $XVFB_RUN_TMPDIR already exists"
    exit 4
  fi
  AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority)
fi

# If the user did not specify an X authorization file to use, set up a temporary
# directory to house one.
if [ -z "$AUTHFILE" ]; then
   XVFB_RUN_TMPDIR=$(mktemp -d)
   if ! mkdir -p -m 700 "$XVFB_RUN_TMPDIR"; then
     error "temporary directory $XVFB_RUN_TMPDIR already exists"
     exit 4
   fi
   AUTHFILE=$(mktemp "$XVFB_RUN_TMPDIR/Xauthority")
 fi

私は私の問題を解決しました。幸運を。

于 2013-01-11T12:47:11.190 に答える