@ForAllEnvironments
 public void testNonProjectUpdates() throws Exception {
   final ExecutionEnvironment execEnv = getTestExecutionEnvironment();
   MakeProject makeProject =
       openProject("TestNonProjectUpdates", execEnv, Sync.RFS, Toolchain.GNU);
   changeProjectHost(makeProject, execEnv);
   buildProject(
       makeProject, ActionProvider.COMMAND_BUILD, getSampleBuildTimeout(), TimeUnit.SECONDS);
   File projectDirFile = CndFileUtils.toFile(makeProject.getProjectDirectory());
   NameStatePair[] filesToCheck =
       new NameStatePair[] {
         new NameStatePair(
             new File(projectDirFile, "file_1.c"), FileDownloadInfo.State.UNCONFIRMED),
         new NameStatePair(
             new File(projectDirFile, "file_1.cc"), FileDownloadInfo.State.UNCONFIRMED),
         new NameStatePair(
             new File(projectDirFile, "file_1.cpp"), FileDownloadInfo.State.UNCONFIRMED),
         new NameStatePair(
             new File(projectDirFile, "file_1.cxx"), FileDownloadInfo.State.UNCONFIRMED),
         new NameStatePair(
             new File(projectDirFile, "file_1.h"), FileDownloadInfo.State.UNCONFIRMED),
         new NameStatePair(
             new File(projectDirFile, "file_1.hpp"), FileDownloadInfo.State.UNCONFIRMED)
         // new NameStatePair(new File(projectDirFile, "Makefile"),
         // FileDownloadInfo.State.UNCONFIRMED)
       };
   checkInfo(filesToCheck, 12000, RemoteProjectSupport.getPrivateStorage(makeProject));
 }
 @ForAllEnvironments
 public void test_LexYacc_BuildLocalAndRemote() throws Exception {
   MakeProject makeProject =
       prepareSampleProject(Sync.RFS, Toolchain.GNU, "LexYacc", "LexYacc_Build");
   int timeout = getSampleBuildTimeout();
   changeProjectHost(makeProject, ExecutionEnvironmentFactory.getLocal());
   buildProject(makeProject, ActionProvider.COMMAND_BUILD, timeout, TimeUnit.SECONDS);
   changeProjectHost(makeProject, getTestExecutionEnvironment());
   File token_l = new File(CndFileUtils.toFile(makeProject.getProjectDirectory()), "token.l");
   token_l.setLastModified(System.currentTimeMillis() + 2000);
   File token_y = new File(CndFileUtils.toFile(makeProject.getProjectDirectory()), "token.y");
   token_y.setLastModified(System.currentTimeMillis() + 2000);
   buildProject(makeProject, ActionProvider.COMMAND_BUILD, timeout, TimeUnit.SECONDS);
   // Bug #182762 - Second clean & build for LexYacc build on remote host fails
   buildProject(makeProject, ActionProvider.COMMAND_CLEAN, timeout, TimeUnit.SECONDS);
   buildProject(makeProject, ActionProvider.COMMAND_BUILD, timeout, TimeUnit.SECONDS);
 }
 private String resolvePath(String filename) throws IllegalArgumentException {
   if (filename == null) {
     throw new NullPointerException("null filename passed to resolveFile"); // NOI18N
   }
   String result;
   if (RELATIVE_SLASH_SEPARATED_PATH.matcher(filename).matches()) {
     result = dir.getPath() + CndFileUtils.getFileSeparatorChar(fileSystem) + filename;
   } else {
     result = filename;
   }
   return FileSystemProvider.normalizeAbsolutePath(result, fileSystem);
 }
 @ForAllEnvironments
 public void test_LexYacc_Updates() throws Exception {
   MakeProject makeProject =
       prepareSampleProject(Sync.RFS, Toolchain.GNU, "LexYacc", "LexYacc_Updates");
   int timeout = getSampleBuildTimeout();
   buildProject(makeProject, ActionProvider.COMMAND_CLEAN, timeout, TimeUnit.SECONDS);
   buildProject(makeProject, ActionProvider.COMMAND_BUILD, timeout, TimeUnit.SECONDS);
   File projectDirFile = CndFileUtils.toFile(makeProject.getProjectDirectory());
   NameStatePair[] filesToCheck =
       new NameStatePair[] {
         new NameStatePair(
             new File(projectDirFile, "y.tab.c"), FileDownloadInfo.State.UNCONFIRMED),
         new NameStatePair(
             new File(projectDirFile, "y.tab.h"), FileDownloadInfo.State.UNCONFIRMED),
         new NameStatePair(
             new File(projectDirFile, "lex.yy.c"), FileDownloadInfo.State.UNCONFIRMED)
       };
   checkInfo(filesToCheck, 10000, RemoteProjectSupport.getPrivateStorage(makeProject));
 }