{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1234714,"defaultBranch":"main","name":"elixir","ownerLogin":"elixir-lang","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-01-09T08:43:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1481354?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717155564.0","currentOid":""},"activityList":{"items":[{"before":"60f6515c24944548674228043621a44ee97ce881","after":"478256b59e40e48ff4d5aaa8e23deaafd1c98667","ref":"refs/heads/main","pushedAt":"2024-06-01T15:58:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Avoid discarding information on conversion to #elixir_ex","shortMessageHtmlLink":"Avoid discarding information on conversion to #elixir_ex"}},{"before":"53c93b91dab433f021a9add2eeb0973a13ab2ee0","after":"db89cbf7e6695797cb6403a07f197afc3953fddc","ref":"refs/heads/v1.17","pushedAt":"2024-06-01T15:57:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Avoid discarding information on conversion to #elixir_ex","shortMessageHtmlLink":"Avoid discarding information on conversion to #elixir_ex"}},{"before":"a7bf1207567e02b2cb8191c9b79528fddd2404cf","after":"53c93b91dab433f021a9add2eeb0973a13ab2ee0","ref":"refs/heads/v1.17","pushedAt":"2024-06-01T15:09:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Avoid nesting of capture inside macros\n\nUnfortunately this makes it so the unused capture\nwarnings emit false positives, so this particular\nwarning was removed.\n\nCloses #13609.","shortMessageHtmlLink":"Avoid nesting of capture inside macros"}},{"before":"7de811cfd5b59bf2c54a2e6c449c3719cd30efe6","after":"60f6515c24944548674228043621a44ee97ce881","ref":"refs/heads/main","pushedAt":"2024-06-01T15:09:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Avoid nesting of capture inside macros\n\nUnfortunately this makes it so the unused capture\nwarnings emit false positives, so this particular\nwarning was removed.\n\nCloses #13609.","shortMessageHtmlLink":"Avoid nesting of capture inside macros"}},{"before":"9620a975850aae800728e962b8a7ce0d193cf5e9","after":"c16befc12ca4ada8635f4f49c2baa448d56275d7","ref":"refs/heads/jv-optimize-term","pushedAt":"2024-05-31T20:39:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"More optimizations","shortMessageHtmlLink":"More optimizations"}},{"before":"b56a907297b215143972a07cd103d3ae84b5e124","after":"a7bf1207567e02b2cb8191c9b79528fddd2404cf","ref":"refs/heads/v1.17","pushedAt":"2024-05-31T20:37:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Fix race in registry tests from duplicate names","shortMessageHtmlLink":"Fix race in registry tests from duplicate names"}},{"before":"ff26a8fac61e24154876a75e21917cf5a47a93b7","after":"7de811cfd5b59bf2c54a2e6c449c3719cd30efe6","ref":"refs/heads/main","pushedAt":"2024-05-31T20:37:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Fix warnings and races in tests","shortMessageHtmlLink":"Fix warnings and races in tests"}},{"before":"25be7468fea3725afd96c90ff69f635453991e7a","after":"9620a975850aae800728e962b8a7ce0d193cf5e9","ref":"refs/heads/jv-optimize-term","pushedAt":"2024-05-31T20:16:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"More optimizations","shortMessageHtmlLink":"More optimizations"}},{"before":"18543975a7ff2415afd8f410ef3cffbe4970ac63","after":"25be7468fea3725afd96c90ff69f635453991e7a","ref":"refs/heads/jv-optimize-term","pushedAt":"2024-05-31T19:54:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Fix fun_fetch","shortMessageHtmlLink":"Fix fun_fetch"}},{"before":"ef14f2b6378931475d58bc84c744cff4eb3f31a4","after":"18543975a7ff2415afd8f410ef3cffbe4970ac63","ref":"refs/heads/jv-optimize-term","pushedAt":"2024-05-31T19:47:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":"b19a147a9e99e9e74a1277bc3db61a726c3cfbd3","after":"ef14f2b6378931475d58bc84c744cff4eb3f31a4","ref":"refs/heads/jv-optimize-term","pushedAt":"2024-05-31T19:23:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":"0c21ed828253abdf75f7a45a475fab605ff61278","after":"b19a147a9e99e9e74a1277bc3db61a726c3cfbd3","ref":"refs/heads/jv-optimize-term","pushedAt":"2024-05-31T19:14:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"WIP","shortMessageHtmlLink":"WIP"}},{"before":null,"after":"0c21ed828253abdf75f7a45a475fab605ff61278","ref":"refs/heads/jv-optimize-term","pushedAt":"2024-05-31T11:39:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Optimize term","shortMessageHtmlLink":"Optimize term"}},{"before":"b56ed82fe373cf466c71ae8b879bbda4e6d8a611","after":"ff26a8fac61e24154876a75e21917cf5a47a93b7","ref":"refs/heads/main","pushedAt":"2024-05-30T19:07:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Deprecate Module.eval_quoted in favor of Code.eval_quote","shortMessageHtmlLink":"Deprecate Module.eval_quoted in favor of Code.eval_quote"}},{"before":"c7dfc33705daba91be491cdb13adb2d733d4decd","after":"b56a907297b215143972a07cd103d3ae84b5e124","ref":"refs/heads/v1.17","pushedAt":"2024-05-30T18:37:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Type check the function type on fun.()","shortMessageHtmlLink":"Type check the function type on fun.()"}},{"before":"ed67d6be18988cecd1d95cefd68047691add3e28","after":"b56ed82fe373cf466c71ae8b879bbda4e6d8a611","ref":"refs/heads/main","pushedAt":"2024-05-30T18:37:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Type check the function type on fun.()","shortMessageHtmlLink":"Type check the function type on fun.()"}},{"before":"91feadd479c07d2878ad667fcc91717470a2349f","after":"ed67d6be18988cecd1d95cefd68047691add3e28","ref":"refs/heads/main","pushedAt":"2024-05-30T09:02:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"implement dbg for code blocks (#13619)","shortMessageHtmlLink":"implement dbg for code blocks (#13619)"}},{"before":"c2c4cade84e5fa7bea99e40e86359dedf068c0a7","after":"91feadd479c07d2878ad667fcc91717470a2349f","ref":"refs/heads/main","pushedAt":"2024-05-30T06:46:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sabiwara","name":"Jean Klingler","path":"/sabiwara","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11598866?s=80&v=4"},"commit":{"message":"Implement dbg for unless/2 expressions (#13620)","shortMessageHtmlLink":"Implement dbg for unless/2 expressions (#13620)"}},{"before":"8dabe6303043998c9a1f447668501d5336ad27e7","after":"c2c4cade84e5fa7bea99e40e86359dedf068c0a7","ref":"refs/heads/main","pushedAt":"2024-05-30T06:46:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sabiwara","name":"Jean Klingler","path":"/sabiwara","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11598866?s=80&v=4"},"commit":{"message":"Replace statement -> expression when relevant (#13621)","shortMessageHtmlLink":"Replace statement -> expression when relevant (#13621)"}},{"before":"b665ddd6db823bf24ec039087fdda8367ba27b58","after":"8dabe6303043998c9a1f447668501d5336ad27e7","ref":"refs/heads/main","pushedAt":"2024-05-29T20:22:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Reorganize testing structure","shortMessageHtmlLink":"Reorganize testing structure"}},{"before":"57340910993c2a6a33003e21a395a9140aa78660","after":null,"ref":"refs/heads/jv-parameterized-tests","pushedAt":"2024-05-29T13:44:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"}},{"before":"a7cd3647e89984316c4cfb09a3672fdde1919192","after":"b665ddd6db823bf24ec039087fdda8367ba27b58","ref":"refs/heads/main","pushedAt":"2024-05-29T13:44:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Add parameterized tests (#13618)\n\nSometimes you want to run the same tests but with different parameters.\r\nIn ExUnit, it is possible to do so by passing a `:parameterize` key to\r\n`ExUnit.Case`. The value must be a list of maps which will be the\r\nparameters merged into the test context.\r\n\r\nFor example, Elixir has a module called `Registry`, which can have type\r\n`:unique` or `:duplicate`, and can control its concurrency factor using\r\nthe `:partitions` option. If you have a number of tests that *behave the\r\nsame* across all of those values, you can parameterize those tests with:\r\n\r\n use ExUnit.Case,\r\n async: true,\r\n parameterize:\r\n for(kind <- [:unique, :duplicate],\r\n partitions <- [1, 8],\r\n do: %{kind: kind, partitions: partitions})\r\n\r\nThen, in your tests, you can access the parameters as part of the context:\r\n\r\n test \"starts a registry\", %{kind: kind, partitions: partitions} do\r\n ...\r\n end\r\n\r\nUse parameterized tests with care:\r\n\r\n * Although parameterized tests run concurrently when `async: true` is also given,\r\n abuse of parameterized tests may make your test suite slower\r\n\r\n * If you use parameterized tests and then find yourself adding conditionals\r\n in your tests to deal with different parameters, then parameterized tests\r\n may be the wrong solution to your problem. Consider creating separated\r\n tests and sharing logic between them using regular functions","shortMessageHtmlLink":"Add parameterized tests (#13618)"}},{"before":"f1f1baf218a6b1e0a52e31d80cd1944978e94d67","after":"57340910993c2a6a33003e21a395a9140aa78660","ref":"refs/heads/jv-parameterized-tests","pushedAt":"2024-05-29T11:31:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"More validations","shortMessageHtmlLink":"More validations"}},{"before":"5a82fc38b330765294e8eee1d61fd4641e65ebac","after":"f1f1baf218a6b1e0a52e31d80cd1944978e94d67","ref":"refs/heads/jv-parameterized-tests","pushedAt":"2024-05-29T10:46:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Update lib/ex_unit/lib/ex_unit/case.ex","shortMessageHtmlLink":"Update lib/ex_unit/lib/ex_unit/case.ex"}},{"before":"c4556ef9d5c05874a5e216ff27939d89bca86a5b","after":"5a82fc38b330765294e8eee1d61fd4641e65ebac","ref":"refs/heads/jv-parameterized-tests","pushedAt":"2024-05-29T10:46:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Warn on unknown options","shortMessageHtmlLink":"Warn on unknown options"}},{"before":"65cd462081b6f2722407d282641c022bf1fc23cd","after":"c4556ef9d5c05874a5e216ff27939d89bca86a5b","ref":"refs/heads/jv-parameterized-tests","pushedAt":"2024-05-29T10:31:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Make parameterized tests concurrent","shortMessageHtmlLink":"Make parameterized tests concurrent"}},{"before":"1b7a7341e1a8385ea5e29b159c1102e64fc00ddb","after":"a7cd3647e89984316c4cfb09a3672fdde1919192","ref":"refs/heads/main","pushedAt":"2024-05-29T09:23:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Port custom exceptions to ArgumentError\n\nThose exceptions are not meant to be rescued,\nso there is no benefit into providing a custom\nmodule for them.","shortMessageHtmlLink":"Port custom exceptions to ArgumentError"}},{"before":"b0415566d82c7d67193c701c7c1966fa19eea23d","after":"65cd462081b6f2722407d282641c022bf1fc23cd","ref":"refs/heads/jv-parameterized-tests","pushedAt":"2024-05-29T09:21:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Update lib/ex_unit/lib/ex_unit/case.ex","shortMessageHtmlLink":"Update lib/ex_unit/lib/ex_unit/case.ex"}},{"before":"d91f6b75de15c0bb113c8eb01769d294eed198b6","after":"b0415566d82c7d67193c701c7c1966fa19eea23d","ref":"refs/heads/jv-parameterized-tests","pushedAt":"2024-05-29T09:20:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Apply suggestions from code review\n\nCo-authored-by: Andrea Leopardi ","shortMessageHtmlLink":"Apply suggestions from code review"}},{"before":"732cfe90328234e9db860004412f2d79fa5991ff","after":"d91f6b75de15c0bb113c8eb01769d294eed198b6","ref":"refs/heads/jv-parameterized-tests","pushedAt":"2024-05-29T08:53:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"josevalim","name":"José Valim","path":"/josevalim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9582?s=80&v=4"},"commit":{"message":"Add parameterized tests\n\nSometimes you want to run the same tests but with different parameters.\nIn ExUnit, it is possible to do by returning a `:parameterize` key in\nyour `setup_all` context. The value must be a list of maps which will be\nthe parameters merged into the test context.\n\nFor example, Elixir has a module called `Registry`, which can have type\n`:unique` or `:duplicate`, and can control its concurrency factor using\nthe `:partitions` option. If you have a number of tests that *behave the\nsame* across all of those values, I can parameterize those tests with:\n\n setup_all do\n parameters =\n for kind <- [:unique, :duplicate],\n partitions <- [1, 8],\n do: %{kind: kind, partitions: partitions}\n\n [parameterize: parameters]\n end\n\nLook at the changes to registry_test.exs in this pull request as an\nexample. As a benefit, tests now run faster too, as there is less code\nto compile.\n\nUse parameterized tests with care:\n\n* Abuse of parameterized tests may make your test suite considerably slower\n\n* If you use parameterized tests and then find yourself adding conditionals\n in your tests to deal with different parameters, then parameterized tests\n may be the wrong solution to your problem. Consider creating separated\n tests and sharing logic between them using regular functions","shortMessageHtmlLink":"Add parameterized tests"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWcsfAQA","startCursor":null,"endCursor":null}},"title":"Activity · elixir-lang/elixir"}