コード例 #1
0
void binary_reader::bin_read_tests::start_test()
{
	boost::thread_group threads;
	const int count_files = 5;
	char *name;
	name = new char [16];

	for( int i = 0; i < count_files; i++ )
	{ 
		std::sprintf( name, "/test_%03d.txt", i+1 );
		std::string test_file_name( name );
		threads.create_thread( boost::bind( &generation_messages, test_file_name ) ); 
 	}
	threads.join_all();
	
	for( int i = 0; i < count_files; i++ )
	{ 
		std::sprintf( name, "/test_%03d.txt", i+1 );
		std::string test_file_name( name );
		threads.create_thread( boost::bind( &check_messages, test_file_name ) ); 
	}
	threads.join_all();

	for( int i = 0; i < count_files; i++ )
	{
		std::sprintf( name, "/test_%03d.txt", i+1 );
		std::string test_file_name( name );
		boost::filesystem::remove( BINARY_DIR + test_file_name );
	}
	
	delete [] name;
}
コード例 #2
0
ファイル: seatest.c プロジェクト: sklnd/vifm
void seatest_test_fixture_start(char* filepath)
{
	seatest_current_fixture = test_file_name(filepath);
	seatest_header_printer(seatest_current_fixture, 50, '-');
	seatest_fixture_tests_failed = sea_tests_failed;
	seatest_fixture_tests_run = sea_tests_run;
	seatest_fixture_teardown = 0;
	seatest_fixture_setup = 0;
}
コード例 #3
0
ファイル: test_liblog.c プロジェクト: gozfree/libraries
int main(int argc, char **argv)
{
    test_file_name();
    test_no_init();
    test_rsyslog();
    test_file_noname();
    test_thread_log();
    return 0;
}
コード例 #4
0
ファイル: stic.c プロジェクト: acklinr/vifm
void stic_test_fixture_start(const char filepath[])
{
	stic_current_fixture_path = filepath;
	stic_current_fixture = test_file_name(filepath);
	stic_fixture_checks_failed = stic_checks_failed;
	stic_fixture_checks_passed = stic_checks_passed;
	stic_fixture_tests_run = stic_tests_run;
	stic_fixture_teardown = 0;
	stic_fixture_setup = 0;

	if (!stic_silent)
	{
		stic_header_printer(stic_current_fixture, stic_screen_width, '-');
	}
}
コード例 #5
0
ファイル: test_liblightlib.c プロジェクト: gozfree/libraries
int main(int argc, char **argv)
{
    test_file_name();
    foo();
    return 0;
}
コード例 #6
0
void run_test_cases( BOOST_EXPLICIT_TEMPLATE_TYPE(Block) )
{

  typedef boost::dynamic_bitset<Block> bitset_type;
  typedef bitset_test<bitset_type> Tests;

  //=====================================================================
  // Test stream operator<<
  {

    // The test "variables" are: the stream type and its state, the
    // exception mask, the width, the fill char and the padding side (left/right)

    std::ios::iostate masks[] = {
                                  std::ios::goodbit,
                                  std::ios::eofbit,
                                  std::ios::failbit,
                                  std::ios::eofbit | std::ios::failbit
                                };

    static std::string strings[] = {
                                  std::string(""),
                                  std::string("0"),
                                  std::string("1"),
                                  std::string("11100"),
                                  get_long_string()
                                };

    char fill_chars[] =         { '*', 'x', ' ' };

    std::size_t num_masks   = sizeof(masks) / sizeof(masks[0]);
    std::size_t num_strings = sizeof(strings) / sizeof(strings[0]);
    std::size_t num_chars   = sizeof(fill_chars) / sizeof(fill_chars[0]);

    std::fstream not_good_stream("dynamic_bitset_tests - this file shouldn't exist",
                                 std::ios::in);


    for (std::size_t mi = 0; mi < num_masks; ++mi) {
      for (std::size_t si = 0; si < num_strings; ++si) {

        std::streamsize slen = (std::streamsize)(strings[si].length());

        assert( (std::numeric_limits<std::streamsize>::max)()
                 >=(std::streamsize)(1+slen*2) );

        for (std::size_t ci = 0; ci < num_chars; ++ci) {

          // note how "negative widths" are tested too
          const std::streamsize widths[] = { -1 - slen/2, 0, slen/2, 1 + slen*2 };
          std::size_t num_widths = sizeof(widths) / sizeof(widths[0]);

          for (std::size_t wi = 0; wi < num_widths; ++wi) {
            std::streamsize w = widths[wi];
            {
              // test 0 - stream !good()
              if(not_good_stream.good())
                  throw std::logic_error("Error in operator << tests"
                                         " - please, double check");
              bitset_type b(strings[si]);
              not_good_stream.width(w);
              not_good_stream.fill(fill_chars[ci]);
              try { not_good_stream.exceptions(masks[mi]); } catch(...) {}

              Tests::stream_inserter(b, not_good_stream, "<unused_string>");
            }
            {
              // test 1a - file stream
              bitset_type b(strings[si]);
              std::ofstream file(test_file_name(), std::ios::trunc);
              file.width(w);
              file.fill(fill_chars[ci]);
              file.exceptions(masks[mi]);
              Tests::stream_inserter(b, file, test_file_name());

            }
            {
              //NOTE: there are NO string stream tests - gps
            }
#if !defined (BOOST_DYNAMIC_BITSET_NO_WCHAR_T_TESTS)
            {
              // test 1b - wide file stream
              bitset_type b(strings[si]);
              std::wofstream file(test_file_name());
              file.width(w);
              file.fill(fill_chars[ci]);
              file.exceptions(masks[mi]);
              Tests::stream_inserter(b, file, test_file_name());
            }
#endif
          }
        }
      }
    } // for (; mi..)

  }

  //=====================================================================
  // Test stream operator>>
  {

  // The test "variables" are: the stream type, the exception mask,
  // the actual contents (and/or state) of the stream, and width.
  //
  // With few exceptions, each test case consists of writing a different
  // assortment of digits and "whitespaces" to a text stream and then checking
  // that what was written gets read back unchanged. That's NOT guaranteed by
  // the standard, unless the assortment always ends with a '\n' and satisfies
  // other conditions (see C99, 7.19.2/2), however it works in practice and is
  // a good "real life" test. Some characters, such as '\v' and '\f', are not
  // used exactly because they are the ones which will most likely give problems
  // on some systems (for instance '\f' could actually be written as a sequence
  // of new-lines, and we could never be able to read it back) [gps]
  //
  // Note how the bitset object is not initially empty. That helps checking
  // that it isn't erroneously clear()ed by operator>>.


  std::ios::iostate masks[] = {
                                  std::ios::goodbit,
                                  std::ios::eofbit,
                                  std::ios::failbit,
                                  std::ios::eofbit | std::ios::failbit
                                   };

  const std::string spaces = "\t\n "; //"\t\n\v\f ";

  const std::string long_string = get_long_string();
  /*const*/ static std::string strings[] = {
                  // NOTE: "const" gives the usual problems with Borland
                  //       (in Tests::stream_extractor instantiation)


#if !(defined __BORLANDC__     \
      && BOOST_WORKAROUND(BOOST_RWSTD_VER, BOOST_TESTED_AT(0x20101)))
                                        // Borland 5.5.1 with RW library crashes
            // empty string
            std::string(""),
            // no bitset
            spaces,
#endif
            // no bitset
            std::string("x"),
            std::string("\t  xyz"),

            // bitset of size 1
            std::string("0"),
            std::string("1"),

            std::string("  0  "),
            std::string("  1  "),
            spaces + "1",
            "1" + spaces,
            spaces + "1" + spaces,
            std::string("  x1x  "),
            std::string("  1x  "),

            // long bitset
            long_string,
            "  " + long_string + " xyz",
            spaces + long_string,
            spaces + long_string + spaces
    };


  //-----------------------------------------------------

  std::stringstream not_good_stream;
  not_good_stream << "test";
  std::string sink;
  not_good_stream >> sink; // now the stream should be in eof state

  const std::size_t num_masks = sizeof(masks) / sizeof(masks[0]);
  const std::size_t num_strings = sizeof(strings) / sizeof(strings[0]);

  for (std::size_t mi = 0; mi < num_masks; ++mi) {
    for (std::size_t si = 0; si < num_strings; ++si) {

      const std::streamsize slen = (std::streamsize)(strings[si].length());
      assert((std::numeric_limits<std::streamsize>::max)() >= (std::streamsize)(1+slen*2));

      std::streamsize widths[] = { -1, 0, slen/2, slen, 1 + slen*2 };
      std::size_t num_widths = sizeof(widths) / sizeof(widths[0]);

      for(std::size_t wi = 0; wi < num_widths; ++wi) {
        const std::streamsize w = widths[wi];

        // test 0 - !good() stream
        {
          if(not_good_stream.good())
            throw std::logic_error("Error in operator >> tests"
                                   " - please, double check");
          bitset_type b(1, 15ul); // note: b is not empty
          not_good_stream.width(w);
          try { not_good_stream.exceptions(masks[mi]); } catch(...) {}
          std::string irrelevant;
          Tests::stream_extractor(b, not_good_stream, irrelevant);
        }
        // test 1a - (narrow) file stream
        {
          bitset_type b(1, 255ul);
          {
            std::ofstream f(test_file_name());
            f << strings[si];
          }

          std::ifstream f(test_file_name());
          f.width(w);
          f.exceptions(masks[mi]);
          Tests::stream_extractor(b, f, strings[si]);
        }
#if !defined(BOOST_NO_STRINGSTREAM)
        // test 2a - stringstream
        {
          bitset_type b(1, 255ul);
          std::istringstream stream(strings[si]);
          stream.width(w);
          stream.exceptions(masks[mi]);
          Tests::stream_extractor(b, stream, strings[si]);
        }
#endif

#if !defined(BOOST_DYNAMIC_BITSET_NO_WCHAR_T_TESTS)
        // test 1b - wchar_t file stream
        {
          std::wstring wstr = widen_string(strings[si]);
          bitset_type b(1, 255ul);
          {
            std::basic_ofstream<wchar_t> of(test_file_name());
            of << wstr;
          }

          std::basic_ifstream<wchar_t> f(test_file_name());
          f.width(w);
          f.exceptions(masks[mi]);
          Tests::stream_extractor(b, f, wstr);
        }
        // test 2b - wstringstream
        {
          bitset_type b(1, 255ul);
          std::wstring wstr = widen_string(strings[si]);

          std::wistringstream wstream(wstr);
          wstream.width(w);
          wstream.exceptions(masks[mi]);
          Tests::stream_extractor(b, wstream, wstr);
        }
#endif // BOOST_DYNAMIC_BITSET_NO_WCHAR_T_TESTS

      }
    }

  } // for ( mi = 0; ...)


  }
  //=====================================================================
  // << Any other tests go here >>
  //         .....

}