makeDualTestlistTest (suitedata1, suitedata2) =
  let
    createFilterFile =
      do
        createDirectory "TestDir"
        writeFile "TestDir/testlist1" (intercalate "\n" (makeFilters suitedata1))
        writeFile "TestDir/testlist2" (intercalate "\n" (makeFilters suitedata2))

    delFilterFile =
      do
        removeFile "TestDir/testlist1"
        removeFile "TestDir/testlist2"
        delTestDir
  in
    ("dual_testlist____" ++ makeName suitedata1 ++ "___" ++ makeName suitedata2,
     createFilterFile, delFilterFile,
     shouldPass suitedata1 && shouldPass suitedata2, [],
     quietOpts { testlist = ["TestDir/testlist1", "TestDir/testlist2"] })
makeDualTestlistTest (suitedata1, suitedata2) =
  let
    createFilterFile =
      do
        createDirectory "TestDir"
        writeFile "TestDir/testlist1" (intercalate "\n" (makeFilters suitedata1))
        writeFile "TestDir/testlist2" (intercalate "\n" (makeFilters suitedata2))

    delFilterFile =
      do
        removeFile "TestDir/testlist1"
        removeFile "TestDir/testlist2"
        delTestDir
  in
    ("dual_testlist____" ++ makeName suitedata1 ++ "___" ++ makeName suitedata2,
     createFilterFile, delFilterFile,
     shouldPass suitedata1 && shouldPass suitedata2, [],
     quietOpts { testlist = ["TestDir/testlist1", "TestDir/testlist2"] })
makeDualTestlistTest (suitedata1, suitedata2) =
  let
    createFilterFile =
      do
        createDirectory "TestDir"
        writeFile "TestDir/testlist1" (intercalate "\n" (makeFilters suitedata1))
        writeFile "TestDir/testlist2" (intercalate "\n" (makeFilters suitedata2))

    delFilterFile =
      do
        removeFile "TestDir/testlist1"
        removeFile "TestDir/testlist2"
        delTestDir
  in
    ("dual_testlist____" ++ makeName suitedata1 ++ "___" ++ makeName suitedata2,
     createFilterFile, delFilterFile,
     shouldPass suitedata1 && shouldPass suitedata2, [],
     quietOpts { testlist = ["TestDir/testlist1", "TestDir/testlist2"] })