def setUp(self) -> None:
        super().setUp()
        self.repository_path = f"/tmp/{uuid4()}/"
        self.random_dirs = dict()

        # Create the root repository
        os.makedirs(self.repository_path)

        set_git_for_test(self.repository_path)
        run_test_init(selected_dir=self.repository_path)

        # Create files at the root of the repository to be added and removed
        for i in range(3):
            path = os.path.join(self.repository_path, f"{i}.txt")

            with open(path, "w+") as tmp_file:
                tmp_file.write("Your text goes here")

        # Create random directories in the root with random files in them.
        for _ in range(3):

            dir_name = str(uuid4())

            path = os.path.join(self.repository_path, dir_name)

            self.random_dirs.update({dir_name: path})

            os.makedirs(path)

            for i in range(3):
                file_path = os.path.join(path, f"{i}_{dir_name}.txt")
                with open(file_path, "w+") as tmp_file:
                    tmp_file.write("Your text goes here")
Esempio n. 2
0
    def setUp(self) -> None:
        super().setUp()
        self.repository_path = f"/tmp/{uuid4()}/"

        # Remove if it exists
        shutil.rmtree(self.repository_path, ignore_errors=True)

        # Create the root repository
        os.makedirs(self.repository_path)
        set_git_for_test(self.repository_path)
        run_test_init(self.repository_path)

        f_name = f'{uuid4()}.txt'

        self.relative_path = f_name
        self.absolute_path = os.path.join(self.repository_path, f_name)

        with open(self.absolute_path, 'w') as f:
            f.write("Gibberish")

        self.absolute_path_outside_script = f"/tmp/{uuid4()}.txt"

        with open(self.absolute_path_outside_script, "w") as f:
            f.write("Your text goes here")

        self.parser = argparse.Namespace(
            files=[
                self.relative_path,
            ],
            soft_delete=True,
        )
        commands.run_add(self.parser, selected_dir=self.repository_path)
    def setUp(self) -> None:
        super().setUp()

        # Create the root repository
        self.repository_path = f"/tmp/{uuid4()}/"
        os.makedirs(self.repository_path)
        set_git_for_test(self.repository_path)
        run_test_init(selected_dir=self.repository_path)

        self.ds = f"dataset.txt"

        file_path = os.path.join(self.repository_path, self.ds)
        with open(file_path, "w+") as tmp_file:
            tmp_file.write("Your dataset text goes here")

        proc = subprocess.Popen(
            [f"au data add {self.ds}", ],
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            shell=True,
            cwd=self.repository_path,
        )

        out, err = proc.communicate()
        if proc.returncode != 0:
            raise Exception(f"Failed: {err}, {out}, {proc.returncode}")
        else:
            logging.debug(f"au data add worked...{out}")
    def setUp(self):
        self.repository_path = f"/tmp/{uuid4()}/"

        # Remove if it exists
        shutil.rmtree(self.repository_path, ignore_errors=True)

        # Create the root repository
        os.makedirs(self.repository_path)
        set_git_for_test(self.repository_path)
        run_test_init(self.repository_path)
Esempio n. 5
0
    def setUp(self) -> None:
        super().setUp()

        self.repository_path = "/tmp/repository/"

        # Remove if it exists
        shutil.rmtree(self.repository_path, ignore_errors=True)

        # Create the root repository
        os.makedirs(self.repository_path)

        # Needed so that we fake as if running from the au repo
        os.chdir(self.repository_path)

        set_git_for_test(self.repository_path)
    def test_init(self):

        r = f"/tmp/{uuid4()}/"
        os.mkdir(r)
        set_git_for_test(r)

        proc = subprocess.Popen(
            ["au --verbose init"],
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            shell=True,
            cwd=r,
        )

        _, e = proc.communicate()

        self.assertEqual(proc.returncode, 0)
        self.assertTrue(os.path.exists(os.path.join(r, cons.REPOSITORY_DIR)))
        shutil.rmtree(r, ignore_errors=True)
Esempio n. 7
0
    def setUp(self) -> None:
        super().setUp()

        self.test_dir = f'/tmp/{uuid4()}'
        os.makedirs(self.test_dir)
        self.random_dirs = dict()

        set_git_for_test(self.test_dir)
        run_test_init(selected_dir=self.test_dir)

        f_name = f'{uuid4()}.txt'

        self.relative_path = f_name
        self.absolute_path = os.path.join(self.test_dir, f_name)

        with open(self.absolute_path, 'w') as f:
            f.write("Gibberish")

        self.absolute_path_outside_script = "/tmp/copy.txt"

        with open(self.absolute_path_outside_script, "w") as f:
            f.write("Your text goes here")
Esempio n. 8
0
    def setUp(self) -> None:
        super().setUp()

        self.repository_path = "/tmp/repository/"

        # Remove if it exists
        shutil.rmtree(self.repository_path, ignore_errors=True)

        # Create the root repository
        os.makedirs(self.repository_path)

        set_git_for_test(self.repository_path)

        Theorem.instance = None

        # Needed so that we fake as if running from the au repo
        os.chdir(self.repository_path)

        proc = subprocess.Popen(
            ["au --verbose init"],
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            shell=True,
            cwd=self.repository_path,
        )

        proc.communicate()

        self.assertEqual(proc.returncode, 0)

        # Creating a new experiment

        # Changing the requirements.
        proc = subprocess.Popen(
            ["pip install minimal", ],
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            shell=True,
            cwd=self.repository_path,
        )

        o, _ = proc.communicate()

        self.assertEqual(proc.returncode, 0)

        b, b_hash = is_new_requirements()

        self.assertTrue(b)

        # Add code
        with open(os.path.join(self.repository_path, "src/experiment.py"), "w+") as f:
            f.write("print('Hello world')")

        self.assertTrue(is_new_code())

        # Add dataset
        with open(os.path.join(self.repository_path, "dataset.txt"), "w+") as tmp_file:
            tmp_file.write("Your dataset text goes here")

        proc = subprocess.Popen(
            [f"au --verbose data add dataset.txt", ],
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            shell=True,
            cwd=self.repository_path,
        )

        out, err = proc.communicate()
        if proc.returncode != 0:
            raise Exception(f"Failed: {err}")

        Theorem().requirements_did_change(b_hash)

        self.experiment_id = Theorem().experiment_id

        self.assertTrue(end_experiment())