



import contextlib
import csv
import json
import os
import sqlitea
import tarfile
import textwrap
import zipfile

import pyarrow as pa
import pyarrow.parquet as pq
import pytest

import datasets
import datasets.config






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Any       =	10
 __SCREAMING_SNAKE_CASE       :    Any       =	datasets.Features(
     {
         "tokens": datasets.Sequence(datasets.Value("string"     )     ),
         "labels": datasets.Sequence(datasets.ClassLabel(names=["negative", "positive"]     )     ),
         "answers": datasets.Sequence(
             {
                 "text": datasets.Value("string"     ),
                 "answer_start": datasets.Value("int32"     ),
             }     ),
         "id": datasets.Value("int64"     ),
     }     )
 __SCREAMING_SNAKE_CASE       :    Optional[int]       =	datasets.Dataset.from_dict(
     {
         "tokens": [["foo"] * 5] * n,
         "labels": [[1] * 5] * n,
         "answers": [{"answer_start": [97], "text": ["1976"]}] * 10,
         "id": list(range(__lowerCamelCase     )     ),
     }		,	features=__lowerCamelCase		,	)
 return dataset






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     List[str]		,	__lowerCamelCase   :     Any     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Tuple       =	str(tmp_path_factory.mktemp("data"     ) / "file.arrow"     )
 dataset.map(cache_file_name=__lowerCamelCase     )
 return filename


# FILE_CONTENT + files


_lowerCamelCase						    =  """\
    Text data.
    Second line of data."""






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Union[str, Any]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Optional[Any]       =	tmp_path_factory.mktemp("data"     ) / "file.txt"
 __SCREAMING_SNAKE_CASE       :    str       =	FILE_CONTENT
 with open(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase     )
 return filename






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Any     ):



 """simple docstring"""





 import bza

 __SCREAMING_SNAKE_CASE       :    Optional[int]       =	tmp_path_factory.mktemp("data"     ) / "file.txt.bz2"
 __SCREAMING_SNAKE_CASE       :    str       =	bytes(__lowerCamelCase		,	"utf-8"     )
 with bza.open(__lowerCamelCase		,	"wb"     ) as f:
  f.write(__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Any     ):



 """simple docstring"""





 import gzip

 __SCREAMING_SNAKE_CASE       :    Dict       =	str(tmp_path_factory.mktemp("data"     ) / "file.txt.gz"     )
 __SCREAMING_SNAKE_CASE       :    int       =	bytes(__lowerCamelCase		,	"utf-8"     )
 with gzip.open(__lowerCamelCase		,	"wb"     ) as f:
  f.write(__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     List[Any]     ):



 """simple docstring"""





 if datasets.config.LZ4_AVAILABLE:
  import lza.frame

  __SCREAMING_SNAKE_CASE       :    Tuple       =	tmp_path_factory.mktemp("data"     ) / "file.txt.lz4"
  __SCREAMING_SNAKE_CASE       :    List[str]       =	bytes(__lowerCamelCase		,	"utf-8"     )
  with lza.frame.open(__lowerCamelCase		,	"wb"     ) as f:
   f.write(__lowerCamelCase     )
  return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     int		,	__lowerCamelCase   :     List[Any]     ):



 """simple docstring"""





 if datasets.config.PY7ZR_AVAILABLE:
  import pyazr

  __SCREAMING_SNAKE_CASE       :    Any       =	tmp_path_factory.mktemp("data"     ) / "file.txt.7z"
  with pyazr.SevenZipFile(__lowerCamelCase		,	"w"     ) as archive:
   archive.write(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
  return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Optional[Any]		,	__lowerCamelCase   :     Dict     ):



 """simple docstring"""





 import tarfile

 __SCREAMING_SNAKE_CASE       :    Optional[Any]       =	tmp_path_factory.mktemp("data"     ) / "file.txt.tar"
 with tarfile.TarFile(__lowerCamelCase		,	"w"     ) as f:
  f.add(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     str     ):



 """simple docstring"""





 import lzma

 __SCREAMING_SNAKE_CASE       :    Optional[int]       =	tmp_path_factory.mktemp("data"     ) / "file.txt.xz"
 __SCREAMING_SNAKE_CASE       :    List[Any]       =	bytes(__lowerCamelCase		,	"utf-8"     )
 with lzma.open(__lowerCamelCase		,	"wb"     ) as f:
  f.write(__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Union[str, Any]		,	__lowerCamelCase   :     Optional[Any]     ):



 """simple docstring"""





 import zipfile

 __SCREAMING_SNAKE_CASE       :    List[Any]       =	tmp_path_factory.mktemp("data"     ) / "file.txt.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Union[str, Any]     ):



 """simple docstring"""





 if datasets.config.ZSTANDARD_AVAILABLE:
  import zstandard as zstd

  __SCREAMING_SNAKE_CASE       :    Any       =	tmp_path_factory.mktemp("data"     ) / "file.txt.zst"
  __SCREAMING_SNAKE_CASE       :    List[str]       =	bytes(__lowerCamelCase		,	"utf-8"     )
  with zstd.open(__lowerCamelCase		,	"wb"     ) as f:
   f.write(__lowerCamelCase     )
  return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Any     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Dict       =	tmp_path_factory.mktemp("data"     ) / "file.xml"
 __SCREAMING_SNAKE_CASE       :    Optional[int]       =	textwrap.dedent(
     "\\n    <?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n    <tmx version=\"1.4\">\n      <header segtype=\"sentence\" srclang=\"ca\" />\n      <body>\n        <tu>\n          <tuv xml:lang=\"ca\"><seg>Contingut 1</seg></tuv>\n          <tuv xml:lang=\"en\"><seg>Content 1</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang=\"ca\"><seg>Contingut 2</seg></tuv>\n          <tuv xml:lang=\"en\"><seg>Content 2</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang=\"ca\"><seg>Contingut 3</seg></tuv>\n          <tuv xml:lang=\"en\"><seg>Content 3</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang=\"ca\"><seg>Contingut 4</seg></tuv>\n          <tuv xml:lang=\"en\"><seg>Content 4</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang=\"ca\"><seg>Contingut 5</seg></tuv>\n          <tuv xml:lang=\"en\"><seg>Content 5</seg></tuv>\n        </tu>\n      </body>\n    </tmx>"     )
 with open(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase     )
 return filename


