Comments (3)
Hola! Cómo va? Ví tu issue y se me ocurrio una forma de implementar esto que mencionás y desarrollé una solución en un fork, si te parece, fijate si es en lo que estabas pensando :)
Mi idea fue crear una variable de tipo t_temporal
que maneje milisegundos, sobre esa variable es posible obtener el tiempo desde que fué inicializada, calcular la diferencia con una variable del mismo tipo, poder pausarla y reanudarla cuando uno quiera.
saludos!
from so-commons-library.
¡Buenas @julian-salinas!
Genioo 🎉, mandanos un Pull Request y cuando tenga un ratito te hago code review 😉
También si podés subir un par de tests a tests/integration-tests con casos de uso simulados con sleep
s a modo de ejemplo sería un golazo, se me ocurre algo tipo:
void test_temporal_gettime() {
t_temporal *temporal = temporal_create();
sleep(2);
printf("test_temporal_gettime: %ldms (expected: ~2000ms)\n", temporal_gettime(temporal));
temporal_destroy(temporal);
}
void test_temporal_stop() {
t_temporal *temporal = temporal_create();
sleep(1);
temporal_stop(temporal);
sleep(2);
printf("test_temporal_stop: %ldms (expected: ~1000ms)\n", temporal_gettime(temporal));
temporal_destroy(temporal);
}
void test_temporal_resume() {
// detendría y reiniciaría el temporal un par de veces
}
void test_temporal_diff() {
// crearía 2 temporal, los detendría en distintos momentos y los compararía
}
// algún otro caso de uso?
int main() {
test_temporal_gettime();
test_temporal_stop();
test_temporal_resume();
test_temporal_diff();
...
}
No los pondría en tests/unit-tests porque entiendo que es difícil hacerlo determinísitico, y si incluimos
sleeps
las pruebas tardarían bastante como para ser unitarias.
Abrazo
from so-commons-library.
Genial! Gracias Agus!
from so-commons-library.
Related Issues (20)
- Argumentos passthrough en funciones del tipo _iterator HOT 4
- Problema con funcion string_to_upper HOT 3
- Problema con config_set_value HOT 1
- Problema con el config_get_array_value HOT 3
- Funciones faltantes en colecciones HOT 2
- Algunos problemas que me surgieron con funciones de las congif.
- string_get_string_as_array tiene un comportamiento erróneo si no recibe una lista HOT 2
- list_sort se comporta extraño al ordenar mediante más de un comparador HOT 1
- Soportar un iterador externo de diccionarios
- Reemplazar un elemento de una lista por varios al iterarla con el iterador externo
- Bug en string split con separadores de mas de un caracter HOT 3
- verificación de creación del bitmap - filesystem
- Cambiar tipo de retorno de la funcion list_is_empty HOT 1
- Dockerfile not working
- Implementar un flatMap
- Cambiar el formato de la documentación HOT 2
- Documentar parámetros y retornos
- Agregar forma de copiar las keys de un diccionario HOT 1
- Posible memory leak en bitarray.c HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from so-commons-library.