* \author Teemu Murtola <teemu.murtola@gmail.com>
* \ingroup module_commandline
*/
+#include "gmxpre.h"
+
#include "gromacs/commandline/pargs.h"
#include <string>
done_filenms(nfile(), fnm);
}
+TEST_F(ParseCommonArgsTest, ParseFileArgsWithCustomDefaultExtension)
+{
+ t_filenm fnm[] = {
+ { efTRX, "-o1", "conf1.gro", ffWRITE },
+ { efTRX, "-o2", "conf2.pdb", ffWRITE },
+ { efTRX, "-o3", "conf3.gro", ffWRITE }
+ };
+ const char *const cmdline[] = {
+ "test", "-o2", "-o3", "test"
+ };
+ parseFromArray(cmdline, PCA_CAN_SET_DEFFNM, fnm, gmx::EmptyArrayRef());
+ EXPECT_STREQ("conf1.gro", opt2fn("-o1", nfile(), fnm));
+ EXPECT_STREQ("conf2.pdb", opt2fn("-o2", nfile(), fnm));
+ EXPECT_STREQ("test.gro", opt2fn("-o3", nfile(), fnm));
+ done_filenms(nfile(), fnm);
+}
+
/********************************************************************
* Tests for file name options (input files, dependent on file system contents)
*/
const char *const cmdline[] = {
"test", "-f2", "-f3", "other", "-f4", "trj.gro", "-g2", "foo"
};
- parseFromArray(cmdline, 0, fnm, gmx::EmptyArrayRef());
+ parseFromArray(cmdline, PCA_DISABLE_INPUT_FILE_CHECKING, fnm, gmx::EmptyArrayRef());
EXPECT_STREQ("topol.tpr", ftp2fn(efTPS, nfile(), fnm));
EXPECT_STREQ("trj.xtc", opt2fn("-f", nfile(), fnm));
EXPECT_STREQ("trj2.xtc", opt2fn("-f2", nfile(), fnm));
done_filenms(nfile(), fnm);
}
+TEST_F(ParseCommonArgsTest, HandlesNonExistentOptionalInputFiles)
+{
+ t_filenm fnm[] = {
+ { efTPS, "-s", NULL, ffOPTRD },
+ { efTRX, "-f", "trj", ffOPTRD }
+ };
+ const char *const cmdline[] = {
+ "test"
+ };
+ parseFromArray(cmdline, 0, fnm, gmx::EmptyArrayRef());
+ EXPECT_STREQ("topol.tpr", ftp2fn(efTPS, nfile(), fnm));
+ EXPECT_STREQ("trj.xtc", opt2fn("-f", nfile(), fnm));
+ done_filenms(nfile(), fnm);
+}
+
TEST_F(ParseCommonArgsTest, HandlesCompressedFiles)
{
t_filenm fnm[] = {