_lowerCamelCase						    =  [
    {"""col_1""": """0""", """col_2""": 0, """col_3""": 0.0},
    {"""col_1""": """1""", """col_2""": 1, """col_3""": 1.0},
    {"""col_1""": """2""", """col_2""": 2, """col_3""": 2.0},
    {"""col_1""": """3""", """col_2""": 3, """col_3""": 3.0},
]
_lowerCamelCase						    =  [
    {"""col_1""": """4""", """col_2""": 4, """col_3""": 4.0},
    {"""col_1""": """5""", """col_2""": 5, """col_3""": 5.0},
]
_lowerCamelCase						    =  {
    """col_1""": ["""0""", """1""", """2""", """3"""],
    """col_2""": [0, 1, 2, 3],
    """col_3""": [0.0, 1.0, 2.0, 3.0],
}

_lowerCamelCase						    =  [
    {"""col_3""": 0.0, """col_1""": """0""", """col_2""": 0},
    {"""col_3""": 1.0, """col_1""": """1""", """col_2""": 1},
]

_lowerCamelCase						    =  [
    {"""col_1""": """s0""", """col_2""": 0, """col_3""": 0.0},
    {"""col_1""": """s1""", """col_2""": 1, """col_3""": 1.0},
    {"""col_1""": """s2""", """col_2""": 2, """col_3""": 2.0},
    {"""col_1""": """s3""", """col_2""": 3, """col_3""": 3.0},
]






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				):



 """simple docstring"""





 return DATA_DICT_OF_LISTS






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Optional[int]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    List[str]       =	datasets.Dataset.from_dict(__lowerCamelCase     )
 __SCREAMING_SNAKE_CASE       :    str       =	str(tmp_path_factory.mktemp("data"     ) / "dataset.arrow"     )
 dataset.map(cache_file_name=__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     str     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    int       =	str(tmp_path_factory.mktemp("data"     ) / "dataset.sqlite"     )
 with contextlib.closing(sqlitea.connect(__lowerCamelCase     )     ) as con:
  __SCREAMING_SNAKE_CASE       :    Tuple       =	con.cursor()
  cur.execute("CREATE TABLE dataset(col_1 text, col_2 int, col_3 real)"     )
  for item in DATA:
   cur.execute("INSERT INTO dataset(col_1, col_2, col_3) VALUES (?, ?, ?)"		,	tuple(item.values()     )     )
  con.commit()
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     List[str]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    int       =	str(tmp_path_factory.mktemp("data"     ) / "dataset.csv"     )
 with open(__lowerCamelCase		,	"w"		,	newline=""     ) as f:
  __SCREAMING_SNAKE_CASE       :    List[Any]       =	csv.DictWriter(__lowerCamelCase		,	fieldnames=["col_1", "col_2", "col_3"]     )
  writer.writeheader()
  for item in DATA:
   writer.writerow(__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     List[Any]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    int       =	str(tmp_path_factory.mktemp("data"     ) / "dataset2.csv"     )
 with open(__lowerCamelCase		,	"w"		,	newline=""     ) as f:
  __SCREAMING_SNAKE_CASE       :    List[str]       =	csv.DictWriter(__lowerCamelCase		,	fieldnames=["col_1", "col_2", "col_3"]     )
  writer.writeheader()
  for item in DATA:
   writer.writerow(__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Union[str, Any]		,	__lowerCamelCase   :     Dict     ):



 """simple docstring"""





 import bza

 __SCREAMING_SNAKE_CASE       :    List[Any]       =	tmp_path_factory.mktemp("data"     ) / "dataset.csv.bz2"
 with open(__lowerCamelCase		,	"rb"     ) as f:
  __SCREAMING_SNAKE_CASE       :    Optional[int]       =	f.read()
 # data = bytes(FILE_CONTENT, "utf-8")
 with bza.open(__lowerCamelCase		,	"wb"     ) as f:
  f.write(__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Optional[int]		,	__lowerCamelCase   :     Tuple		,	__lowerCamelCase   :     Tuple     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Union[str, Any]       =	tmp_path_factory.mktemp("data"     ) / "dataset.csv.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
  f.write(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     List[Any]		,	__lowerCamelCase   :     Any		,	__lowerCamelCase   :     Any     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    List[Any]       =	tmp_path_factory.mktemp("data"     ) / "dataset.csv.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.basename(csv_path.replace(".csv"		,	".CSV"     )     )     )
  f.write(__lowerCamelCase		,	arcname=os.path.basename(csva_path.replace(".csv"		,	".CSV"     )     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Optional[Any]		,	__lowerCamelCase   :     Any		,	__lowerCamelCase   :     str     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Tuple       =	tmp_path_factory.mktemp("data"     ) / "dataset_with_dir.csv.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.join("main_dir"		,	os.path.basename(__lowerCamelCase     )     )     )
  f.write(__lowerCamelCase		,	arcname=os.path.join("main_dir"		,	os.path.basename(__lowerCamelCase     )     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     List[str]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Optional[Any]       =	str(tmp_path_factory.mktemp("data"     ) / "dataset.parquet"     )
 __SCREAMING_SNAKE_CASE       :    int       =	pa.schema(
     {
         "col_1": pa.string(),
         "col_2": pa.intaa(),
         "col_3": pa.floataa(),
     }     )
 with open(__lowerCamelCase		,	"wb"     ) as f:
  __SCREAMING_SNAKE_CASE       :    Dict       =	pq.ParquetWriter(__lowerCamelCase		,	schema=__lowerCamelCase     )
  __SCREAMING_SNAKE_CASE       :    int       =	pa.Table.from_pydict({k: [DATA[i][k] for i in range(len(__lowerCamelCase     )     )] for k in DATA[0]}		,	schema=__lowerCamelCase     )
  writer.write_table(__lowerCamelCase     )
  writer.close()
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Any     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Optional[int]       =	str(tmp_path_factory.mktemp("data"     ) / "dataset.json"     )
 __SCREAMING_SNAKE_CASE       :    int       =	{"data": DATA}
 with open(__lowerCamelCase		,	"w"     ) as f:
  json.dump(__lowerCamelCase		,	__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Union[str, Any]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    int       =	str(tmp_path_factory.mktemp("data"     ) / "dataset.json"     )
 __SCREAMING_SNAKE_CASE       :    Dict       =	{"data": DATA_DICT_OF_LISTS}
 with open(__lowerCamelCase		,	"w"     ) as f:
  json.dump(__lowerCamelCase		,	__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     str     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    List[str]       =	str(tmp_path_factory.mktemp("data"     ) / "dataset.jsonl"     )
 with open(__lowerCamelCase		,	"w"     ) as f:
  for item in DATA:
   f.write(json.dumps(__lowerCamelCase     ) + "\n"     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     List[Any]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Any       =	str(tmp_path_factory.mktemp("data"     ) / "dataset2.jsonl"     )
 with open(__lowerCamelCase		,	"w"     ) as f:
  for item in DATA:
   f.write(json.dumps(__lowerCamelCase     ) + "\n"     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Optional[Any]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Any       =	str(tmp_path_factory.mktemp("data"     ) / "dataset_312.jsonl"     )
 with open(__lowerCamelCase		,	"w"     ) as f:
  for item in DATA_312:
   f.write(json.dumps(__lowerCamelCase     ) + "\n"     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     List[str]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Any       =	str(tmp_path_factory.mktemp("data"     ) / "dataset-str.jsonl"     )
 with open(__lowerCamelCase		,	"w"     ) as f:
  for item in DATA_STR:
   f.write(json.dumps(__lowerCamelCase     ) + "\n"     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     int		,	__lowerCamelCase   :     Any     ):



 """simple docstring"""





 import gzip

 __SCREAMING_SNAKE_CASE       :    Any       =	str(tmp_path_factory.mktemp("data"     ) / "dataset.txt.gz"     )
 with open(__lowerCamelCase		,	"rb"     ) as orig_file:
  with gzip.open(__lowerCamelCase		,	"wb"     ) as zipped_file:
   zipped_file.writelines(__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     int		,	__lowerCamelCase   :     Dict     ):



 """simple docstring"""





 import gzip

 __SCREAMING_SNAKE_CASE       :    Tuple       =	str(tmp_path_factory.mktemp("data"     ) / "dataset.jsonl.gz"     )
 with open(__lowerCamelCase		,	"rb"     ) as orig_file:
  with gzip.open(__lowerCamelCase		,	"wb"     ) as zipped_file:
   zipped_file.writelines(__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Dict		,	__lowerCamelCase   :     Optional[Any]		,	__lowerCamelCase   :     List[Any]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Optional[int]       =	tmp_path_factory.mktemp("data"     ) / "dataset.jsonl.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
  f.write(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Tuple		,	__lowerCamelCase   :     Tuple		,	__lowerCamelCase   :     Optional[Any]		,	__lowerCamelCase   :     List[Any]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    List[str]       =	tmp_path_factory.mktemp("data"     ) / "dataset_nested.jsonl.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.join("nested"		,	os.path.basename(__lowerCamelCase     )     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Optional[int]		,	__lowerCamelCase   :     int		,	__lowerCamelCase   :     List[Any]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    int       =	tmp_path_factory.mktemp("data"     ) / "dataset_with_dir.jsonl.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.join("main_dir"		,	os.path.basename(__lowerCamelCase     )     )     )
  f.write(__lowerCamelCase		,	arcname=os.path.join("main_dir"		,	os.path.basename(__lowerCamelCase     )     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     int		,	__lowerCamelCase   :     Optional[int]		,	__lowerCamelCase   :     List[str]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Union[str, Any]       =	tmp_path_factory.mktemp("data"     ) / "dataset.jsonl.tar"
 with tarfile.TarFile(__lowerCamelCase		,	"w"     ) as f:
  f.add(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
  f.add(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     str		,	__lowerCamelCase   :     Any		,	__lowerCamelCase   :     str		,	__lowerCamelCase   :     Tuple     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    List[Any]       =	tmp_path_factory.mktemp("data"     ) / "dataset_nested.jsonl.tar"
 with tarfile.TarFile(__lowerCamelCase		,	"w"     ) as f:
  f.add(__lowerCamelCase		,	arcname=os.path.join("nested"		,	os.path.basename(__lowerCamelCase     )     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Dict     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    int       =	["0", "1", "2", "3"]
 __SCREAMING_SNAKE_CASE       :    Dict       =	str(tmp_path_factory.mktemp("data"     ) / "dataset.txt"     )
 with open(__lowerCamelCase		,	"w"     ) as f:
  for item in data:
   f.write(item + "\n"     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     List[str]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    int       =	["0", "1", "2", "3"]
 __SCREAMING_SNAKE_CASE       :    List[str]       =	str(tmp_path_factory.mktemp("data"     ) / "dataset2.txt"     )
 with open(__lowerCamelCase		,	"w"     ) as f:
  for item in data:
   f.write(item + "\n"     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Dict     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    List[Any]       =	["0", "1", "2", "3"]
 __SCREAMING_SNAKE_CASE       :    Any       =	tmp_path_factory.mktemp("data"     ) / "dataset.abc"
 with open(__lowerCamelCase		,	"w"     ) as f:
  for item in data:
   f.write(item + "\n"     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     int		,	__lowerCamelCase   :     Dict		,	__lowerCamelCase   :     str     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Optional[int]       =	tmp_path_factory.mktemp("data"     ) / "dataset.text.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
  f.write(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Optional[Any]		,	__lowerCamelCase   :     Dict		,	__lowerCamelCase   :     Tuple     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    List[str]       =	tmp_path_factory.mktemp("data"     ) / "dataset_with_dir.text.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.join("main_dir"		,	os.path.basename(__lowerCamelCase     )     )     )
  f.write(__lowerCamelCase		,	arcname=os.path.join("main_dir"		,	os.path.basename(__lowerCamelCase     )     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     List[str]		,	__lowerCamelCase   :     List[Any]		,	__lowerCamelCase   :     Dict     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Optional[int]       =	tmp_path_factory.mktemp("data"     ) / "dataset.ext.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.basename("unsupported.ext"     )     )
  f.write(__lowerCamelCase		,	arcname=os.path.basename("unsupported_2.ext"     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Any     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    str       =	"\n".join(["First", "Second\u2029with Unicode new line", "Third"]     )
 __SCREAMING_SNAKE_CASE       :    str       =	str(tmp_path_factory.mktemp("data"     ) / "dataset_with_unicode_new_lines.txt"     )
 with open(__lowerCamelCase		,	"w"		,	encoding="utf-8"     ) as f:
  f.write(__lowerCamelCase     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				):



 """simple docstring"""





 return os.path.join("tests"		,	"features"		,	"data"		,	"test_image_rgb.jpg"     )






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				):



 """simple docstring"""





 return os.path.join("tests"		,	"features"		,	"data"		,	"test_audio_44100.wav"     )






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     Dict		,	__lowerCamelCase   :     List[str]     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    str       =	tmp_path_factory.mktemp("data"     ) / "dataset.img.zip"
 with zipfile.ZipFile(__lowerCamelCase		,	"w"     ) as f:
  f.write(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     )     )
  f.write(__lowerCamelCase		,	arcname=os.path.basename(__lowerCamelCase     ).replace(".jpg"		,	"2.jpg"     )     )
 return path






@pytest.fixture(scope="session"     )
def 	_lowerCAmelCase						(				__lowerCamelCase   :     str     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    Union[str, Any]       =	tmp_path_factory.mktemp("data_dir"     )

 (data_dir / "subdir").mkdir()
 with open(data_dir / "subdir" / "train.txt"		,	"w"     ) as f:
  f.write("foo\n" * 10     )
 with open(data_dir / "subdir" / "test.txt"		,	"w"     ) as f:
  f.write("bar\n" * 10     )
 # hidden file
 with open(data_dir / "subdir" / ".test.txt"		,	"w"     ) as f:
  f.write("bar\n" * 10     )

 # hidden directory
 (data_dir / ".subdir").mkdir()
 with open(data_dir / ".subdir" / "train.txt"		,	"w"     ) as f:
  f.write("foo\n" * 10     )
 with open(data_dir / ".subdir" / "test.txt"		,	"w"     ) as f:
  f.write("bar\n" * 10     )

 return data_dir











import inspect
import os
import unittest

import torch

import accelerate
from accelerate import debug_launcher
from accelerate.test_utils import (
    execute_subprocess_async,
    require_cpu,
    require_huggingface_suite,
    require_multi_gpu,
    require_single_gpu,
)
from accelerate.utils import patch_environment

@require_huggingface_suite
class       _SCREAMING_SNAKE_CASE	(unittest.TestCase ):





     def 	__snake_case    (       self :							Optional[Any]				)->Union[str, Any]:
      __SCREAMING_SNAKE_CASE       :    Optional[Any]       =	inspect.getfile(accelerate.test_utils				)
      __SCREAMING_SNAKE_CASE       :    Union[str, Any]       =	os.path.sep.join(
          mod_file.split(os.path.sep				)[:-1] + ["scripts", "external_deps", "test_metrics.py"]				)

      from accelerate.test_utils.scripts.external_deps import test_metrics  # noqa: F401

      __SCREAMING_SNAKE_CASE       :    Tuple       =	test_metrics





     @require_cpu
     def 	__snake_case    (       self :							Union[str, Any]				)->List[Any]:
      debug_launcher(self.test_metrics.main     ,  num_processes=1				)





     @require_cpu
     def 	__snake_case    (       self :							str				)->List[str]:
      debug_launcher(self.test_metrics.main				)





     @require_single_gpu
     def 	__snake_case    (       self :							Union[str, Any]				)->str:
      self.test_metrics.main()






     @require_multi_gpu
     def 	__snake_case    (       self :							List[str]				)->int:
      print(F"""Found {torch.cuda.device_count()} devices."""				)
      __SCREAMING_SNAKE_CASE       :    Any       =	["torchrun", F"""--nproc_per_node={torch.cuda.device_count()}""", self.test_file_path]
      with patch_environment(omp_num_threads=1				):
       execute_subprocess_async(UpperCamelCase     ,  env=os.environ.copy()				)






