Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reintroduce parallel exec 72658 #83

Closed
wants to merge 32 commits into from

Conversation

lhinderberger
Copy link

No description provided.

@lhinderberger lhinderberger force-pushed the reintroduce-parallel-exec-72658 branch 2 times, most recently from c71b529 to d4bbb2b Compare June 7, 2024 07:17
Lucas Hinderberger added 5 commits June 7, 2024 09:59
With the new, simplified path syntax, we can replace the old path_utils
with a simpler, more efficient new version.
Parallel Execution is re-introduced, but in a much simplified version.
p@foo.json / pN@foo.json notation is gone, replaced by N@foo.json.

When including a file with N@foo.json, its tests are still run serially,
but the entire file is run in N parallel goroutines.
@lhinderberger lhinderberger force-pushed the reintroduce-parallel-exec-72658 branch from fdfdc46 to 261cde5 Compare June 7, 2024 08:00
@lhinderberger lhinderberger marked this pull request as ready for review June 7, 2024 08:11
api_testsuite.go Outdated Show resolved Hide resolved
api_testsuite.go Outdated Show resolved Hide resolved
api_testsuite.go Outdated Show resolved Hide resolved
api_testsuite.go Outdated Show resolved Hide resolved
api_testsuite.go Outdated Show resolved Hide resolved
pkg/lib/util/path_util.go Outdated Show resolved Hide resolved
pkg/lib/util/path_util.go Outdated Show resolved Hide resolved
pkg/lib/util/path_util.go Outdated Show resolved Hide resolved
@lhinderberger lhinderberger requested a review from martinrode June 7, 2024 10:31
api_testsuite.go Outdated Show resolved Hide resolved
pkg/lib/util/path_util.go Outdated Show resolved Hide resolved
@lhinderberger lhinderberger requested a review from martinrode June 7, 2024 15:00
// pN@ -> N parallel repetitions of tests
_, path = GetParallelPathSpec(path)
pathSpec, err := ParsePathSpec(path)
if err == nil {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wir sollten den Error hier in "_" capturen und einen Comment reinschreiben dass, wenn die path spec falsch ist das schon vorher abgefangen wird.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wieso nicht als Rückfallebene drin lassen, falls weiter vorne mal nicht oder nicht richtig validiert wird?

Copy link
Author

@lhinderberger lhinderberger Jun 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mal davon abgesehen kann es sich bei der Eingabe ja auch um eine http-URL handeln. Das ist dann ohnehin nichts, was bei ParsePathSpec fehlerfrei durchgehen würde.

Copy link
Author

@lhinderberger lhinderberger Jun 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Korrigiere, in der aktuellen Fassung würde es durchgehen.

Copy link
Author

@lhinderberger lhinderberger Jun 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...außer es ist eine URL mit eingebauten Basic-Credentials (also sowas wie http://foo:bar@example.com/some/protected/resource) - denn dann würde es an strconv.Atoi scheitern

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ach können wir da eine URL verwenden? dann ist ParseSpec doch eh noch kaputt, weil eine URL mit creds als error verstanden wird oder? Der Punkt mit dem "err" zu "" ist, dass das "weiter oben" doch auf jeden Fall reported wird, deshalb sollte es hier nur ein "" sein (mit comment)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich muss mich hier korrigieren: Die PathSpec ist natürlich nicht dafür gedacht, URLs zu beinhalten. Das musste ich gerade auf die harte Tour lernen, nachdem ich das dahingehend umgebaut habe (URLs in die PathSpec mit reingenommen, OpenFileOrUrl so umgebaut, dass es nur noch PathSpec entgegennimmt, rufende Funktionen nachgezogen), und dann feststellen musste dass die Tests fehlschlagen, weil ich hier zwei verschiedene Konzepte gedanklich vermischt habe: @-Notation und Einbindung beliebiger Dateien per Filename oder URL. Ich werde es jetzt genau so machen, wie du es in deinem ersten Kommentar vorgeschlagen hast.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich sehe gerade, dass ein Capture in "_" nicht möglich ist, weil wir ja wissen müssen, ob es sich bei path um eine "@"-Notation PathSpec handelt (statt um einen "gewöhnlichen" Pfad). Ich habe aber einen erklärenden Kommentar ergänzt. Wir sollten uns außerdem Überlegen, ob wir PathSpec nicht vllt. umbenennen wollen um klar zu machen, dass es mit der "@"-Notation zu tun hat. Vllt. AtNotationPath?

pkg/lib/util/path_util.go Outdated Show resolved Hide resolved
@lhinderberger lhinderberger requested a review from martinrode June 18, 2024 12:29
Copy link
Contributor

@martinrode martinrode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duch den Closer sind soviele Änderungen, ich schaue weiter, wenn wir da einen ReadCloser haben

pkg/lib/api/build_policies.go Outdated Show resolved Hide resolved
pkg/lib/api/build_policies_test.go Outdated Show resolved Hide resolved
pkg/lib/api/build_policies.go Outdated Show resolved Hide resolved
By instruction of Martin, I removed Closer from build_policies and added
warning comments to the code instead.
@martinrode martinrode closed this Jun 19, 2024
@martinrode martinrode deleted the reintroduce-parallel-exec-72658 branch June 19, 2024 10:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants