Comments (5)
I'm okay with b342b1b, but please use _getenv_s or _dupenv_s (I would probably use the former with a small stack based buffer, but whatever) to avoid that CRT warning.
I guess it would be possible to use SetConsoleTextAttribute to set colors on Windows, but TBH I'm not sure it's worth it. I don't think anyone takes the default command prompt seriously, and if conemu supports colors that's good enough for me.
from munit.
SetConsoleTextAttribute
wouldn't work for people who are using --color always
but redirecting the output (like we do to colorize AppVeyor's output), so it's probably better to avoid that.
Also, since you only want to check that ANSICON != NULL, you don't even need a buffer. Something like this should work:
if (isatty(fileno(stream))) {
size_t ansicon_size;
getenv_s(&ansicon_size, NULL, 0, "ANSICON");
return ansicon_size != 0;
}
return false;
from munit.
I've updated the branch, but getenv_s
is an extension to C11, so now some of the GCC builds break.
Quite oddly, only the mingw builds appear to break.
from munit.
Only mingw breaks because the getenv call is in guarded by an #if defined(_WIN32)
. I think everywhere else it's probably okay to assume that ttys support color. AFAIK Windows is the only platform which implements Annex K, but they're also the only ones who complain about getenv…
I pushed a fix which will just call the standard getenv on mingw, getenv_s on non-mingw windows, and still just use isatty everywhere else.
from munit.
Ah, of course -- thanks.
from munit.
Related Issues (20)
- PGCC Travis job fails: "make: pgcc: Command not found"
- Support for Apple M1 chipset HOT 1
- munit_assert_double_equal doesn't care about scale of the values
- Add CMake module for automatically discovering test cases from a CMake target
- First time compilation error HOT 2
- `Unresolved symbol clock_gettime` with MinGW 8.1 x64 (win32 threads)
- gcc-11 and "declared with mismatched bound" warnings HOT 3
- Paramatised tests but not every combination HOT 2
- Number of iterations of chained suites not used. HOT 1
- Lack of consistent releasing / Versioning
- Iterate all children test suites
- Test results to XML HOT 2
- MunitParameterEnum with NULL value at the beginning leads to segfault
- Debugging with munit and visual studio code HOT 6
- Document how to set up test directory with subfolders HOT 1
- Segmentation fault with nested suites HOT 2
- macOS on Intel: floating point exception in munit_rand_int_range(), but only inside a test HOT 2
- Please tag a new release HOT 6
- Compilation fails on TCC
- Linking fails on PCC
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 munit.