を生成するために、私は、コマンドラインからdotCover.exeを使用してカバレッジレポートを生成し、それがランダムにこのエラーで失敗します。JetBrainsのdotCover:カバレッジセッションがエラーで終了:許可される反復のうち、固有の一時名
[JetBrains dotCover] Coverage session finished with errors: Out of allowed iteration to generate unique temp name
[location] = C:\Build Agent\work\f532b5455ffc19e9\Profiler\Kernel\Windows\Native\Solution\core\src\Util\temp_util.cpp(44)
[function] = class boost::filesystem::path __cdecl jetbrains::profiler::temp::`anonymous-namespace'::create_temp<class jetbrains::profiler::temp::create_temp_file::<lambda_91d5f1a5933e4e60038be7ca777762a9>,0x010>(const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,class jetbrains::profiler::temp::create_temp_file::<lambda_91d5f1a5933e4e60038be7ca777762a9> &&)
[file name] = C:\Temp\ft.EC76593C.tmp
[WIN32 error] = 80, The file exists.
私のコマンドラインは次のようになります:
このエラーで失敗する可能性が高いほど、私はもっと多くのDLLをカバーしようとしています。エラーメッセージから、dotCoverはC++で書かれており、boost::filesystem::path
を使用してテンポラリファイルを作成していますが、競合状態があり、すでに存在する新しいテンポラリファイルを作成しようとしています。私のdotCoverバージョンはJetBrains dotCover Console Runner 2017.1.2. Build 108.0.20170428.80910
です。
誰もがそのエラーを修正する方法を知っていますか?
編集:それが失敗すると、別のエラーがあります - Access is denied
:
[function] = class boost::filesystem::path __cdecl jetbrains::profiler::temp::`anonymous-namespace'::create_temp<class jetbrains::profiler::temp::create_temp_file::<lambda_91d5f1a5933e4e60038be7ca777762a9>,0x010>(const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,class jetbrains::profiler::temp::create_temp_file::<lambda_91d5f1a5933e4e60038be7ca777762a9> &&)
[file name] = C:\Temp2\ft.0A96C261.tmp
[WIN32 error] = 5, Access is denied.
が、これはランダムに起こる - 通常は3回失敗した後、4日に正常に実行。
[バグトラッカー](https://youtrack.jetbrains.com/issues/DOTP)を使用して問題をJetBrainsに報告してみましたか? – SergGr
はバグがありますが、この「0A96C261.tmp」はエンコードされたタイムスタンプのようです。複数のテストスイートが同時に一時ファイルを作成しようとしている可能性があります。 –
@ ja ssndndnntこれはnunitによって行われますか?私はそれが並行してテストを実行できることを知っているので、もし私がそれをシリアル化する(すなわち、それらを順番に実行する)ことを納得させると、問題は消え去るでしょう。 – sashoalm